现在使用混合MPI,我运行两个进程(每个套接字--bind-to socket --map-by socket一个进程,OMP_PROC_PLACES=cores和OMP_PROC_BIND=close每个线程在每个进程拥有的数组的96/12 x 192 x 192 = 8 x 192 x 192部分上工作。我使用线程执行相同的三重循环更新,但每个线程的时间大约为76秒。在这两个问题上,负载平衡都是完美的。性能下降的可能原因
我很难找到正确的方法来执行与MPICH (hydra)混合的OpenMP/MPI作业。我可以轻松地启动进程,它们确实可以创建线程,但是无论我尝试哪种类型的-bind-to,它们都被绑定到与它们的主线程相同的核心上。如果我显式地将GOMP_CPU_AFFINITY设置为0-15,那么所有线程都会被分散,但前提是每个节点都有一个进程。我不想那样,我要每个套接字一个进程。-bind-to numa ./a.out
我得到的</e