mpiexec and tm fundamentals
Joshua Bernstein
jbernstein at penguincomputing.com
Wed Oct 3 18:30:59 EDT 2007
Hello,
Forgive me if I'm asking for a bit of a review, but I'm looking for a
bit of clarification as to what happens when mpiexec is used versus
saying launching an MPICH program from the command line.
It is my understanding that mpiexec uses the tm PBS interface to "start
a job on the remote node". From what I gather, mpiexec calls tm_event
that is a message sent out to each mom that says "start this jobs". The
pbs_mom, then simply forks the process on the remote node.
The next step would be in setting up the MPI communication. How does
the process forked by pbs_mom then know it should be apart of a MPI ring
and not just a single-threaded instance of itself. Are the envars
injected into the process' environment sufficient to tell MPI library to
create the ring?
Ultimately, I'm wondering how a process that is NOT started using
something like "mpirun", (and instead started by pbs_mom) know how to go
about creating an MPI ring with other proceeses started by the other
pbs_moms.
Any insight would greatly help debug a rather special case situation.
-Joshua Bernstein
Software Engineer
Penguin Computing
More information about the mpiexec
mailing list