11#include "umpire/strategy/QuickPool.hpp"
12#include "umpire/ResourceManager.hpp"
19class UmpireMempoolHandler
23 static bool hasPool(MemorySpace memSpace);
25 static void setupUmpirePool(MemorySpace memSpace, sizeType size);
27 static auto getUmpirePool(MemorySpace memSpace)
29 auto& rm = umpire::ResourceManager::getInstance();
30 if (memSpace == MemorySpace::GPU)
32 return rm.getAllocator(
"DEVICE_POOL");
34 return rm.getAllocator(
"HOST_POOL");
37 static void destroyUmpirePool(MemorySpace memSpace)
39 auto pool = getUmpirePool(memSpace);
55 void free(
void* ptr)
override;
70 void free(
void* ptr)
override;
~UmpireAllocator() override
void * alloc(sizeType size) override
allocate a block of size bytes
void free(void *ptr) override
free a block of size bytes
void * realloc(void *ptr, sizeType 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, sizeType size) override
reallocate a block of size bytes
void * alloc(sizeType size) override
allocate a block of size bytes
Integer types used throughout NeoN.