21 namespace CudaMgr_Namespace {
25 namespace Data_Namespace {
31 namespace Buffer_Namespace {
36 const size_t total_size,
38 const size_t min_slab_size,
39 const size_t max_slab_size,
40 const size_t default_slab_size,
41 const size_t page_size,
43 AbstractBufferMgr* parent_mgr =
nullptr);
50 std::vector<std::pair<std::unique_ptr<Arena>,
size_t>>&
getAllocators() {
54 inline MgrType
getMgrType()
override {
return TIERED_CPU_MGR; }
57 std::string
dump()
const;
60 void addSlab(
const size_t slab_size)
override;
67 std::vector<std::pair<std::unique_ptr<Arena>,
size_t>>
allocators_;
MgrType getMgrType() override
void freeAllMem() override
std::vector< std::pair< std::unique_ptr< Arena >, size_t > > & getAllocators()
constexpr size_t numCpuTiers
std::string getStringMgrType() override
~TieredCpuBufferMgr() override
std::map< int32_t, Arena * > slab_to_allocator_map_
std::vector< std::pair< std::unique_ptr< Arena >, size_t > > allocators_
void addSlab(const size_t slab_size) override
void initializeMem() override
Arena * getAllocatorForSlab(int32_t slab_num) const
std::vector< size_t > CpuTierSizeVector
TieredCpuBufferMgr(const int device_id, const size_t total_size, CudaMgr_Namespace::CudaMgr *cuda_mgr, const size_t min_slab_size, const size_t max_slab_size, const size_t default_slab_size, const size_t page_size, const CpuTierSizeVector &cpu_tier_sizes, AbstractBufferMgr *parent_mgr=nullptr)