I'm trying to run a multi-node job but I want to map all of the processes to cores on socket #0 only.
I'm having a hard time figuring out how to do this, the obvious combinations

   mpirun -n  8 -npernode 4 -report-bindings ...
   mpirun -n  8 -npernode 4 --map-by core -report-bindings ...
   mpirun -n  8 -npernode 4 -cpu-set S0 -report-bindings ...
   mpirun -n  8 --map-by ppr:4:node,ppr:4:socket -report-bindings ...
   mpirun -n  8 -npernode 4 -bind-to slot=0:0,2,4,6 -report-bindings ...
   mpirun -n  8 -npernode 4 -bind-to slot=0:0,0:2,0:4,0:6
   -report-bindings ...
   mpirun -n  8 -npernode 4 --map-by core:PE=2 -bind-to core
   -report-bindings ...

all are reported as having conflicting resource requirements.
Is there a way to specify this on the command-line?

I've looked at the docs on hostfiles & rankfiles, and it looks like they require me to hard-code the names of all the nodes I'm using. To me, this doesn't make sense on modern clusters, why don't they just associate an index with each assigned node?
That way the mapping files would be agnostic of the actual node names.
Thanks,

                    Carl


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

Reply via email to