yejet 发表于 2006-8-19 10:32

ABAQUS多处理器进行并行计算的效果研究

环境:
ABAQUS6.3+8 IntelXeon 700MHz CPU+4G Ram+Win2k AdvServer SP3

在命令行模式下,abaqus命令的下面三个参数进行并行计算的控制:




ABAQUS/Explicit:
parallel参数可选domain,loop
domain进行拓扑域并行,loop进行循环级并行(默认)
但在NT系统下,不支持loop参数
cpus数要可以整除domains数,也就是一个cpu可以进行多个domain的计算

以Getting Started with ABAQUS/Explicit
6.5Example: circuit board drop test
circuit.inp分析为例(standard_memory = "256 Mb")

1cpu:
abaqus job=circuit int
cup利用率100%,运行时间506s
2cpu:
abaqus job=circuit parallel=domain domains=4 cpus=2 int
每个cup利用率接近100%,运行时间402s
4cpu:
abaqus job=circuit parallel=domain domains=4 cpus=4 int
每个cup利用率为80%左右,运行时间297s
8cpu:
abaqus job=circuit parallel=domain domains=8 cpus=8 int
每个cup利用率为40%左右,运行时间364s

ABAQUS/Standard:
parallel参数可选supernode,tree
supernode(默认)对单波前进行并行处理,tree对多波前同时进行并行处理
domains参数无效
对于线性方程并有稀疏刚度矩阵的模型并行计算有效

以ABAQUS Release Notes
2.7Parallel sparse solver
t1-std.inp分析为例(standard_memory = "1000 Mb")

1cpu:
abaqus j=t1-std int
cup利用率为70%左右,运行时间390s
4cpu (supernode):
abaqus j=t1-std parallel=supernode cpus=4 int
所有系统cpu均被使用,每个cpu利用率运行过程中不断大幅变化,运行时间454s
4cpu (tree):
abaqus j=t1-std parallel=tree cpus=4 int
所有系统cpu均被使用,每个cpu利用率运行过程中不断大幅变化,运行时间352s
8cpu (supernode):
abaqus j=t1-std parallel=supernode cpus=8 int
每个cpu利用率接近100%,运行40多分钟后还无法结束
8cpu (tree):
abaqus j=t1-std parallel=tree cpus=8 int
每个cpu利用率接近90%,运行时间545s

结论:
多CPU并行处理对Explicit效果显著,对Standard在很多情况下效果不明显,甚至可能
使运算更慢,只使用Standard的同学基本可以不用考虑买多cpu的机器

来自:likuiming收集的资料
页: [1]
查看完整版本: ABAQUS多处理器进行并行计算的效果研究