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