1HBWALLOCATOR(3)                  HBWALLOCATOR                  HBWALLOCATOR(3)
2
3
4

NAME

6       hbw::allocator<T>  - The C++ allocator compatible with the C++ standard
7       library allocator concepts
8       Note: This is EXPERIMENTAL API. The functionality and the  header  file
9       itself  can  be  changed (including non-backward compatible changes) or
10       removed.
11

SYNOPSIS

13       #include <hbw_allocator.h>
14
15       Link with -lmemkind
16
17       hbw::allocator();
18       template <class U>hbw::allocator<T>::allocator(const hbw::allocator<U>&);
19       hbw::allocator<T>::~allocator()'
20       hbw::allocator<T>::pointer hbw::allocator<T>::address(hbw::allocator<T>::reference x);
21       hbw::allocator<T>::const_pointer hbw::allocator<T>::address(hbw::allocator<T>::const_reference x);
22       hbw::allocator<T>::pointer hbw::allocator<T>::allocate(hbw::allocator<T>::size_type n, const void * = 0);
23       void hbw::allocator<T>::deallocate(hbw::allocator<T>::pointer p, hbw::allocator<T>::size_type n);
24       hbw::allocator<T>::size_type  hbw::allocator<T>::max_size();
25       void hbw::allocator<T>::construct(hbw::allocator<T>::pointer p, const hbw::allocator<T>::value_type& val);
26       void hbw::allocator<T>::destroy(hbw::allocator<T>::pointer p);
27

DESCRIPTION

29       The hbw::allocator<T> is intended to be used with STL containers to al‐
30       locate  high  bandwidth memory. Memory management is based on hbwmalloc
31       (memkind library), enabling users to gain performance in  multithreaded
32       applications.  Refer  hbwmalloc(3) and memkind(3) man page for more de‐
33       tails.
34
35       All public member types and functions corresponds to  standard  library
36       allocator concepts and definitions. The current implementation supports
37       C++03 standard.
38
39       Template arguments:
40       T is an object type aliased by value_type.
41       U is an object type.
42
43       Note:
44       hbw::allocator<T>::pointer     hbw::allocator<T>::allocate(hbw::alloca‐
45       tor<T>::size_type  n, const void * = 0) allocates high bandwidth memory
46       using hbw_malloc().  Throw std::bad_alloc when:
47              n = 0,
48              n > max_size()
49              or there is not enough memory to satisfy the request.
50
51       hbw::allocator<T>::deallocate(hbw::allocator<T>::pointer p,  hbw::allo‐
52       cator<T>::size_type  n)  deallocates memory associated with pointer re‐
53       turned by allocate() using hbw_free().
54
55

ERRORS

57       The same as described in ERRORS section of hbwmalloc(3) man page.
58

NOTES

60       The hbw::allocator<T> behavior depends  on  hbwmalloc  heap  management
61       policy.  To  get  and  set  the  policy please use hbw_get_policy() and
62       hbw_set_policy() respectively.
63
65       Copyright (C) 2015 - 2020 Intel Corporation. All rights reserved.
66

SEE ALSO

68       hbwmalloc(3), numa(3), numactl(8), memkind(3)
69
70
71
72Intel Corporation                 2015-11-02                   HBWALLOCATOR(3)
Impressum