Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Global Communicator
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-02-06 17:46:10


On Feb 6, 2009, at 11:59 AM, McCalla, Mac wrote:

> Does the "default mpirun command" implementation match the build
> environment for quest_ompi.x ?
> ie., what mpi implementation (mpich, LAM/MPI, OPENMPI, or other) was
> quest_ompi.x compiled/linked with? and does that match the result
> of "which mpirun"? You might try running a job using your PBS
> system that simply executes the which mpirun command and see what
> you get.

Mac is dead-on in his analysis.

You must compile your MPI application with exactly the same MPI
implementation that you run it -- there is currently no binary
compatibility between MPI implementations. So if you compile your MPI
application with Open MPI, then you must run it with Open MPI's mpirun/
mpiexec (which, as the man page notes, are exact synonyms of each
other in Open MPI -- this is not necessarily true in other MPI
implementations).

If you compile your application with MPICH, then you must use MPICH's
mpirun/mpiexec -- and you'll need to ask them for help if things don't
work (i.e., it's an entirely different project and we're not qualified
to give you help with their software).

Finally, note that Open MPI "understands" PBS/Torque. If your system
administrator build Open MPI with PBS/Torque support, you don't need
to list the hostfile on Open MPI's mpirun/mpiexec command line -- Open
MPI will "just figure it out" and know a) what hosts to use and b) how
many processes to launch. Specifically, you can use this:

      mpiexec ${CODE} >/ul/tedhyu/fuelcell/HOH/test/HH.out

(or, as Mac suggests, you might want to provide a full path name to
mpiexec to ensure that you're getting the "Right" mpiexec)

You can check your Open MPI installation to see if it has PBS/Torque
support with the following:

     ompi_info | grep tm

If you see anything in the output like this (although the exact
version numbers may be different):

                  MCA ras: tm (MCA v2.0, API v2.0, Component v1.4)

then your Open MPI has this native PBS/Torque support built-in and you
can avoid specifying a hostfile and -np arguments.

-- 
Jeff Squyres
Cisco Systems