Executing hybrid OpenMP/MPI jobs in MPICH
I am struggling to find the proper way to execute a hybrid OpenMP/MPI job with MPICH (hydra). I am easily able to launch the processes and they do make threads, but they are stuck bound to the same core as their master thread whatever type of -bind-to I tried. If I explicitly set GOMP_CPU_AFFINITY to 0-15 I get all threads spread but only provided if I have 1 process per node. I don't want that, I want one process per socket. Setting OMP_PROC_BIND=false does not have a noticeable effect. An example of many different combinations I tried export OMP_NUM_THREADS=8 export OMP_PROC_BIND="false"