• 0 赞同
    4 帖子
    2k 浏览

    我试过用双路EPYC 7742在Windows Server系统下面跑ANSYS Fluent,出现过同样的问题。本质上就是现在双CPU一般都是两个NUMA节点(开了超线程的话Windows任务管理器会显示成4个),每个NUMA节点对应你的一半内存,当你NUMA0节点的CPU想访问NUMA1节点对应的内存,就需要先通信NUMA1节点的CPU。而当你的MPI不支持跨NUMA通信时,你的数据在哪一侧的内存里,哪一侧的CPU才会运行,就会出现双路只能跑一路的情况。当然我不太熟悉计算机的底层知识,这些言论可能不太严谨。
    解决这个问题的方法很简单,用支持NUMA通信的MPI协议就行。默认的ibmmpi和msmpi都不行,换成intelmpi就可以。