Open MPI logo

Open MPI User's Mailing List Archives

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

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2005-06-15 19:27:58

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 * 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

        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:


        ./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

- this is the way that I've seen most Autoconf-enabled build systems
- 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