Provided by: libmemkind-dev_1.14.0-3build1_amd64 bug

NAME

       memkind_hbw - high bandwidth memory memkind operations.
       Note:  This  is  EXPERIMENTAL API. The functionality and the header file itself can be changed (including
       non-backward compatible changes) or removed.

SYNOPSIS

       int memkind_hbw_check_available(struct memkind *kind);
       int memkind_hbw_hugetlb_check_available(struct memkind *kind);
       int memkind_hbw_get_mbind_nodemask(struct memkind *kind, unsigned long *nodemask, unsigned long maxnode);
       int memkind_hbw_get_preferred_mbind_nodemask(struct memkind *kind, unsigned long *nodemask, unsigned long maxnode);
       int memkind_hbw_all_get_mbind_nodemask(struct memkind *kind, unsigned long *nodemask, unsigned long maxnode);
       void memkind_hbw_init_once(void);
       void memkind_hbw_hugetlb_init_once(void);
       void memkind_hbw_all_hugetlb_init_once(void);
       void memkind_hbw_preferred_init_once(void);
       void memkind_hbw_preferred_hugetlb_init_once(void);
       void memkind_hbw_interleave_init_once(void);

DESCRIPTION

       High bandwidth memory memkind operations.

       memkind_hbw_check_available() returns zero  if  library  was  able  to  detect  heterogeneous  NUMA  node
       bandwidths.    Returns  MEMKIND_ERROR_UNAVAILABLE if the detection mechanism failed.  Detection mechanism
       can be also overridden by the environment variable MEMKIND_HBW_NODES as described in the  memkind(3)  man
       page.

       memkind_hbw_hugetlb_check_available()  In  addition  to  checking for high bandwidth memory as is done by
       memkind_hbw_check_available(),   this   also   checks   for   2MB   huge   pages   as    is    done    by
       memkind_hugetlb_check_available_2mb().

       memkind_hbw_get_mbind_nodemask() sets the nodemask bit to one that corresponds to the high bandwidth NUMA
       nodes that has the closest NUMA distance to the CPU of the calling process.  All other bits up to maxnode
       are set to zero.  The nodemask can be used in conjunction with the mbind(2) system call.

       Note:  The function will fail if two or more high bandwidth memory NUMA nodes are in the same the closest
       NUMA distance to the CPU of the calling  process.   memkind_hbw_get_preferred_mbind_nodemask()  sets  the
       nodemask  bit  to one that corresponds to the high bandwidth NUMA node that has the closest NUMA distance
       to the CPU of the calling process.  All other bits up to maxnode are set to zero.  The  nodemask  can  be
       used in conjunction with the mbind(2) system call.

       memkind_hbw_all_get_mbind_nodemask()  sets  the  nodemask  bits  to  one  that correspond to the all high
       bandwidth NUMA nodes in the system. All other bits up to maxnode are set to zero.  The  nodemask  can  be
       used in conjunction with the mbind(2) system call.

       memkind_hbw_init_once()  This function initializes MEMKIND_HBW kind and it should not be called more than
       once.  Note: memkind_hbw_init_once() may reserve some extra memory.

       memkind_hbw_hugetlb_init_once() This function initializes MEMKIND_HBW_HUGETLB kind and it should  not  be
       called more than once.  Note: memkind_hbw_hugetlb_init_once() may reserve some extra memory.

       memkind_hbw_preferred_init_once()  This function initializes MEMKIND_HBW_PREFERRED kind and it should not
       be called more than once.  Note: memkind_hbw_preferred_init_once() may reserve some extra memory.

       memkind_hbw_preferred_hugetlb_init_once() This function  initializes  MEMKIND_HBW_PREFERRED_HUGETLB  kind
       and  it should not be called more than once.  Note: memkind_hbw_preferred_hugetlb_init_once() may reserve
       some extra memory.

       memkind_hbw_all_hugetlb_init_once() This function initializes MEMKIND_HBW_ALL_HUGETLB kind and it  should
       not be called more than once.  Note: memkind_hbw_all_hugetlb_init_once() may reserve some extra memory.

       memkind_hbw_interleave_init_once()  This  function  initializes MEMKIND_HBW_INTERLEAVE kind and it should
       not be called more than once.  Note: memkind_hbw_interleave_init_once() may reserve some extra memory.

COPYRIGHT

       Copyright (C) 2014 - 2021 Intel Corporation. All rights reserved.

SEE ALSO

       memkind(3),  memkind_arena(3),  memkind_default(3),  memkind_hugetlb(3),  memkind_pmem(3),   jemalloc(3),
       mbind(2), mmap(2)

Intel Corporation                                  2016-06-13                                     MEMKIND_HBW(3)