Ralph Castain wrote:
If someone tells us -bind-to-socket, but there is only one socket, then we
really cannot bind them to anything. Any check by their code would reveal that
they had not, in fact, been bound - raising questions as to whether or not OMPI
is performing the request. Our operating standard has been to error out if the
user specifies something we cannot do to avoid that kind of confusion. This is
what generated the code in the system today.
Now I can see an argument that -bind-to-socket with one socket maybe shouldn't
generate an error, but that decision then has to get reflected in other code
areas as well.
But first we need to resolve the question: should this scenario return an error
or not?
Okay, so my bind-to-board example didn't pass muster. How about this
one? This is a node with 8 cores: 0-7:
% mpirun -H mynode -n 1 -slot-list 0-7 -report-bindings hostname
[mynode:27978] [[17644,0],0] odls:default:fork binding child
[[17644,1],0] to slot_list 0-7
mynode
I bind to all cores. mpirun does not complain. Indeed, it reports that
I'm bound to all cores.