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)

Intel Corporation                                  2015-04-21                                     MEMKIND_HBW(3)