Josh Hursey jjhursey at open-mpi.org
Wed Feb 17 07:17:16 CST 2010

I have been talking with a couple application groups that are  
interested in using comm_spawn for dynamic resource management  
scenarios. MPI_UNIVERSE_SIZE (MPI 10.5.1) is a good starting place for  
them to portably find a soft limit on the number of processes that can  
be started within their allocation. However, they would also really  
like to know how many machines/nodes are in their allocation in an  
equally portable way (So they can try to create N procs per node, for  
example). Currently they do some preprocessing on the runtime  
environment variables to determine how many nodes are in the  
allocation. Since this is something the MPI implementation is already  
doing, I suggested that it might be possible to expose this in a  
portable way to the application through the MPI interface.

So I am proposing a MPI_UNIVERSE_NUM_NODES attribute to MPI_COMM_WORLD  
with similar wording as MPI_UNIVERSE_SIZE. This will let the  
application access the number of nodes in their allocation in a  
portable manner. As for on-node topologies (i.e., sockets, cores,  
etc.), there are other tools to help make that more portable (e.g.  

I am interested in what others think of the idea of introducing a  
MPI_UNIVERSE_NUM_NODES attribute to the standard.


More information about the mpiwg-ft mailing list