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/
|