cuda.core.experimental._device.DeviceProperties

class cuda.core.experimental._device.DeviceProperties(*args, **kwargs)

A class to query various attributes of a CUDA device.

Attributes are read-only and provide information about the device.

Methods

__init__()

Attributes

property can_map_host_memory: bool

True if the device can map host memory into the CUDA address space, False if not.

Type:

bool

property can_use_host_pointer_for_registered_mem: bool

True if device can access host registered memory at the same virtual address as the CPU, False if not.

property clock_rate: int

The typical clock frequency in kilohertz.

Type:

int

property compute_capability_major: int

Major compute capability version number.

Type:

int

property compute_capability_minor: int

Minor compute capability version number.

Type:

int

property compute_mode: int

Compute mode that device is currently in.

Type:

int

property compute_preemption_supported: bool

True if device supports Compute Preemption, False if not.

property concurrent_kernels: bool

True if the device supports executing multiple kernels within the same context simultaneously, False if not.

Type:

bool

property concurrent_managed_access: bool

True if device can coherently access managed memory concurrently with the CPU, False if not.

property deferred_mapping_cuda_array_supported: bool

True if device supports deferred mapping CUDA arrays and CUDA mipmapped arrays, False if not.

property direct_managed_mem_access_from_host: bool

True if the host can directly access managed memory on the device without migration, False if not.

property ecc_enabled: bool

True if error correction is enabled on the device, False if error correction is disabled or not supported by the device.

Type:

bool

property generic_compression_supported: bool

True if device supports compressible memory allocation via cuMemCreate, False if not.

property global_l1_cache_supported: bool

True if device supports caching globals in L1 cache, False if caching globals in L1 cache is not supported by the device.

property global_memory_bus_width: int

Global memory bus width in bits.

Type:

int

property gpu_direct_rdma_flush_writes_options: int

The returned attribute shall be interpreted as a bitmask, where the individual bits are described by the CUflushGPUDirectRDMAWritesOptions enum.

property gpu_direct_rdma_supported: bool

True if device supports GPUDirect RDMA APIs, False if not.

property gpu_direct_rdma_with_cuda_vmm_supported: bool

True if device supports specifying the GPUDirect RDMA flag with cuMemCreate, False if not.

property gpu_direct_rdma_writes_ordering: int

GPUDirect RDMA writes to the device do not need to be flushed for consumers within the scope indicated by the returned attribute.

property gpu_overlap: bool

True if the device can concurrently copy memory between host and device while executing a kernel, False if not.

Type:

bool

property handle_type_posix_file_descriptor_supported: bool

True if device supports exporting memory to a posix file descriptor with cuMemExportToShareableHandle, False if not.

property handle_type_win32_handle_supported: bool

True if device supports exporting memory to a Win32 NT handle with cuMemExportToShareableHandle, False if not.

property handle_type_win32_kmt_handle_supported: bool

True if device supports exporting memory to a Win32 KMT handle with cuMemExportToShareableHandle, False if not.

property host_native_atomic_supported: bool

True if Link between the device and the host supports native atomic operations, False if not.

property integrated: bool

True if the device is integrated with the memory subsystem, False if not.

Type:

bool

property kernel_exec_timeout: bool

True if there is a run time limit for kernels executed on the device, False if not.

Type:

bool

property l2_cache_size: int

Size of L2 cache in bytes, 0 if the device doesn’t have L2 cache.

Type:

int

property local_l1_cache_supported: bool

True if device supports caching locals in L1 cache, False if caching locals in L1 cache is not supported by the device.

property managed_memory: bool

True if device supports allocating managed memory on this system, False if allocating managed memory is not supported by the device on this system.

property max_access_policy_window_size: int

Maximum value of CUaccessPolicyWindow::num_bytes.

property max_block_dim_x: int

Maximum x-dimension of a block.

Type:

int

property max_block_dim_y: int

Maximum y-dimension of a block.

Type:

int

property max_block_dim_z: int

Maximum z-dimension of a block.

Type:

int

property max_blocks_per_multiprocessor: int

Maximum number of thread blocks that can reside on a multiprocessor.

property max_grid_dim_x: int

Maximum x-dimension of a grid.

Type:

int

property max_grid_dim_y: int

Maximum y-dimension of a grid.

Type:

int

property max_grid_dim_z: int

Maximum z-dimension of a grid.

Type:

int

property max_persisting_l2_cache_size: int

Maximum L2 persisting lines capacity setting in bytes.

property max_pitch: int

Maximum pitch in bytes allowed by the memory copy functions that involve memory regions allocated through cuMemAllocPitch().

Type:

int

property max_registers_per_block: int

Maximum number of 32-bit registers available to a thread block.

Type:

int

property max_registers_per_multiprocessor: int

Maximum number of 32-bit registers available to a multiprocessor.

property max_shared_memory_per_block: int

Maximum amount of shared memory available to a thread block in bytes.

Type:

int

property max_shared_memory_per_block_optin: int

The maximum per block shared memory size supported on this device.

property max_shared_memory_per_multiprocessor: int

Maximum amount of shared memory available to a multiprocessor in bytes.

property max_threads_per_block: int

Maximum number of threads per block.

Type:

int

property max_threads_per_multiprocessor: int

Maximum resident threads per multiprocessor.

Type:

int

property maximum_surface1d_layered_layers: int

Maximum layers in a 1D layered surface.

Type:

int

property maximum_surface1d_layered_width: int

Maximum 1D layered surface width.

Type:

int

property maximum_surface1d_width: int

Maximum 1D surface width.

Type:

int

property maximum_surface2d_height: int

Maximum 2D surface height.

Type:

int

property maximum_surface2d_layered_height: int

Maximum 2D layered surface height.

Type:

int

property maximum_surface2d_layered_layers: int

Maximum layers in a 2D layered surface.

Type:

int

property maximum_surface2d_layered_width: int

Maximum 2D layered surface width.

Type:

int

property maximum_surface2d_width: int

Maximum 2D surface width.

Type:

int

property maximum_surface3d_depth: int

Maximum 3D surface depth.

Type:

int

property maximum_surface3d_height: int

Maximum 3D surface height.

Type:

int

property maximum_surface3d_width: int

Maximum 3D surface width.

Type:

int

property maximum_surfacecubemap_layered_layers: int

Maximum layers in a cubemap layered surface.

Type:

int

property maximum_surfacecubemap_layered_width: int

Maximum cubemap layered surface width.

Type:

int

property maximum_surfacecubemap_width: int

Maximum cubemap surface width.

Type:

int

property maximum_texture1d_layered_layers: int

Maximum layers in a 1D layered texture.

Type:

int

property maximum_texture1d_layered_width: int

Maximum 1D layered texture width.

Type:

int

property maximum_texture1d_linear_width: int

Maximum width for a 1D texture bound to linear memory.

Type:

int

property maximum_texture1d_mipmapped_width: int

Maximum mipmapped 1D texture width.

Type:

int

property maximum_texture1d_width: int

Maximum 1D texture width.

Type:

int

property maximum_texture2d_height: int

Maximum 2D texture height.

Type:

int

property maximum_texture2d_layered_height: int

Maximum 2D layered texture height.

Type:

int

property maximum_texture2d_layered_layers: int

Maximum layers in a 2D layered texture.

Type:

int

property maximum_texture2d_layered_width: int

Maximum 2D layered texture width.

Type:

int

property maximum_texture2d_linear_height: int

Maximum height for a 2D texture bound to linear memory.

Type:

int

property maximum_texture2d_linear_pitch: int

Maximum pitch in bytes for a 2D texture bound to linear memory.

Type:

int

property maximum_texture2d_linear_width: int

Maximum width for a 2D texture bound to linear memory.

Type:

int

property maximum_texture2d_mipmapped_height: int

Maximum mipmapped 2D texture height.

Type:

int

property maximum_texture2d_mipmapped_width: int

Maximum mipmapped 2D texture width.

Type:

int

property maximum_texture2d_width: int

Maximum 2D texture width.

Type:

int

property maximum_texture3d_depth: int

Maximum 3D texture depth.

Type:

int

property maximum_texture3d_depth_alternate: int

Alternate maximum 3D texture depth, 0 if no alternate maximum 3D texture size is supported.

Type:

int

property maximum_texture3d_height: int

Maximum 3D texture height.

Type:

int

property maximum_texture3d_height_alternate: int

Alternate maximum 3D texture height, 0 if no alternate maximum 3D texture size is supported.

Type:

int

property maximum_texture3d_width: int

Maximum 3D texture width.

Type:

int

property maximum_texture3d_width_alternate: int

Alternate maximum 3D texture width, 0 if no alternate maximum 3D texture size is supported.

Type:

int

property maximum_texturecubemap_layered_layers: int

Maximum layers in a cubemap layered texture.

Type:

int

property maximum_texturecubemap_layered_width: int

Maximum cubemap layered texture width or height.

Type:

int

property maximum_texturecubemap_width: int

Maximum cubemap texture width or height.

Type:

int

property memory_clock_rate: int

Peak memory clock frequency in kilohertz.

Type:

int

property memory_pools_supported: bool

True if device supports using the cuMemAllocAsync and cuMemPool family of APIs, False if not.

property mempool_supported_handle_types: int

Bitmask of handle types supported with mempool based IPC.

property multi_gpu_board: bool

True if device is on a multi-GPU board, False if not.

property multi_gpu_board_group_id: int

Unique identifier for a group of devices associated with the same board.

property multicast_supported: bool

True if device supports switch multicast and reduction operations, False if not.

property multiprocessor_count: int

Number of multiprocessors on the device.

Type:

int

property numa_config: int

NUMA configuration of a device.

property numa_id: int

NUMA node ID of the GPU memory.

property pageable_memory_access: bool

True if device supports coherently accessing pageable memory without calling cudaHostRegister on it, False if not.

property pageable_memory_access_uses_host_page_tables: bool

True if device accesses pageable memory via the host’s page tables, False if not.

property pci_bus_id: int

PCI bus identifier of the device.

Type:

int

property pci_device_id: int

PCI device (also known as slot) identifier of the device.

Type:

int

property pci_domain_id: int

PCI domain identifier of the device.

Type:

int

property read_only_host_register_supported: bool

True if device supports using the cuMemHostRegister flag CU_MEMHOSTERGISTER_READ_ONLY to register memory that must be mapped as read-only to the GPU, False if not.

property reserved_shared_memory_per_block: int

Amount of shared memory per block reserved by CUDA driver in bytes.

property single_to_double_precision_perf_ratio: int

Ratio of single precision performance to double precision performance.

property sparse_cuda_array_supported: bool

True if device supports sparse CUDA arrays and sparse CUDA mipmapped arrays, False if not.

property tcc_driver: bool

True if the device is using a TCC driver, False if not.

Type:

bool

property texture_alignment: int

Alignment requirement; texture base addresses aligned to textureAlign bytes do not need an offset applied to texture fetches.

Type:

int

property texture_pitch_alignment: int

Pitch alignment requirement for 2D texture references bound to pitched memory.

Type:

int

property total_constant_memory: int

Memory available on device for __constant__ variables in a CUDA C kernel in bytes.

Type:

int

property unified_addressing: bool

True if the device shares a unified address space with the host, False if not.

Type:

bool

property virtual_memory_management_supported: bool

True if device supports virtual memory management APIs like cuMemAddressReserve, cuMemCreate, cuMemMap and related APIs, False if not.

property warp_size: int

Warp size in threads.

Type:

int