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
For corporate legal information go to: