工作站并行问题
-
试着在组里的工作站运行了一下东岳老师之前发的,200万网格并行算力测试。CPU是AMD的 epyc 7742,按理说性能应该不至于这么差劲。64核128线程的计算跑了7分钟,设置成4核8线程跑出来是8分钟,感觉硬件完全没有被用起来,有没有大佬可以指导一下
-
按说不会把所有的核都用上,因为还要留几个核给系统自己用。你可以试试120核。
-
@bestucan 谢谢你的建议,不过我试了下感觉变化不大。以及我发现服务器的硬盘都是处在可弹出的状态,会不会是这个原因导致的速度很慢
-
这比较复杂了。一般系统会平衡CPU的负载,避免一核有难,多核观望的情况出现,所以算例实际调用的CPU资源和设置的核心数可能是不匹配的。另外,多核情况下,并行算法和分区规则对计算也是有影响的。
-
@firejet 建议看一下你的工作站内存条插了几条,内存条少了内存带宽不足会影响性能。理论上来说这个CPU可以有8通道,两个CPU可以插16根内存条,使内存带宽最大。
-
@firejet 一个CPU建议留几个核给系统,如果工作站是单CPU的话,可以试试关闭超线程,开60核或者56核。
-
@战气凌霄 只有单cpu,插了4根内存条,不过主板的bios好像没法关闭超线程
-
@firejet CFD计算一般只看物理核心数,所以工作站最多可以设置64核,一般则会设置少一点,比如60核/56核。4条内存应该也基本满足计算需求了。你的操作系统是什么系统?还有就是工作站上没有其他任务吧?要是有时间可以把fluent启动界面贴上来一块儿研究一下。
PS:我配置工作站的时候喜欢把内存通道配满,这样就不会因为内存带宽是瓶颈影响计算速度了。 -
@战气凌霄
这是启动界面的设置,然后并行那边都是选的default,不知道为什么算这么慢 -
可能是因为你用了 12G 的虚拟内存。
虚拟内存就是把硬盘当内存用,那是相当慢
按说系统内存126G应该够用了。可能是哪内存泄露了
-
@bestucan 感谢!感觉确实应该是这个问题,但是内存在计算过程中都没有拉满,为什么会用到虚拟内存呢
-
@bestucan 我这个使用的是双路CPU的主板,能插8条内存,但是只插了4条,如果内存插的位置不对是否会导致使用虚拟内存这个情况的发生呢
-
@firejet 按说不会在物理内存没用完的时候去用虚拟内存。
计算的时候
free -h
看看内存使用情况。如果确实物理内存没用完就用虚拟内存,就手动把虚拟内存关了
sudo swapoff -a
后面记得打开
sudo swapon -a
-
@bestucan 试过了还是没有效果,swap显示为0,memory available有110G。但是计算统计显示使用了41G的虚拟内存
-
@bestucan 之前以为是WINOS的问题,然后换成了centos重新试了一下,不过结果还是一样的慢,并且仍然没有使用物理内存。我用OpenFOAM也试了,OpenFOAM的结果倒是比较符合机器应该有的速度,所以我感觉可能还是我对ansys的某些设置有问题?
-
@firejet 冒昧的问一下,是不是license有问题?
https://forum.ansys.com/discussion/786/limitations-to-student-license -
@星星星星晴 应该不是这个问题,没有使用学生版的license
-
@firejet 补一下图