Provided by: libmemkind-dev_1.1.0-0ubuntu1_amd64 bug

NAME

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

SYNOPSIS

       #include <memkind/internal/memkind_hbw.h>

       Link with -lmemkind

       int memkind_hbw_check_available(struct memkind *kind);
       int memkind_hbw_hugetlb_check_available(struct memkind *kind);
       int memkind_hbw_gbtlb_check_available(struct memkind *kind);
       int memkind_hbw_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_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_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_gbtlb_check_available()  In  addition to checking for high bandwidth memory as
       is done by memkind_hbw_check_available (), this also checks for 1GB huge pages as is  done
       by memkind_hugetlb_check_available_1gb().

       memkind_hbw_get_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
       and  sets  all  other  bits up to maxnode to zero.  The nodemask can be used in conjuction
       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_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 - 2016 Intel Corporation. All rights reserved.

SEE ALSO

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