pub struct DeviceProperties {Show 85 fields
pub name: String,
pub uuid: Uuid,
pub luid: [u8; 8],
pub luid_device_node_mask: u32,
pub total_global_mem: usize,
pub shared_mem_per_block: usize,
pub regs_per_block: i32,
pub warp_size: i32,
pub mem_pitch: usize,
pub max_threads_per_block: i32,
pub max_threads_dim: [i32; 3],
pub max_grid_size: [i32; 3],
pub total_const_mem: usize,
pub major: i32,
pub minor: i32,
pub texture_alignment: usize,
pub texture_pitch_alignment: usize,
pub multi_processor_count: i32,
pub integrated: bool,
pub can_map_host_memory: bool,
pub max_texture1d: i32,
pub max_texture1d_mipmap: i32,
pub max_texture2d: [i32; 2],
pub max_texture2d_mipmap: [i32; 2],
pub max_texture2d_linear: [i32; 3],
pub max_texture2d_gather: [i32; 2],
pub max_texture3d: [i32; 3],
pub max_texture3d_alt: [i32; 3],
pub max_texture_cubemap: i32,
pub max_texture1d_layered: [i32; 2],
pub max_texture2d_layered: [i32; 3],
pub max_texture_cubemap_layered: [i32; 2],
pub max_surface1d: i32,
pub max_surface2d: [i32; 2],
pub max_surface3d: [i32; 3],
pub max_surface1d_layered: [i32; 2],
pub max_surface2d_layered: [i32; 3],
pub max_surface_cubemap: i32,
pub max_surface_cubemap_layered: [i32; 2],
pub surface_alignment: usize,
pub concurrent_kernels: bool,
pub ecc_enabled: bool,
pub pci_bus_id: i32,
pub pci_device_id: i32,
pub pci_domain_id: i32,
pub tcc_driver: bool,
pub async_engine_count: i32,
pub unified_addressing: bool,
pub memory_bus_width: i32,
pub l2_cache_size: i32,
pub persisting_l2_cache_max_size: i32,
pub max_threads_per_multi_processor: i32,
pub stream_priorities_supported: bool,
pub global_l1_cache_supported: bool,
pub local_l1_cache_supported: bool,
pub shared_mem_per_multiprocessor: usize,
pub regs_per_multiprocessor: i32,
pub managed_memory: bool,
pub is_multi_gpu_board: bool,
pub multi_gpu_board_group_id: i32,
pub host_native_atomic_supported: bool,
pub pageable_memory_access: bool,
pub concurrent_managed_access: bool,
pub compute_preemption_supported: bool,
pub can_use_host_pointer_for_registered_mem: bool,
pub cooperative_launch: bool,
pub shared_mem_per_block_optin: usize,
pub pageable_memory_access_uses_host_page_tables: bool,
pub direct_managed_mem_access_from_host: bool,
pub max_blocks_per_multi_processor: i32,
pub access_policy_max_window_size: i32,
pub reserved_shared_mem_per_block: usize,
pub host_register_supported: bool,
pub sparse_cuda_array_supported: bool,
pub host_register_read_only_supported: bool,
pub timeline_semaphore_interop_supported: bool,
pub memory_pools_supported: bool,
pub gpu_direct_rdma_supported: bool,
pub gpu_direct_rdma_flush_writes_options: u32,
pub gpu_direct_rdma_writes_ordering: i32,
pub memory_pool_supported_handle_types: u32,
pub deferred_mapping_cuda_array_supported: bool,
pub ipc_event_supported: bool,
pub cluster_launch: bool,
pub unified_function_pointers: bool,
}Expand description
Rust representation of CUDA device properties.
Fields§
§name: StringASCII string identifying device.
uuid: Uuid16-byte unique identifier.
luid: [u8; 8]8-byte locally unique identifier. Value is undefined on TCC and non-Windows platforms.
luid_device_node_mask: u32LUID device node mask. Value is undefined on TCC and non-Windows platforms.
total_global_mem: usizeGlobal memory available on device in bytes.
Shared memory available per block in bytes.
regs_per_block: i3232-bit registers available per block.
warp_size: i32Warp size in threads.
mem_pitch: usizeMaximum pitch in bytes allowed by memory copies.
max_threads_per_block: i32Maximum number of threads per block.
max_threads_dim: [i32; 3]Maximum size of each dimension of a block.
max_grid_size: [i32; 3]Maximum size of each dimension of a grid.
total_const_mem: usizeConstant memory available on device in bytes.
major: i32Major compute capability.
minor: i32Minor compute capability.
texture_alignment: usizeAlignment requirement for textures.
texture_pitch_alignment: usizePitch alignment requirement for texture references bound to pitched memory.
multi_processor_count: i32Number of multiprocessors on device.
integrated: boolDevice is integrated as opposed to discrete.
can_map_host_memory: boolDevice can map host memory into CUDA address space.
max_texture1d: i32Maximum 1D texture size.
max_texture1d_mipmap: i32Maximum 1D mipmapped texture size.
max_texture2d: [i32; 2]Maximum 2D texture dimensions.
max_texture2d_mipmap: [i32; 2]Maximum 2D mipmapped texture dimensions.
max_texture2d_linear: [i32; 3]Maximum dimensions (width, height, pitch) for 2D textures bound to linear memory.
max_texture2d_gather: [i32; 2]Maximum 2D texture dimensions for texture gather operations.
max_texture3d: [i32; 3]Maximum 3D texture dimensions.
max_texture3d_alt: [i32; 3]Maximum alternate 3D texture dimensions.
max_texture_cubemap: i32Maximum Cubemap texture dimensions.
max_texture1d_layered: [i32; 2]Maximum 1D layered texture dimensions.
max_texture2d_layered: [i32; 3]Maximum 2D layered texture dimensions.
max_texture_cubemap_layered: [i32; 2]Maximum Cubemap layered texture dimensions.
max_surface1d: i32Maximum 1D surface size.
max_surface2d: [i32; 2]Maximum 2D surface dimensions.
max_surface3d: [i32; 3]Maximum 3D surface dimensions.
max_surface1d_layered: [i32; 2]Maximum 1D layered surface dimensions.
max_surface2d_layered: [i32; 3]Maximum 2D layered surface dimensions.
max_surface_cubemap: i32Maximum Cubemap surface dimensions.
max_surface_cubemap_layered: [i32; 2]Maximum Cubemap layered surface dimensions.
surface_alignment: usizeAlignment requirements for surfaces.
concurrent_kernels: boolDevice can possibly execute multiple kernels concurrently.
ecc_enabled: boolDevice has ECC support enabled.
pci_bus_id: i32PCI bus ID of the device.
pci_device_id: i32PCI device ID of the device.
pci_domain_id: i32PCI domain ID of the device.
tcc_driver: bool1 if device is a Tesla device using TCC driver, 0 otherwise.
async_engine_count: i32Number of asynchronous engines.
unified_addressing: boolDevice shares a unified address space with the host.
memory_bus_width: i32Global memory bus width in bits.
l2_cache_size: i32Size of L2 cache in bytes.
persisting_l2_cache_max_size: i32Device’s maximum l2 persisting lines capacity setting in bytes.
max_threads_per_multi_processor: i32Maximum resident threads per multiprocessor.
stream_priorities_supported: boolDevice supports stream priorities.
global_l1_cache_supported: boolDevice supports caching globals in L1.
local_l1_cache_supported: boolDevice supports caching locals in L1.
Shared memory available per multiprocessor in bytes.
regs_per_multiprocessor: i3232-bit registers available per multiprocessor.
managed_memory: boolDevice supports allocating managed memory on this system.
is_multi_gpu_board: boolDevice is on a multi-GPU board.
multi_gpu_board_group_id: i32Unique identifier for a group of devices on the same multi-GPU board.
host_native_atomic_supported: boolLink between the device and the host supports native atomic operations.
pageable_memory_access: boolDevice supports coherently accessing pageable memory without calling DeviceMemory::register_host on it.
concurrent_managed_access: boolDevice can coherently access managed memory concurrently with the CPU.
compute_preemption_supported: boolDevice supports Compute Preemption.
can_use_host_pointer_for_registered_mem: boolDevice can access host registered memory at the same virtual address as the CPU.
cooperative_launch: boolDevice supports cooperative kernel launches.
Per device maximum shared memory per block usable by special opt-in.
pageable_memory_access_uses_host_page_tables: boolDevice accesses pageable memory via the host’s page tables.
direct_managed_mem_access_from_host: boolHost can directly access managed memory on the device without migration.
max_blocks_per_multi_processor: i32Maximum number of resident blocks per multiprocessor.
access_policy_max_window_size: i32Maximum value of the CUDA access-policy window num_bytes field.
Shared memory reserved by CUDA driver per block in bytes.
host_register_supported: boolDevice supports host memory registration via DeviceMemory::register_host.
sparse_cuda_array_supported: boolDevice supports sparse CUDA arrays and sparse CUDA mipmapped arrays.
host_register_read_only_supported: boolDevice supports HostRegisterFlags::READ_ONLY for host registrations mapped as read-only to the GPU.
timeline_semaphore_interop_supported: boolExternal timeline semaphore interop is supported.
memory_pools_supported: boolDevice supports CUDA memory pools.
gpu_direct_rdma_supported: boolDevice supports GPUDirect RDMA APIs.
gpu_direct_rdma_flush_writes_options: u32The returned flags may be used as subset of the supported write ordering MASTs supplied with GPUDirect RDMA writes.
gpu_direct_rdma_writes_ordering: i32GPUDirect RDMA writes are guaranteed to be ordered with respect to other GPUDirect RDMA writes from the same GPU.
memory_pool_supported_handle_types: u32Handle types supported with mempool based IPC.
deferred_mapping_cuda_array_supported: boolIndicates device supports deferred mapping CUDA arrays and mapping hints.
ipc_event_supported: boolDevice supports IPC Events.
cluster_launch: boolDevice supports Cluster Launch.
unified_function_pointers: boolDevice supports unified function pointers.
Trait Implementations§
Source§impl Clone for DeviceProperties
impl Clone for DeviceProperties
Source§fn clone(&self) -> DeviceProperties
fn clone(&self) -> DeviceProperties
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more