使用 Intel-MPI,我可以将启动的 MPI 进程固定mpirun
到节点上的某个内核。以 24 核和 Intel-MPI 为例:
mpirun -np 12 -genv I_MPI_PIN_PROCESSOR_LIST=0-11 ./some.exe &
mpirun -np 12 -genv I_MPI_PIN_PROCESSOR_LIST=12-23 ./other.exe &
使用 OpenMPI 可以选择--bind-to
带有以下参数之一:none、hwthread、core、l1cache、l2cache、l3cache、socket、numa、board。
我注意到--bind-to socket
将进程 0 绑定到套接字 0 并将进程 1 绑定到套接字 1,依此类推。这很糟糕,因为为了在进程之间进行最佳通信some.exe
,所有进程都应该在一个套接字上,而other.exe
进程应该在另一个套接字上。
OpenMPI 中是否没有等效的引脚选项?