On Apr 12, 2010, at 8:42 AM, Eugene Loh wrote:

> 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?
>> 
> From the onset of the -bind-to-X functionality, -bind-to-board -byboard for a 
> single-board system would result in binding to everything|nothing -- is the 
> glass completely full or completely empty?  In any case, no error.

Only because we haven't really implemented bind-to-board yet - once we do 
(should that happen), then it would indeed generate an error.

> 
> Consider a single-board, two-socket, quad-core node and these command lines 
> with 1.3.4r22104:
> 
> % mpirun -H mynode -n 1 -bycore   -bind-to-core   -report-bindings ./a.out
> % mpirun -H mynode -n 1 -bysocket -bind-to-socket -report-bindings ./a.out
> % mpirun -H mynode -n 1 -byboard  -bind-to-board  -report-bindings ./a.out
> 
> The first binds to "cpus 0001", the second to "socket 0 cpus 000f", and the 
> third reports no bindings ("bind to everything") and no errors.
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


Reply via email to