Fluent并行计算效率测试(是否开启超线程?)
大老寇
2024年05月25日 00:01

1、以下内容仅供参考

2、fluent仅学习使用

--------------------------------------------------------------------------------------------------------

如何能够最大程度的利用计算核心,提高计算效率,同时降低无用核时节省费用,是我们需要考虑的一个问题。

在一些教程中,提到过以下几个初步结论:

1、fluent solver processes设置里,如果数量超过物理核心,并不能提高速度,反而会降低速度,这一点ansys在知乎里也有说明 

2、网格数量与核心有一个对应关系,比如每个物理核心能处理多少数量网格,可以根据这个进行核心设置,如果核心数超过一定数值,则核心间通讯时间增加,计算时间反而下降

为了验证上面的两个结论,做了初步试验如下:

1、本次测试平台包含:

     a、12700 CPU  32G内存  12核20线程  主频3.6-4.8G

     b、至强8163 192G    24核48线程 主频2.5G

2、测试网格

   a、选用学习中使用的一个网格

b、网格数量 合计约27.4万

3、测试方法

时间步长0.001  计算10步  用系统自带定时器计时

4、12700测试结果

a、设置5核并行 计算时间 04:11 CPU占用率60%

b、设置6核并行 计算时间02:53  CPU占用率 78%

c、设置7核并行 计算时间 03:17 CPU占用率85%

d、设置10核并行 计算时间 02:53 CPU占用率100%

因为12700存在大小核,所以如何调度,以及如何影响计算效率不明,但基本可知:对于家用cpu,并不是选择的核数越多计算越快

---------------------------------------------------------------------------------------------------------------------

我们将重点放到超算上,因为超算的使用如何更高效更节约,是很重要的一点

计算中,分别连接不同节点数量的超算进行测试,单节点24核心48线程 内存192G

测试结果如下:

1、单节点 22核计算 (物理核心) 计算时间 01:28  

2、单节点 44线程计算 计算时间 01:04

这里和我们开篇的认知不一样,超过物理核心数的线程数仍能起到很大的加快计算作用

3、2个节点 44物理核心计算 计算时间01:04 

4、2个节点 88进程计算 计算时间00:53

这里可以看出,提高多核 同时采用超线程 仍然对计算有效

5、更改hostlist 手动分配核心数量 2个节点 44物理核心计算 计算时间00:56

6、更改hostlist 手动分配核心数量 2个节点 88线程计算 计算时间00:42

可以看出 更改hostlist有较大效率提高

7、三节点 132线程运行 计算时间00:30

小结:

1、超线程作用明显

2、多核作用明显,但有一个上限

3、自定义hostlist作用明显

小结如下: