Public Member Functions | |
DeviceStats & | get_stats_for_device (int device) |
void | malloc (void **devPtr, size_t size, cudaStream_t stream) |
allocates a block which is safe to use from the provided stream | |
void | free (void *ptr) |
void | emptyCache () |
returns cached blocks to the system allocator | |
void * | getBaseAllocation (void *ptr, size_t *outSize) |
void | cacheInfoAux (BlockPool &blocks, int dev_id, size_t *total, size_t *largest) |
void | cacheInfo (int dev_id, size_t *total, size_t *largest) |
void | recordStream (void *ptr, cuda::CUDAStream stream) |
void | free_block (Block *block) |
moves a block into a pool of cached free blocks | |
void | try_merge_blocks (Block *dst, Block *src, BlockPool &pool) |
combine previously split blocks | |
BlockPool & | get_pool (size_t size) |
bool | should_split (Block *block, size_t size) |
size_t | round_size (size_t size) |
size_t | get_allocation_size (size_t size) |
cudaError_t | cuda_malloc_retry (int device, void **devPtr, size_t size) |
void | free_cached_blocks (int device) |
void | free_blocks (BlockPool &blocks, BlockPool::iterator it, BlockPool::iterator end) |
Block * | find_allocated_block (void *ptr) |
void | insert_events (Block *block) |
void | process_events () |
Definition at line 151 of file CUDACachingAllocator.cpp.