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 11:59:58


On Jan 7, 2013, at 9:05 AM, Samuel Thibault <samuel.thibault_at_[hidden]> wrote:

> HWLOC_COMPONENTS=^cuda,opencl
>
> disables cuda *and* opencl, while intuition would have told me that it
> disables cuda but enables opencl.
>
> Also, one would for instance want to be able to do this:
>
> HWLOC_COMPONENTS=x86,^cuda,^opencl,nvml

(Sorry -- am just returning today from winter vacation...)

FWIW: in OMPI, way back when we implemented this, we considered supporting what you describe. But then we thought -- wait, why would I ever do that?

More specifically: you only ever want to specify exactly what you *do* or *do not* want to be loaded. Why would you ever list both?

Taking your example: HWLOC_COMPONENTS=foo,^bar,^baz,^yow
Is the same as: HWLOC_COMPONENTS=foo,yow

So why bother listing ^bar and ^baz?

Generalizing that, why would you ever specify *some* components to exclude and *some* components to exclude? It seems much cleaner to either exclude some (and therefore include the rest), or include some (and exclude the rest).

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/