RuntimeConfig
-
struct RuntimeConfig
Public Members
-
HostMemoryKind host_memory_kind = HostMemoryKind::NoPool
The type of memory pool to use for the host.
-
size_t host_memory_limit = std::numeric_limits<size_t>::max()
Maximum amount of memory that can be allocated on the host, in bytes.
-
size_t host_memory_block_size = 0
If nonzero, use an arena allocator on the host. This will allocate large blocks of the specified size, which are further split into smaller allocations by the KMM runtime system. This reduces the number of memory allocation requests to the OS.
-
DeviceMemoryKind device_memory_kind = DeviceMemoryKind::DefaultPool
The type of memory pool to use on the GPU.
-
size_t device_memory_limit = std::numeric_limits<size_t>::max()
Maximum amount of memory that can be allocated on each GPU, in bytes. Note that this specified limit is allowed to exceed the physical memory size of the GPU, in which case the physical memory is used as the limit instead.
-
size_t device_memory_block_size = 0
If nonzero, use an arena allocator on each device. This will allocate large blocks of the specified size, from which smaller allocations are subsequently sub-allocated.
-
size_t device_concurrent_streams = 1
The number of concurrent streams on each device for execution of kernels.
-
bool debug_mode = false
Enable this run the system in debug mode. This will be significantly slower, but can be used to track down synchronization bugs.
-
HostMemoryKind host_memory_kind = HostMemoryKind::NoPool