DPC++ Runtime
Runtime libraries for oneAPI DPC++
USMAllocContext::USMAllocImpl Class Reference

Public Member Functions

 USMAllocImpl (std::unique_ptr< SystemMemory > SystemMemHandle)
 
void * allocate (size_t Size, size_t Alignment, bool &FromPool)
 
void * allocate (size_t Size, bool &FromPool)
 
void deallocate (void *Ptr, bool &ToPool, bool OwnZeMemHandle)
 
SystemMemorygetMemHandle ()
 
std::shared_timed_mutex & getKnownSlabsMapLock ()
 
std::unordered_multimap< void *, Slab & > & getKnownSlabs ()
 
size_t SlabMinSize ()
 
void printStats (bool &TitlePrinted, size_t &HighBucketSize, size_t &HighPeakSlabsInUse, MemType MT)
 

Detailed Description

Definition at line 534 of file usm_allocator.cpp.

Constructor & Destructor Documentation

◆ USMAllocImpl()

USMAllocContext::USMAllocImpl::USMAllocImpl ( std::unique_ptr< SystemMemory SystemMemHandle)
inline

Definition at line 547 of file usm_allocator.cpp.

Member Function Documentation

◆ allocate() [1/2]

void * USMAllocContext::USMAllocImpl::allocate ( size_t  Size,
bool &  FromPool 
)

◆ allocate() [2/2]

void * USMAllocContext::USMAllocImpl::allocate ( size_t  Size,
size_t  Alignment,
bool &  FromPool 
)

◆ deallocate()

void USMAllocContext::USMAllocImpl::deallocate ( void *  Ptr,
bool &  ToPool,
bool  OwnZeMemHandle 
)

◆ getKnownSlabs()

std::unordered_multimap<void *, Slab &>& USMAllocContext::USMAllocImpl::getKnownSlabs ( )
inline

Definition at line 568 of file usm_allocator.cpp.

◆ getKnownSlabsMapLock()

std::shared_timed_mutex& USMAllocContext::USMAllocImpl::getKnownSlabsMapLock ( )
inline

Definition at line 567 of file usm_allocator.cpp.

◆ getMemHandle()

SystemMemory& USMAllocContext::USMAllocImpl::getMemHandle ( )
inline

Definition at line 565 of file usm_allocator.cpp.

Referenced by allocate(), and Bucket::getMemHandle().

◆ printStats()

void USMAllocContext::USMAllocImpl::printStats ( bool &  TitlePrinted,
size_t &  HighBucketSize,
size_t &  HighPeakSlabsInUse,
MemType  MT 
)

Definition at line 1120 of file usm_allocator.cpp.

◆ SlabMinSize()

size_t USMAllocContext::USMAllocImpl::SlabMinSize ( )
inline

Definition at line 572 of file usm_allocator.cpp.

References settings::SetLimits::SlabMinSize, and settings::USMSettings.


The documentation for this class was generated from the following file: