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
> [email protected]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel