集群上并行测试OpenFOAM,并行效率并没有比单节点提升
-
@sjlouie91 在 集群上并行测试OpenFOAM,并行效率并没有比单节点提升 中说:
-genv FI_PROVIDER mlx
这个参数我没用过。像 @lzf 说的,你可以试下
dapl
,像 @xpqiu 说的,你可以试下把-genv FI_PROVIDER tcp
去掉。但是有的 mpi 它的 FI_PROVIDER 的默认值是 PSM2,这样的话如果不加参数,单节点并行也无法跑,加上 -genv FI_PROVIDER tcp 或者 -genv FI_PROVIDER shm 就可以正常跑了
还有这样的mpi
-
@李东岳 在 集群上并行测试OpenFOAM,并行效率并没有比单节点提升 中说:
估计他就是双倍来了
那就是相对速度了,自己跟自己比
@sjlouie91 这个:https://www.top500.org/project/linpack/ 专门测超算性能的。但是流体计算的效率,影响因素太多。用李老师网站上大家都用的算例比对更容易找着对比点。
还有一个方法,开始计算后观察系统各项指标,看看哪个满负荷,哪个就是瓶颈。https://github.com/cjbassi/gotop 这个是终端界面的系统监视器。看看运行算例的时候是 CPU ,还是硬盘读写,还是网络通信,还是内存是爆满的。可以对比 fluent 运行的时候的不同。找到瓶颈后再排查比较有目标。
-
@李东岳
应该走的是infiniband,我还试过更改-genv I_MPI_FABRICS shm:ofi
为shm:dapl
,但是提示只有shm:ofi
和ofi
两种。
此外,除了一个节点使用32核心,我还测试过1个节点使用48和56核心,我发现不知道有没有可能是计算瓶颈的问题,我只要是用到240核上,每步计算的时长就没法再减小了。1节点64核100步,总共1851s 2节点128核100步,总共928s 3节点196核100步,总共553s 4节点256核100步,总共505s 5节点320核100步,总共557s 1节点32核100步,总共5946s 2节点64核100步,总共1863s 3节点96核100步,总共1163s 4节点128核100步,总共836s 5节点160核100步,总共616s 5节点240核100步,总共526s 5节点280核100步,总共567s
请问李老师你们测试采用的算例是什么?
-
下面是你的数据:
5节点160核100步,总共616s 5节点240核100步,总共526s 5节点280核100步,总共567s 5节点320核100步,总共557s
怎么有个波动在里面。
@sjlouie91 就是我那个200万网格那个。后来加密到3000多万。我们团队那个老师最近组织博士生考试,没时间测。下一步测试要4月初了...
我猜测也有可能跟算例相关,你可以跑一下摩托车那个算例。simpleFoam里面motorbike那个,你把网格相关量调成4000万网格的算例。直接测试
5节点160核 5节点240核 5节点280核 5节点320核
我们下一步也要换成motorbike这个算例。我们他们外国人用这个比较多。
-
@sjlouie91
硬盘的读写只有刚开始和写结果的时候进行,迭代过程是不做硬盘读写的,除非频繁大量进行结果的存储,不然一般硬盘不太影响计算性能,更多受CPU的cache和内存影响。
至于GAMG的参数,我选择抄
PETSc4FOAM: a library to plug-in PETSc into the OpenFOAM framework
里面提到的。 -
@李东岳 在 集群上并行测试OpenFOAM,并行效率并没有比单节点提升 中说:
-genv FI_PROVIDER tcp
你这个去掉不能跑的话。你如何确定走的是infiniband,而不是以太网模式。我们这面跑openfoam不需要这个参数。我们之前测试也出现过你这种情况。后来我们换交换机硬件了。但目前我还不确定现在我们这5节点能到什么样,得下周能出个测试结果。另外,openfoam离散设置差异(比如GAMG那个),我个人感觉不会引起特别大的差异。不过你可以实测看看,我也不100%确定@xpqiu 这位大佬之前好像测试过2048个核心
老师,想问一下,用openmpi在自己组里面的集群上用pbs跨节点并行(10g以太网交换机)命令用的mpirun --mca btl_tcp_if_include <ip地址> -np reactingTwoPhaseEulerFoam -parallel,运行的时候发现计算的节点上cpu的用户进程占比us只有50-60%,系统进程占比sy有40-50%,这个问题有没有什么好的解决办法?
-
@李东岳 李老师,我们组集群是新买的,应该不太可能是被黑了,除非是大厂他们给加了限制。现在我导给换了100G的IB交换机,就是运行案例的时候,它虽然显示是在run的,但是log文件里面没有实际的计算结果。我看了调度系统的日志说是:
Open MPI accepted a TCP connection from what appears to be an another Open MPI process but cannot find a corresponding process entry for that peer.
暂时还在寻找原因。