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 09:32:21


On May 8, 2008, at 8:15 AM, Jeff Squyres wrote:

> On May 8, 2008, at 8:06 AM, Josh Hursey wrote:
>
>>> --> 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.
>
>
> Ah, right. Should we introduce another keyword, "all"? This would
> then be symmetric to "none" and could be the default value. An empty
> string would then be an error.
>
>
> Per the larger issue, I wonder if we should simply disallow NULL
> default string parameter values. This might simplify a lot of
> things...

I think 'all' would be a nice symmetric addition to complement 'none'
and then this would allow users to specify the "select best from all
available" option on the command line.

Disallowing the NULL default string I think would have some
repercussions throughout the code requiring a change in the way we use
MCA parameters. For example, many component selection logics use the
NULL value as the current 'select best from all' indicator. Other MCA
parameters take the NULL value to indicate that the user did not set
any value for this string parameter and thus it can be ignored. Maybe
we can try to add a deprecation warning message when this happens to
gauge it's frequency.

-- Josh

>
>
> --
> Jeff Squyres
> Cisco Systems
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel