Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [RFC] mca_base_open() NULL
From: Josh Hursey (jjhursey_at_[hidden])
Date: 2008-05-08 08:06:17

On May 8, 2008, at 7:50 AM, Jeff Squyres wrote:

> - I think "none" is a slightly better word than "null" for this value;
> "none" implies that you don't open anything, whereas "null" could be a
> specific component (as it is/was in some frameworks).

Calling it 'none' sounds fine to me.

> - Whatever word we decide on will need to become a reserved component
> name (i.e., no components will be able to use that as their name). We
> should adjust and friends to ensure that no component has
> this name (not difficult -- just make abort if it finds a
> component of this name).

Good idea.

> - Is this value supposed to be accessible/usable by users, or is it
> meant to only be used internally?

I would say it should be used internally. But I don't know what use
case Ralph was thinking of with this.

There is something to be said for being able to add such an option to
the .openmpi/mca-params.conf file while testing or to an AMCA file
for a particular configuration. So maybe we should expose it. It may
able be useful for debugging problems encountered in the wild.

> --> If intended to be used by users, I marginally prefer a single,
> lower case, simple word (e.g., "none") vs. a caps word -- it's easier
> to type and is consistent with our other values. I recognize that we
> don't want users to use the value by accident, and making it all caps
> makes it stand out, but I think the consistency issues are more
> important.

Keeping it case-consistent with other components is probably a good

> --> If not intended to be used by users (i.e., it's an internal
> mechanism only), is there a reason why we're not using a zero-length
> string (e.g., mpirun --mca foo "")?

I think a zero length string might get confusing with the empty
string. The empty string is taken to mean auto-select from all
available components, which currently cannot be specified on the
command line as an -mca option. The 0 length string is close and
nearly indistinguishable in an (A)MCA file from a NULL string.

-- Josh

> On May 6, 2008, at 2:09 PM, Josh Hursey wrote:
>> What: Add a MCA-NULL option to open no components in mca_base_open()
>> Why: Sometimes we do not want to open or select any components of
>> a framework.
>> Where: patch attached for current trunk.
>> When: Needs further discussion.
>> Timeout: Unknown. [May 13, 2008 (After teleconf)?]
>> Short Version:
>> --------------
>> This RFC is intended to continue discussion on the thread started
>> here:
>> Discussion should occur on list, but maybe try to come to some
>> settlement on this RFC in the next week or two.
>> Longer Version:
>> ---------------
>> Currently there is no way to express to the MCA system that
>> absolutely no components of a framework are needed and therefore
>> nothing should be opened. The addition of a sentinel value is needed
>> to explicitly express this intention. It was suggested that if a
>> 'MCA-NULL' value is passed as an argument for a framework then this
>> should be taken to indicate such an intention.
>> <mca-null.diff>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
> --
> Jeff Squyres
> Cisco Systems
> _______________________________________________
> devel mailing list
> devel_at_[hidden]