让一台旧电脑焕发新生,跑跑OpenFOAM如何?

隔壁课题组一台旧电脑用了线程撕裂者3970X,主板是超星TRX40 PRO,是一块游戏主板,这套桌面配置用来算OpenFOAM,非常具有性价比,但是采购时内存价格在高位,4个通道8个插槽,只安装了一块2400 MHz 16G的内存,完全没能发挥4通道优势,目前,内存价格大幅回落,而且这张主板支持ECC UDIMM内存,但是不支持寄存器,也就是带reg的内存不能选购,考虑到目前的内存价格,打算完全换掉这块内存,换成4×3200MHz 16 GB ECC 内存。另外,这块主板有一个m2插槽闲置,只用了1个插槽安装了500GB固态硬盘,用做系统盘,OpenFOAM的运行目录是机械硬盘,打算再插一块4T的m2固态硬盘,OpenFOAM直接运行在固态硬盘上。

升级前,使用cfd-china的算例,测试性能,结果如下:

# cores   Wall time (s):
------------------------
32 826.11
16 825.78
8 585.12
4 714.25
2 842.14
1 1109.43Code language: CSS (css)

升级后,测试结果如下

# cores   Wall time (s):
------------------------
32 184
16 177
8 153
4 247Code language: PHP (php)

关闭超线程再测一次,结果如下

# cores   Wall time (s):
------------------------
32 198
30 176
16 176
8 153
4 247Code language: PHP (php)

可见,超线程对峰值计算性能没有影响,内存从单通道变成四通道后,计算时间只有原来的26%,也就是有接近4倍的性能提升。

作为对比,魔方Ⅲ超算单节点性能如下

上海超算魔方III集群score队列,该队列仅允许提交小于32核的作业,所以只测试到了16核。单节点配置如下:
CPU:Intel,Gold 6142 2.6GHz
单节点内存:192.0GB DDR4
网络:Omni-Path,100Gbps
存储:ParaStor,300 5800TB
操作系统:Linux
作业管理系统:LSF 10.1

测试结果如下:

# cores   Wall time (s):
------------------------
16 138.15
8 203.86
4 333.54
2 651.75
1 1300.79Code language: CSS (css)

同属AMD的 5600G 桌面处理器,搭载双通道内存,测试结果如下:
AMD Ryzen 5600G CPU,2x16GB 3200MHz内存
Windows 11 WSL2 with Ubuntu 20.04
OpenFOAM2112

# cores   Wall time (s):
4 416.83
2 488.85
1 1017.22Code language: CSS (css)

而经典的性价比配置,双路AMD 7302处理器在cfd-china上的最好记录是101s,16核;66 s,32核。再次证明,内存带宽一般是OpenFOAM计算性能的瓶颈。

常恭

作者: 常恭

略懂 OpenFOAM

发表评论