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作用明显
小结如下:
