Hi,
Am 21.10.2008 um 18:52 schrieb Ralph Castain:
On Oct 21, 2008, at 10:37 AM, Adams, Brian M wrote:
We do have some environmental variables that we guarantee to
be "stable" across releases. You could look for
OMPI_COMM_WORLD_SIZE, or OMPI_UNIVERSE_SIZE (there are a
couple of others as well, but any of these would do).
Q: I just wrote a simple C++ program, including mpi.h and getenv
to check for these two variables and compiled with the mpicxx
wrapper (openmpi-1.2.5 as distributed with RHEL5). When running
this program with orterun, these variables come back NULL from the
environment. The same is true if I just orterun a shell script to
dump the environment to a file. Am I making an obvious mistake here?
Crud - forgot you are using the old 1.2 series. No, we don't have
any good variables for you to use there. You might consider
updating to 1.3 (beta should come out soon) to get something
stable. Otherwise, you're kinda stuck with the OMPI-internal ones,
so you'll have to be prepared to make a change should anyone try to
use it with 1.3 or higher as we go forward.
If you absolutely have to do this with 1.2, your best bet is
probably OMPI_MCA_universe as the others are even worse (many are
gone in 1.3).
there is no MPI_GET_VENDOR or whatever in the MPI standard to get the
used version? I checked the MPI docs but couldn't see anything like
this. I would have thought, that such a thing is foreseen. That would
mean, that a string with the version is inside the binary (or shared-
library).
Doug is right that we could use an additional command line flag to
indicate MPI runs, but at this point, we're trying to hide that
from the user, such that all they have to do is run the binary vs.
orterun/mpirun the binary and we detect whether it's a serial or
parallel run.
And when you have this information you decide for your user, whether
to use mpirun (and the correct version to use) or just the plain binary?
You are making something like "strings the_binary" and grep for
indications of the compilation type? For the standard Open MPI with
shared libraries a "ldd the_binary" might reveal some information.
-- Reuti
As for parsing the command line $argv[0] before MPI_Init, I don't
think it will help here. While MPICH implementations typically
left args like -p4pg -p4amslave on the command line, I don't see
that coming from OpenMPI-launched jobs.
Really? That doesn't sound right - we don't touch the arguments to
your application. We test that pretty regularly and I have always
seen the args come through.
Can you provide an example of where it isn't?
Ralph
Brian
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users