On Jun 15, 2005, at 7:02 PM, Ben Allan wrote:

The ompi_info command was directly derived from the LAM/MPI laminfo
command.  However, I've never liked the fact that there's a "_" in the
name.  Should it be renamed?  Options I see are:

I, for obvious reasons (mainly to do with 'well, most projects name it that'),
will vote for open-mpi-config and/or openmpi-config.

Ah -- I thought that that would be a different issue (I presume you're speaking of the compile/lib flags command, like gnome-config et al.)...? Are you saying that the compile/lib flags should be accessible from ompi_info in a fine-grained fashion as well? (they're not right now -- only "compile flags" and "link flags")

That would obviate using the frameworks like gnome-config (which can read arbitrary *Conf.sh files), or ... er... I swear there was another one, but I can't seem to find it at the moment. I'm not saying that this is necessarily a Bad Thing; it's just something else that would need to be implemented.

In perusing the output of -al from ompi_info, some oddities
1)
For us sedders
MCA base: seems to have several instances of
$heading : parameter $name default {linebreak}
        $somevalue
which might be awk friendly, but i'm not sure how sed amateur
friendly it is.  Typically this is around long path names.

Did you look at the output when you run with the -parsable flag? (see my other mail about this)

The default output is in prettyprint mode, and is more concerned with word wrapping and lining up the :'s that separate the name and the value. When you run with -parsable, the output is all colon deliminted and no extra whitespace padding is added.

2)
A nice catalog of flags used at compile, prefix dirs etc is provided,
thank god and or Jeff.

I'm still not sure that you're getting what you want, though. Note that there's two sets of flags provided by "ompi_info -all" -- the flags that Open MPI was built with and the flags that are added by the wrapper compilers. Are you just extracting the wrapper compiler flags? Are they sufficient?

Also note that the wrapper compilers will report their flags to you as well:

        mpicc -showme
        mpicc -showme:compile
        mpicc -showme:link

Finally, is there a reason you can't just use the wrapper compilers themselves? They can even be layered with other compilers if necessary. Unless there's a technical reason that you can't, I would strongly advise using the wrapper compilers -- we wrote them for exactly this purpose.

 Of course ompi_info --help didn't tell me that.

True. Extremely little effort has been put into documentation and/or help messages as of yet. Don't worry; they will be there in the not-distant future (look at LAM's documentation and verbose help messages as an example: I believe in good error messages).

However, the compiler variables specify unadorned
and hence unuseful names like
          C++ compiler: g++
      Fortran77 compiler: g77
      Fortran90 compiler: none
which just cause problems on the *very good* chance
that the user has a different path or installs new compilers.
I can't count the number of times i've "debugged" some user
trying to compile c++ code with a mismatched mpic[xx,++] wrapper.
Please, extract the full path name to the compilers your
wrappers are going to invoke and put them in ompi_info.

Actually, it is whatever was given to configure. In this case, only "gcc" was given to configure. For example, if you:

with

        ./configure CC=/path/to/gcc

You'll see:

    C compiler: /path/to/gcc

And that's also the name that mpicc will fork/exec to compile C applications. I'd prefer to leave it this way for the following reasons:

- this is the way that I've seen most Autoconf-enabled build systems work
- if people want to use absolute names for compilers, they can
- those who don't want absolute names aren't forced to (there's many an installation out there that only has the C bindings and don't give a whit about C++ or Fortran)

--
{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/

Reply via email to