On Jan 7, 2013, at 9:05 AM, Samuel Thibault <samuel.thiba...@inria.fr> 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
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to