31#include <unordered_map>
37#define GRID_ALLOC_SMALL_LIMIT (4096)
38#define GRID_ALLOC_HUGE_LIMIT (2147483648)
40#define STRINGIFY(x) #x
41#define TOSTRING(x) STRINGIFY(x)
42#define FILE_LINE __FILE__ ":" TOSTRING(__LINE__)
43#define AUDIT(a) MemoryManager::Audit(FILE_LINE)
111 static void *
Insert(
void *ptr,
size_t bytes,
int type) ;
118 static void Audit(std::string s);
119 static void Init(
void);
124 static void SharedFree (
void *ptr,
size_t bytes);
126 static void CpuFree (
void *ptr,
size_t bytes);
216 static void Print(
void);
219 static int isOpen (
void* CpuPtr);
@ AcceleratorWriteDiscard
#define NAMESPACE_BEGIN(A)
LRU_t::iterator LRUiterator
static MemoryStatus GetFootprint(void)
static AccViewTable_t AccViewTable
static void LRUinsert(AcceleratorViewEntry &AccCache)
static uint64_t DeviceDestroy
static AccViewTableIterator EntryLookup(uint64_t CpuPtr)
static void CpuDiscard(AcceleratorViewEntry &AccCache)
static int Victim[NallocType]
static uint64_t DeviceLRUBytes
static const int NallocCacheMax
static void EvictVictims(uint64_t bytes)
static void PrintState(void *CpuPtr)
static void * ViewOpen(void *CpuPtr, size_t bytes, ViewMode mode, ViewAdvise hint)
static uint64_t DeviceCacheBytes()
static void * Lookup(size_t bytes, int type)
static void Flush(AcceleratorViewEntry &AccCache)
static void CpuFree(void *ptr, size_t bytes)
static const int NallocType
static void PrintBytes(void)
static void InitMessage(void)
static void DisplayMallinfo(void)
static uint64_t HostCacheBytes()
static void * Insert(void *ptr, size_t bytes, int type)
static uint64_t DeviceBytes
static uint64_t DeviceMaxBytes
std::unordered_map< uint64_t, AcceleratorViewEntry > AccViewTable_t
static void ViewClose(void *CpuPtr, ViewMode mode)
static void * CpuAllocate(size_t bytes)
static int Ncache[NallocType]
static void EntryCreate(uint64_t CpuPtr, size_t bytes, ViewMode mode, ViewAdvise hint)
static void NotifyDeletion(void *CpuPtr)
static void PrintAll(void)
static uint64_t DeviceToHostBytes
static void Audit(std::string s)
static uint64_t DeviceEvictions
static uint64_t CacheBytes[NallocType]
static void EntryErase(uint64_t CpuPtr)
static uint64_t AcceleratorViewOpen(uint64_t CpuPtr, size_t bytes, ViewMode mode, ViewAdvise hint)
static void AcceleratorViewClose(uint64_t AccPtr)
static uint64_t DeviceToHostXfer
static void CpuViewClose(uint64_t Ptr)
static void SharedFree(void *ptr, size_t bytes)
static void LRUremove(AcceleratorViewEntry &AccCache)
static AllocationCacheEntry Entries[NallocType][NallocCacheMax]
static uint64_t CpuViewOpen(uint64_t CpuPtr, size_t bytes, ViewMode mode, ViewAdvise hint)
static void Create(uint64_t CpuPtr, size_t bytes, ViewMode mode, ViewAdvise hint)
static void Evict(AcceleratorViewEntry &AccCache)
AccViewTable_t::iterator AccViewTableIterator
static void * SharedAllocate(size_t bytes)
static void * AcceleratorAllocate(size_t bytes)
static uint64_t HostToDeviceXfer
static uint64_t HostToDeviceBytes
static int isOpen(void *CpuPtr)
static void Clone(AcceleratorViewEntry &AccCache)
static void AccDiscard(AcceleratorViewEntry &AccCache)
static void AcceleratorFree(void *ptr, size_t bytes)
static int EntryPresent(uint64_t CpuPtr)
static void EntrySet(uint64_t CpuPtr, AcceleratorViewEntry &entry)
std::list< uint64_t > LRU_t
uint64_t DeviceToHostXfer
uint64_t HostToDeviceXfer
uint64_t HostToDeviceBytes
uint64_t DeviceToHostBytes
uint64_t DeviceAllocCacheBytes
uint64_t HostAllocCacheBytes