|
RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
|
MemoryArena is a map based subclass for class MemPool provides book-keeping to divy a large chunk of pre-allocated memory to avoid the overhead of malloc/free or cudaMalloc/cudaFree, etc. More...
#include <basic_mempool.hpp>
Public Types | |
| using | free_type = std::map< void *, void * > |
| using | free_value_type = typename free_type::value_type |
| using | used_type = std::map< void *, void * > |
| using | used_value_type = typename used_type::value_type |
Public Member Functions | |
| MemoryArena (void *ptr, size_t size) | |
| MemoryArena (MemoryArena const &)=delete | |
| MemoryArena & | operator= (MemoryArena const &)=delete |
| MemoryArena (MemoryArena &&)=default | |
| MemoryArena & | operator= (MemoryArena &&)=default |
| size_t | capacity () |
| bool | unused () |
| void * | get_allocation () |
| void * | get (size_t nbytes, size_t alignment) |
| bool | give (void *ptr) |
MemoryArena is a map based subclass for class MemPool provides book-keeping to divy a large chunk of pre-allocated memory to avoid the overhead of malloc/free or cudaMalloc/cudaFree, etc.
get/give are the primary calls used by class MemPool to get aligned memory from the pool or give it back
| using RAJA::basic_mempool::detail::MemoryArena::free_type = std::map<void*, void*> |
| using RAJA::basic_mempool::detail::MemoryArena::free_value_type = typename free_type::value_type |
| using RAJA::basic_mempool::detail::MemoryArena::used_type = std::map<void*, void*> |
| using RAJA::basic_mempool::detail::MemoryArena::used_value_type = typename used_type::value_type |
|
inline |
|
delete |
|
default |
|
delete |
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |