mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 07:55:35 +00:00
Interface to query memory use
This commit is contained in:
parent
281488611a
commit
481bbaf1fc
@ -39,6 +39,7 @@ void MemoryManager::PrintBytes(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint64_t MemoryManager::DeviceCacheBytes() { return CacheBytes[Acc] + CacheBytes[AccHuge] + CacheBytes[AccSmall]; }
|
uint64_t MemoryManager::DeviceCacheBytes() { return CacheBytes[Acc] + CacheBytes[AccHuge] + CacheBytes[AccSmall]; }
|
||||||
|
uint64_t MemoryManager::HostCacheBytes() { return CacheBytes[Cpu] + CacheBytes[CpuHuge] + CacheBytes[CpuSmall]; }
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
// Data tables for recently freed pooiniter caches
|
// Data tables for recently freed pooiniter caches
|
||||||
|
@ -71,6 +71,21 @@ enum ViewMode {
|
|||||||
CpuWriteDiscard = 0x10 // same for now
|
CpuWriteDiscard = 0x10 // same for now
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct MemoryStatus {
|
||||||
|
uint64_t DeviceBytes;
|
||||||
|
uint64_t DeviceLRUBytes;
|
||||||
|
uint64_t DeviceMaxBytes;
|
||||||
|
uint64_t HostToDeviceBytes;
|
||||||
|
uint64_t DeviceToHostBytes;
|
||||||
|
uint64_t HostToDeviceXfer;
|
||||||
|
uint64_t DeviceToHostXfer;
|
||||||
|
uint64_t DeviceEvictions;
|
||||||
|
uint64_t DeviceDestroy;
|
||||||
|
uint64_t DeviceAllocCacheBytes;
|
||||||
|
uint64_t HostAllocCacheBytes;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class MemoryManager {
|
class MemoryManager {
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@ -124,7 +139,24 @@ private:
|
|||||||
static uint64_t DeviceDestroy;
|
static uint64_t DeviceDestroy;
|
||||||
|
|
||||||
static uint64_t DeviceCacheBytes();
|
static uint64_t DeviceCacheBytes();
|
||||||
|
static uint64_t HostCacheBytes();
|
||||||
|
|
||||||
|
static MemoryStatus GetFootprint(void) {
|
||||||
|
MemoryStatus stat;
|
||||||
|
stat.DeviceBytes = DeviceBytes;
|
||||||
|
stat.DeviceLRUBytes = DeviceLRUBytes;
|
||||||
|
stat.DeviceMaxBytes = DeviceMaxBytes;
|
||||||
|
stat.HostToDeviceBytes = HostToDeviceBytes;
|
||||||
|
stat.DeviceToHostBytes = DeviceToHostBytes;
|
||||||
|
stat.HostToDeviceXfer = HostToDeviceXfer;
|
||||||
|
stat.DeviceToHostXfer = DeviceToHostXfer;
|
||||||
|
stat.DeviceEvictions = DeviceEvictions;
|
||||||
|
stat.DeviceDestroy = DeviceDestroy;
|
||||||
|
stat.DeviceAllocCacheBytes = DeviceCacheBytes();
|
||||||
|
stat.HostAllocCacheBytes = HostCacheBytes();
|
||||||
|
return stat;
|
||||||
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
#ifndef GRID_UVM
|
#ifndef GRID_UVM
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
Reference in New Issue
Block a user