Open MPI logo

Hardware Locality Development Mailing List Archives

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

Subject: Re: [hwloc-devel] More memory binding questions
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2011-01-05 21:39:05


On Jan 5, 2011, at 5:51 PM, Samuel Thibault wrote:

>> Also, does your middle statement mean that hwloc_get_membind will return ENOSYS on all systems except Windows?
>
> Yes.

Before I commit, how's this text? (extrapolate for the other functions)

/** \brief Query the default memory binding policy and locality of the
 * current process or thread (the locality is returned in \p nodeset).
 *
 * If neither HWLOC_MEMBIND_PROCESS nor HWLOC_MEMBIND_THREAD is
 * specified, the current process is assumed to be single-threaded.
 * This is the most portable form as it permits hwloc to use either
 * process-based OS functions or thread-based OS functions, depending
 * on which are available.
 *
 * If HWLOC_MEMBIND_STRICT is specified, the process' (or thread's)
 * pages are first checked to see if they all have the same memory
 * binding policy. If they do not, -1 is returned and errno is set to
 * EXDEV.
 *
 * \note HWLOC_MEMBIND_STRICT is only supported with this function on
 * some systems. If it is specified on an unsupported system, -1 is
 * returned and errno is set to ENOSYS.
 *
 * If HWLOC_MEMBIND_STRICT is not specified, or if all the process'
 * (or thread's) pages have the same memory binding policy, \p nodeset
 * is cleared. Each page is then examined and has the bit set in \p
 * nodeset corresponding to the NUMA node where it is located. The
 * resulting \p nodeset represents the set of NUMA nodes containing
 * all the pages in the process (or thread).
 *
 * If any other flags are specified, -1 is returned and errno is set
 * to EINVAL.
 */
HWLOC_DECLSPEC int hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_nodeset_t nodeset, hwloc_membind_policy_t * policy, int flags);

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