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