1MEMKIND_HBW(3)                    MEMKIND_HBW                   MEMKIND_HBW(3)
2
3
4

NAME

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

SYNOPSIS

12       #include <memkind/internal/memkind_hbw.h>
13
14       Link with -lmemkind
15
16       int memkind_hbw_check_available(struct memkind *kind);
17       int memkind_hbw_hugetlb_check_available(struct memkind *kind);
18       int memkind_hbw_get_mbind_nodemask(struct memkind *kind, unsigned long *nodemask, unsigned long maxnode);
19       int memkind_hbw_all_get_mbind_nodemask(struct memkind *kind, unsigned long *nodemask, unsigned long maxnode);
20       void memkind_hbw_init_once(void);
21       void memkind_hbw_hugetlb_init_once(void);
22       void memkind_hbw_all_hugetlb_init_once(void);
23       void memkind_hbw_preferred_init_once(void);
24       void memkind_hbw_preferred_hugetlb_init_once(void);
25       void memkind_hbw_interleave_init_once(void);
26

DESCRIPTION

28       High bandwidth memory memkind operations.
29
30       memkind_hbw_check_available()  returns  zero  if  library  was  able to
31       detect heterogeneous NUMA node bandwidths.    Returns  MEMKIND_UNAVAIL‐
32       ABLE  if  the  detection  mechanism failed.  Detection mechanism can be
33       also  overridden  by  the  environment  variable  MEMKIND_HBW_NODES  as
34       described in the memkind(3) man page.
35
36       memkind_hbw_hugetlb_check_available()  In addition to checking for high
37       bandwidth memory as is done by memkind_hbw_check_available(), this also
38       checks  for  2MB  huge pages as is done by memkind_hugetlb_check_avail‐
39       able_2mb().
40
41       memkind_hbw_get_mbind_nodemask() sets the nodemask bit to one that cor‐
42       responds to the high bandwidth NUMA node that has the closest NUMA dis‐
43       tance to the CPU of the calling process.  All other bits up to  maxnode
44       are  set  to  zero.   The  nodemask can be used in conjunction with the
45       mbind(2) system call.
46
47       memkind_hbw_all_get_mbind_nodemask() sets the nodemask bits to one that
48       correspond  to  the  all  high  bandwidth NUMA nodes in the system. All
49       other bits up to maxnode are set to zero.  The nodemask can be used  in
50       conjunction with the mbind(2) system call.
51
52       memkind_hbw_init_once()  This function initializes MEMKIND_HBW kind and
53       it should not be called more than once.  Note:  memkind_hbw_init_once()
54       may reserve some extra memory.
55
56       memkind_hbw_hugetlb_init_once()      This      function     initializes
57       MEMKIND_HBW_HUGETLB kind and it should not be called  more  than  once.
58       Note: memkind_hbw_hugetlb_init_once() may reserve some extra memory.
59
60       memkind_hbw_preferred_init_once()     This     function     initializes
61       MEMKIND_HBW_PREFERRED kind and it should not be called more than  once.
62       Note: memkind_hbw_preferred_init_once() may reserve some extra memory.
63
64       memkind_hbw_preferred_hugetlb_init_once()   This  function  initializes
65       MEMKIND_HBW_PREFERRED_HUGETLB kind and it should  not  be  called  more
66       than once.  Note: memkind_hbw_preferred_hugetlb_init_once() may reserve
67       some extra memory.
68
69       memkind_hbw_all_hugetlb_init_once()    This    function     initializes
70       MEMKIND_HBW_ALL_HUGETLB  kind  and  it  should  not be called more than
71       once.  Note: memkind_hbw_all_hugetlb_init_once() may reserve some extra
72       memory.
73
74       memkind_hbw_interleave_init_once()     This     function    initializes
75       MEMKIND_HBW_INTERLEAVE kind and it should not be called more than once.
76       Note: memkind_hbw_interleave_init_once() may reserve some extra memory.
77
79       Copyright (C) 2014 - 2019 Intel Corporation. All rights reserved.
80

SEE ALSO

82       memkind(3),  memkind_arena(3),  memkind_default(3), memkind_hugetlb(3),
83       memkind_pmem(3), jemalloc(3), mbind(2), mmap(2)
84
85
86
87Intel Corporation                 2016-06-13                    MEMKIND_HBW(3)
Impressum