Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] v1.7
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-01-07 13:24:14

On Jan 7, 2013, at 1:09 PM, Brice Goglin <Brice.Goglin_at_[hidden]>

> Your argument works for selecting among I/O components like
> cuda/nvml/opencl that are all independent (like several components in
> the same framework in OMPI). But it doesn't work when the order matters
> between components that discover the same things. Like "I want x86 first
> because it works better than the solaris component on my machine, and
> then the other usual components for to discover everything else".
> Remember that HWLOC_COMPONENTS="foo" means "foo first and then all the
> usual ones that do not conflict". It's not "only foo", which should be
> written as "foo,stop" (should be rare since the core excludes all
> conflicting components automatically).

Gotcha. I missed those two subtleties:

1. order matters
2. there's an implicit "...and all the rest" at the end of the specification

BTW, don't get me wrong -- I'm not against a different meaning than OMPI's. I was just trying to explain what OMPI uses an why.

But that being said, having a "...and all the rest" implicitly implied at the end of the COMPONENTS specification is a little surprising (to me, IMHO). Perhaps you could have a special token that means "...and all the rest"? Perhaps:


Which means "try foo first, then try bar, and then try all the rest in whatever order you want". Because then a user could specify:


if they *didn't* want all the others to be used.

Just a thought.

> BTW, if we change the hwloc syntax, we may want to not use ^ to avoid
> confusion with OMPI. ~ and ! could work but some shells may not like them?

Hah. Our mails crossed in the ether. :-)

Short version: I agree. ~ and ! have the drawback of requiring escaping, which is kind of a pain (and everyone will get it wrong).

Jeff Squyres
For corporate legal information go to: