Some comments on MPI_Spawn_multiple:
1) obvious typo in the binding for MPI_SPAWN_MULTIPLE, it said MPI_Spawn.
2) MPI_SPAWN_MULTIPLE as defined cannot be a natural extend of MPI_Spawn.
Given min_procs and maxprocs, the spawned "process" has no idea of
how many nodes the program is running on, and what rank it is inside
the comm group.
3) The advice to users is misleading. Since MPI_Spawn_multiple puts
everybody in onw MPI_COMM_WORLD, it is different from calling MPI_spawn
multiple times. This should be spelled out.
4) If we go back to the old definition, without the min and max, there
is still no way for the program spawned to know what is the size of
the program. It only know the size of all the programs together since
there is only one MPI_COMM_WORLD. Some outside help will be needed.
One way is to pass these infomation back in argv when the program calls
MPI_init. For whatever machanism choose, that need to be defined.
Sorry for waiting till the last minute to bring this up.