10#include "umpire/strategy/QuickPool.hpp"
11#include "umpire/ResourceManager.hpp"
18class UmpireMempoolHandler
22 static bool hasPool(MemorySpace memSpace);
26 static void setupUmpirePool(MemorySpace memSpace,
size_t size);
28 static auto getUmpirePool(MemorySpace memSpace)
30 auto& rm = umpire::ResourceManager::getInstance();
31 if (memSpace == MemorySpace::GPU)
33 return rm.getAllocator(
"DEVICE_POOL");
35 return rm.getAllocator(
"HOST_POOL");
38 static void destroyUmpirePool(MemorySpace memSpace)
40 auto pool = getUmpirePool(memSpace);
52 void*
alloc(
size_t size)
override;
67 void*
alloc(
size_t size)
override;
void * alloc(size_t size) override
allocate a block of size bytes
~UmpireAllocator() override
void free(void *ptr) override
free a block of size bytes
void * realloc(void *ptr, size_t size) override
reallocate a block of size bytes
~UmpirePoolAllocator() override
void free(void *ptr) override
free a block of size bytes
void * realloc(void *ptr, size_t size) override
reallocate a block of size bytes
void * alloc(size_t size) override
allocate a block of size bytes
Integer types used throughout NeoN.