Open MPI logo

Hardware Locality Development Mailing List Archives

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

Subject: [hwloc-devel] CPUBIND flags when getting proc/thread affinity
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2011-09-20 08:44:27


Some questions about CPU binding flags...

I see in the doxy for hwloc_cpubind_flags_t that _STRICT explicitly says that it is meaningless when used to get the binding of a thread, and provides the definition for what happens when you get the binding of a process. Good! (this is just background for the following 3 points...).

1. Is it permissible to use _PROCESS or _THREAD with get_proc_last_cpu_location() and get_proc_cpubind()? I'm thinking that it doesn't make sense to use _THREAD here, and using _PROCESS would be redundant. Right? If so, should we document that you can't use either of these, or, if you specify _PROCESS, it'll be ignored?

2. Is it permissible to use _PROCESS or _THREAD with get_last_cpu_location() and get_cpubind()? I'm assuming that both of these are permissible (subject to OS constraints, of course).

3. Is it permissible to use _NOMEMBIND with any of these 4 functions? I'm guessing that it's meaningless. Should we document that this flag will be ignored, or that it is erroneous to use?

#1 and #3 are asking about what we should advise people to do in the documentation (e.g., even if you *can* use _PROCESS in get_proc_*() because the logic of the code ignores it, should we document that it will be ignored, or that you should not use it?).

I can update the docs with the results of this discussion (probably mainly the docs of these 4 functions, but maybe a sentence or two in the descriptions of the flags in cpu_flags_t section.

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