UMPIRE
Umpire: resource management and provision
umpire::MemoryResourceTraits Struct Reference

#include </home/docs/checkouts/readthedocs.org/user_builds/umpire/checkouts/develop/src/umpire/util/MemoryResourceTraits.hpp>

Public Types

enum class  optimized_for { any , latency , bandwidth , access }
 
enum class  vendor_type {
  unknown , amd , ibm , intel ,
  nvidia
}
 
enum class  memory_type {
  unknown , ddr , gddr , hbm ,
  nvme
}
 
enum class  resource_type {
  unknown , host , device , device_const ,
  pinned , um , file , shared
}
 
enum class  shared_scope { unknown , node , socket }
 
enum class  granularity_type { unknown , fine_grained , coarse_grained }
 

Public Member Functions

 MemoryResourceTraits ()
 

Public Attributes

int id
 
bool unified = false
 
bool ipc = false
 
std::size_t size = 0
 
vendor_type vendor = vendor_type::unknown
 
memory_type kind = memory_type::unknown
 
optimized_for used_for = optimized_for::any
 
resource_type resource = resource_type::unknown
 
shared_scope scope = shared_scope::unknown
 
granularity_type granularity = granularity_type::unknown
 
bool tracking {true}
 

Member Enumeration Documentation

◆ optimized_for

Enumerator
any 
latency 
bandwidth 
access 

◆ vendor_type

Enumerator
unknown 
amd 
ibm 
intel 
nvidia 

◆ memory_type

Enumerator
unknown 
ddr 
gddr 
hbm 
nvme 

◆ resource_type

Enumerator
unknown 
host 
device 
device_const 
pinned 
um 
file 
shared 

◆ shared_scope

Enumerator
unknown 
node 
socket 

◆ granularity_type

Enumerator
unknown 
fine_grained 
coarse_grained 

Constructor & Destructor Documentation

◆ MemoryResourceTraits()

umpire::MemoryResourceTraits::MemoryResourceTraits ( )
inline

Member Data Documentation

◆ id

◆ unified

bool umpire::MemoryResourceTraits::unified = false

◆ ipc

bool umpire::MemoryResourceTraits::ipc = false

◆ size

std::size_t umpire::MemoryResourceTraits::size = 0

◆ vendor

vendor_type umpire::MemoryResourceTraits::vendor = vendor_type::unknown

◆ kind

◆ used_for

◆ resource

◆ scope

shared_scope umpire::MemoryResourceTraits::scope = shared_scope::unknown

◆ granularity

granularity_type umpire::MemoryResourceTraits::granularity = granularity_type::unknown

◆ tracking

bool umpire::MemoryResourceTraits::tracking {true}