我正在使用NUMA计算节点,其中网络( Mellanox InfiniBand HCA )连接到第二个CPU插槽(和NUMA节点)。 是否有任何环境变量可以通过 MVAPICH2.2 将所有MPI进程简单地绑定到第二个CPU插槽?
MV2_CPU_BINDING_LEVEL=socket MV2_CPU_BINDING_POLICY=bunch
组合不起作用,因为它开始重新分组过程
在第一个CPU插槽上。
我通常最终会使用类似:
-genv MV2_CPU_MAPPING 10:11:12:13:14:15:16:17:18:19:30:31:32:33:34:35:36:37:38:39
(使用第二个10核CPU插槽的所有SMT),但这很丑陋,并且取决于核的数量。
答案 0 :(得分:0)
这不是环境变量,但是如果您能够在系统上修改/etc/default/grub
,则可以将包0上的内核与调度程序隔离。 10核(超线程)CPU的示例:
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT isolcpus=0-19"