I'm using NUMA compute nodes where the network (Mellanox InfiniBand HCA) is connected to the second CPU socket (and NUMA node). Is there any environment variable to simply bind all MPI processes to the second CPU socket with MVAPICH2.2?
The MV2_CPU_BINDING_LEVEL=socket MV2_CPU_BINDING_POLICY=bunch
combination does not work since it starts regrouping processes
on the first CPU socket.
I usually end up using something like:
-genv MV2_CPU_MAPPING 10:11:12:13:14:15:16:17:18:19:30:31:32:33:34:35:36:37:38:39
(use all SMTs of the second 10-core CPU socket) but this is ugly and dependant on the amount of cores.