Hello All,
On Sat, 22 Jan 2005, Siva Bandhamravuri wrote:
> Hi,
> I was wondering if there are any issues in dynamic process creation with
> MPI_Comm_spawn under the openPBS scheduler.
> Is the MPI_Comm_spawn supported under openPBS. If yes, where are the newly
> created processes allocated. Because under openPBS, only a specific set of
> nodes is given to a MPI job during the job start where as we require the newly
> spawned processes to be allocated to a new node.
I should clarify my previous response. I was assuming that you did not
know the number of daughter processes to start a priori. If you DO KNOW
the number of daughters you will need before hand (say you'll need 16
total, but 8 to start), then you could submit a 16 processor job and use
"mpirun -np 8 n8-15 your_program" to start. This will create the first 8
instances on nodes 8 through 15. After this, you could use;
MPI_Comm_spawn("your_child_program", argv, 8, info, 0, MPI_COMM_WORLD,
child_comm, ierr);
to have rank 0 in MPI_COMM_WORLD start 8 instances of
"your_child_program", which will execute on nodes 0 through 7. It would
then be up to you to figure out how to split the work up amongst your
child programs, as each call to MPI_Comm_spawn starts new programs on n0
up.
BTW, if your parent program will be idle while the children run, then you
should just reuse the same nodes.
------------------------------------------------------------
Anthony Ciani (aciani1_at_[hidden])
Computational Condensed Matter Physics
Department of Physics, University of Illinois, Chicago
http://ciani.phy.uic.edu/~tony
------------------------------------------------------------
|