hpx/parcelport_libfabric/rma_memory_pool.hpp¶
See Public API for a list of names and headers that are part of the public HPX API.
Defines
-
RDMA_POOL_1K_CHUNK_SIZE
¶
-
RDMA_POOL_SMALL_CHUNK_SIZE
¶
-
RDMA_POOL_MEDIUM_CHUNK_SIZE
¶
-
RDMA_POOL_LARGE_CHUNK_SIZE
¶
-
RDMA_POOL_MAX_1K_CHUNKS
¶
-
RDMA_POOL_MAX_SMALL_CHUNKS
¶
-
RDMA_POOL_MAX_MEDIUM_CHUNKS
¶
-
RDMA_POOL_MAX_LARGE_CHUNKS
¶
-
namespace
hpx
-
namespace
parcelset
-
template<typename
RegionProvider
>
structmemory_region_allocator
¶ Public Types
-
typedef RegionProvider::provider_domain
domain_type
¶
-
typedef rma_memory_region<RegionProvider>
region_type
¶
-
typedef std::shared_ptr<region_type>
region_ptr
¶
Public Functions
-
memory_region_allocator
()¶
Public Static Functions
-
static region_ptr
malloc
(domain_type *pd, const std::size_t bytes)¶
-
static void
free
(region_ptr region)¶
-
typedef RegionProvider::provider_domain
-
template<typename
RegionProvider
, typenameAllocator
, typenamePoolType
, std::size_tChunkSize
, std::size_tMaxChunks
>
structpool_container
¶ Public Types
-
typedef RegionProvider::provider_domain
domain_type
¶
-
typedef rma_memory_region<RegionProvider>
region_type
¶
-
typedef std::shared_ptr<region_type>
region_ptr
¶
Public Functions
-
pool_container
(domain_type *pd)¶
-
bool
allocate_pool
()¶
-
void
DeallocatePool
()¶
-
void
push
(region_type *region)¶
-
region_type *
pop
()¶
-
void
decrement_used_count
(uint32_t N)¶
Public Members
-
performance_counter<unsigned int>
accesses_
¶
-
performance_counter<unsigned int>
in_use_
¶
-
domain_type *
pd_
¶
-
std::unordered_map<const char*, region_ptr>
block_list_
¶
-
std::array<region_type, MaxChunks>
region_list_
¶
-
bl::stack<region_type*, bl::capacity<MaxChunks>>
free_list_
¶
-
typedef RegionProvider::provider_domain
-
template<typename
RegionProvider
>
structrma_memory_pool
¶ Public Types
-
typedef RegionProvider::provider_domain
domain_type
¶
-
typedef rma_memory_region<RegionProvider>
region_type
¶
-
typedef memory_region_allocator<RegionProvider>
allocator_type
¶
-
typedef std::shared_ptr<region_type>
region_ptr
¶
Public Functions
-
HPX_NON_COPYABLE
(rma_memory_pool)¶
-
rma_memory_pool
(domain_type *pd)¶
-
~rma_memory_pool
()¶
-
void
deallocate_pools
()¶
-
bool
can_allocate_unsafe
(size_t length) const¶
-
region_type *
allocate_region
(size_t length)¶
-
void
deallocate
(region_type *region)¶
-
region_type *
allocate_temporary_region
(std::size_t length)¶
Public Members
-
domain_type *
protection_domain_
¶
-
pool_container<RegionProvider, allocator_type, pool_tiny, RDMA_POOL_1K_CHUNK_SIZE, RDMA_POOL_MAX_1K_CHUNKS>
tiny_
¶
-
pool_container<RegionProvider, allocator_type, pool_small, RDMA_POOL_SMALL_CHUNK_SIZE, RDMA_POOL_MAX_SMALL_CHUNKS>
small_
¶
-
pool_container<RegionProvider, allocator_type, pool_medium, RDMA_POOL_MEDIUM_CHUNK_SIZE, RDMA_POOL_MAX_MEDIUM_CHUNKS>
medium_
¶
-
pool_container<RegionProvider, allocator_type, pool_large, RDMA_POOL_LARGE_CHUNK_SIZE, RDMA_POOL_MAX_LARGE_CHUNKS>
large_
¶
-
hpx::util::atomic_count
temp_regions
¶
-
hpx::util::atomic_count
user_regions
¶
-
typedef RegionProvider::provider_domain
-
template<typename
-
namespace