Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Attributes | List of all members
uni20::cuda::DeviceCapabilities Struct Reference

Immutable hardware properties cached for one CUDA device ordinal. More...

#include <device.hpp>

Public Attributes

int async_engine_count = 0
 Number of asynchronous copy engines.
 
bool can_map_host_memory = false
 Whether the device can map page-locked host memory.
 
int compute_capability_major = 0
 CUDA compute-capability major version.
 
int compute_capability_minor = 0
 CUDA compute-capability minor version.
 
bool concurrent_kernels = false
 Whether the device supports concurrent kernel execution.
 
bool concurrent_managed_access = false
 Whether CPU and device may concurrently access managed memory.
 
bool cooperative_launch = false
 Whether cooperative kernel launch is supported.
 
bool ecc_enabled = false
 Whether ECC is enabled on the device.
 
bool managed_memory = false
 Whether the device supports managed-memory allocation.
 
int max_threads_per_block = 0
 Maximum threads in one thread block.
 
int max_threads_per_multiprocessor = 0
 Maximum resident threads per streaming multiprocessor.
 
bool memory_pools_supported = false
 Whether stream-ordered CUDA memory pools are supported.
 
int multiprocessor_count = 0
 Number of streaming multiprocessors.
 
std::string name {}
 CUDA runtime device name.
 
bool pageable_memory_access = false
 Whether the device can directly access pageable host memory.
 
int pci_bus = 0
 PCI bus identifier.
 
int pci_device = 0
 PCI device identifier.
 
int pci_domain = 0
 PCI domain identifier.
 
std::size_t shared_memory_per_block = 0
 Maximum shared memory per thread block in bytes.
 
std::size_t shared_memory_per_multiprocessor = 0
 Maximum shared memory per streaming multiprocessor in bytes.
 
bool stream_priorities_supported = false
 Whether CUDA stream priorities are supported.
 
std::size_t total_global_memory = 0
 Total device global memory in bytes.
 
bool unified_addressing = false
 Whether the device uses unified virtual addressing.
 
std::array< std::uint8_t, 16 > uuid {}
 Stable 16-byte CUDA device UUID.
 
int warp_size = 0
 Hardware warp size in threads.
 

Detailed Description

Immutable hardware properties cached for one CUDA device ordinal.

Device::capabilities() returns the process-wide cached instance. Provider-library support and mutable execution resources are not device hardware capabilities and are tracked separately.

Member Data Documentation

◆ async_engine_count

int uni20::cuda::DeviceCapabilities::async_engine_count = 0

Number of asynchronous copy engines.

◆ can_map_host_memory

bool uni20::cuda::DeviceCapabilities::can_map_host_memory = false

Whether the device can map page-locked host memory.

◆ compute_capability_major

int uni20::cuda::DeviceCapabilities::compute_capability_major = 0

CUDA compute-capability major version.

◆ compute_capability_minor

int uni20::cuda::DeviceCapabilities::compute_capability_minor = 0

CUDA compute-capability minor version.

◆ concurrent_kernels

bool uni20::cuda::DeviceCapabilities::concurrent_kernels = false

Whether the device supports concurrent kernel execution.

◆ concurrent_managed_access

bool uni20::cuda::DeviceCapabilities::concurrent_managed_access = false

Whether CPU and device may concurrently access managed memory.

◆ cooperative_launch

bool uni20::cuda::DeviceCapabilities::cooperative_launch = false

Whether cooperative kernel launch is supported.

◆ ecc_enabled

bool uni20::cuda::DeviceCapabilities::ecc_enabled = false

Whether ECC is enabled on the device.

◆ managed_memory

bool uni20::cuda::DeviceCapabilities::managed_memory = false

Whether the device supports managed-memory allocation.

◆ max_threads_per_block

int uni20::cuda::DeviceCapabilities::max_threads_per_block = 0

Maximum threads in one thread block.

◆ max_threads_per_multiprocessor

int uni20::cuda::DeviceCapabilities::max_threads_per_multiprocessor = 0

Maximum resident threads per streaming multiprocessor.

◆ memory_pools_supported

bool uni20::cuda::DeviceCapabilities::memory_pools_supported = false

Whether stream-ordered CUDA memory pools are supported.

◆ multiprocessor_count

int uni20::cuda::DeviceCapabilities::multiprocessor_count = 0

Number of streaming multiprocessors.

◆ name

std::string uni20::cuda::DeviceCapabilities::name {}

CUDA runtime device name.

◆ pageable_memory_access

bool uni20::cuda::DeviceCapabilities::pageable_memory_access = false

Whether the device can directly access pageable host memory.

◆ pci_bus

int uni20::cuda::DeviceCapabilities::pci_bus = 0

PCI bus identifier.

◆ pci_device

int uni20::cuda::DeviceCapabilities::pci_device = 0

PCI device identifier.

◆ pci_domain

int uni20::cuda::DeviceCapabilities::pci_domain = 0

PCI domain identifier.

◆ shared_memory_per_block

std::size_t uni20::cuda::DeviceCapabilities::shared_memory_per_block = 0

Maximum shared memory per thread block in bytes.

◆ shared_memory_per_multiprocessor

std::size_t uni20::cuda::DeviceCapabilities::shared_memory_per_multiprocessor = 0

Maximum shared memory per streaming multiprocessor in bytes.

◆ stream_priorities_supported

bool uni20::cuda::DeviceCapabilities::stream_priorities_supported = false

Whether CUDA stream priorities are supported.

◆ total_global_memory

std::size_t uni20::cuda::DeviceCapabilities::total_global_memory = 0

Total device global memory in bytes.

◆ unified_addressing

bool uni20::cuda::DeviceCapabilities::unified_addressing = false

Whether the device uses unified virtual addressing.

◆ uuid

std::array<std::uint8_t, 16> uni20::cuda::DeviceCapabilities::uuid {}

Stable 16-byte CUDA device UUID.

◆ warp_size

int uni20::cuda::DeviceCapabilities::warp_size = 0

Hardware warp size in threads.


The documentation for this struct was generated from the following file: