cuda.core.experimental._device.DeviceProperties#

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

Bases: object

A class to query various attributes of a CUDA device.

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

Methods

__init__(*args, **kwargs)#

Attributes

async_engine_count#

int

int: Number of asynchronous engines.

Type:

DeviceProperties.async_engine_count

can_flush_remote_writes#

bool

bool: The CU_STREAM_WAIT_VALUE_FLUSH flag and the CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES MemOp are supported on the device. See Stream Memory Operations for additional details.

Type:

DeviceProperties.can_flush_remote_writes

can_map_host_memory#

bool

bool: Device can map host memory into CUDA address space.

Type:

DeviceProperties.can_map_host_memory

can_tex2d_gather#

bool

bool: True if device supports 2D texture gather operations, False if not.

Type:

DeviceProperties.can_tex2d_gather

can_use_64_bit_stream_mem_ops#

bool

bool: 64-bit operations are supported in cuStreamBatchMemOp and related MemOp APIs.

Type:

DeviceProperties.can_use_64_bit_stream_mem_ops

can_use_host_pointer_for_registered_mem#

bool

bool: Device can access host registered memory at the same virtual address as the CPU.

Type:

DeviceProperties.can_use_host_pointer_for_registered_mem

can_use_stream_wait_value_nor#

bool

bool: CU_STREAM_WAIT_VALUE_NOR is supported by MemOp APIs.

Type:

DeviceProperties.can_use_stream_wait_value_nor

clock_rate#

int

int: Typical clock frequency in kilohertz.

Type:

DeviceProperties.clock_rate

cluster_launch#

bool

bool: Indicates device supports cluster launch.

Type:

DeviceProperties.cluster_launch

compute_capability_major#

int

int: Major compute capability version number.

Type:

DeviceProperties.compute_capability_major

compute_capability_minor#

int

int: Minor compute capability version number.

Type:

DeviceProperties.compute_capability_minor

compute_mode#

int

int: Compute mode (See CUcomputemode for details).

Type:

DeviceProperties.compute_mode

compute_preemption_supported#

bool

bool: Device supports compute preemption.

Type:

DeviceProperties.compute_preemption_supported

concurrent_kernels#

bool

bool: Device can possibly execute multiple kernels concurrently.

Type:

DeviceProperties.concurrent_kernels

concurrent_managed_access#

bool

bool: Device can coherently access managed memory concurrently with the CPU.

Type:

DeviceProperties.concurrent_managed_access

cooperative_launch#

bool

bool: Device supports launching cooperative kernels via cuLaunchCooperativeKernel.

Type:

DeviceProperties.cooperative_launch

d3d12_cig_supported#

bool

bool: Device supports CIG with D3D12.

Type:

DeviceProperties.d3d12_cig_supported

deferred_mapping_cuda_array_supported#

bool

bool: Device supports deferred mapping CUDA arrays and CUDA mipmapped arrays.

Type:

DeviceProperties.deferred_mapping_cuda_array_supported

direct_managed_mem_access_from_host#

bool

bool: The host can directly access managed memory on the device without migration.

Type:

DeviceProperties.direct_managed_mem_access_from_host

dma_buf_supported#

bool

bool: Device supports buffer sharing with dma_buf mechanism.

Type:

DeviceProperties.dma_buf_supported

ecc_enabled#

bool

bool: Device has ECC support enabled.

Type:

DeviceProperties.ecc_enabled

generic_compression_supported#

bool

bool: Device supports compression of memory.

Type:

DeviceProperties.generic_compression_supported

global_l1_cache_supported#

bool

bool: Device supports caching globals in L1.

Type:

DeviceProperties.global_l1_cache_supported

global_memory_bus_width#

int

int: Global memory bus width in bits.

Type:

DeviceProperties.global_memory_bus_width

gpu_direct_rdma_flush_writes_options#

int

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

Type:

DeviceProperties.gpu_direct_rdma_flush_writes_options

gpu_direct_rdma_supported#

bool

bool: Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see https://docs.nvidia.com/cuda/gpudirect-rdma for more information).

Type:

DeviceProperties.gpu_direct_rdma_supported

gpu_direct_rdma_with_cuda_vmm_supported#

bool

bool: Device supports specifying the GPUDirect RDMA flag with cuMemCreate.

Type:

DeviceProperties.gpu_direct_rdma_with_cuda_vmm_supported

gpu_direct_rdma_writes_ordering#

int

int: GPUDirect RDMA writes to the device do not need to be flushed for consumers within the scope indicated by the returned attribute. See CUGPUDirectRDMAWritesOrdering for the numerical values returned here.

Type:

DeviceProperties.gpu_direct_rdma_writes_ordering

gpu_overlap#

bool

bool: Device can possibly copy memory and execute a kernel concurrently. Deprecated. Use instead async_engine_count.

Type:

DeviceProperties.gpu_overlap

gpu_pci_device_id#

int

int: The combined 16-bit PCI device ID and 16-bit PCI vendor ID.

Type:

DeviceProperties.gpu_pci_device_id

gpu_pci_subsystem_id#

int

int: The combined 16-bit PCI subsystem ID and 16-bit PCI subsystem vendor ID.

Type:

DeviceProperties.gpu_pci_subsystem_id

handle_type_fabric_supported#

bool

bool: Device supports exporting memory to a fabric handle with cuMemExportToShareableHandle() or requested with cuMemCreate().

Type:

DeviceProperties.handle_type_fabric_supported

handle_type_posix_file_descriptor_supported#

bool

bool: Device supports exporting memory to a posix file descriptor with cuMemExportToShareableHandle, if requested via cuMemCreate.

Type:

DeviceProperties.handle_type_posix_file_descriptor_supported

handle_type_win32_handle_supported#

bool

bool: Device supports exporting memory to a Win32 NT handle with cuMemExportToShareableHandle, if requested via cuMemCreate.

Type:

DeviceProperties.handle_type_win32_handle_supported

handle_type_win32_kmt_handle_supported#

bool

bool: Device supports exporting memory to a Win32 KMT handle with cuMemExportToShareableHandle, if requested via cuMemCreate.

Type:

DeviceProperties.handle_type_win32_kmt_handle_supported

host_alloc_dma_buf_supported#

bool

bool: Device supports page-locked host memory buffer sharing with dma_buf mechanism.

Type:

DeviceProperties.host_alloc_dma_buf_supported

host_memory_pools_supported#

bool

bool: Device suports HOST location with the cuMemAllocAsync and cuMemPool family of APIs.

Type:

DeviceProperties.host_memory_pools_supported

host_native_atomic_supported#

bool

bool: Link between the device and the host supports all native atomic operations.

Type:

DeviceProperties.host_native_atomic_supported

host_numa_id#

int

int: NUMA ID of the host node closest to the device. Returns -1 when system does not support NUMA.

Type:

DeviceProperties.host_numa_id

host_numa_memory_pools_supported#

bool

bool: Device supports HOST_NUMA location with the cuMemAllocAsync and cuMemPool family of APIs.

Type:

DeviceProperties.host_numa_memory_pools_supported

host_numa_multinode_ipc_supported#

bool

bool: Device supports HOST_NUMA location IPC between nodes in a multi-node system.

Type:

DeviceProperties.host_numa_multinode_ipc_supported

host_numa_virtual_memory_management_supported#

bool

bool: Device supports HOST_NUMA location with the virtual memory management APIs like cuMemCreate, cuMemMap and related APIs.

Type:

DeviceProperties.host_numa_virtual_memory_management_supported

host_register_supported#

bool

bool: Device supports host memory registration via cudaHostRegister.

Type:

DeviceProperties.host_register_supported

host_virtual_memory_management_supported#

bool

bool: Device supports HOST location with the virtual memory management APIs like cuMemCreate, cuMemMap and related APIs.

Type:

DeviceProperties.host_virtual_memory_management_supported

integrated#

bool

bool: Device is integrated with host memory.

Type:

DeviceProperties.integrated

ipc_event_supported#

bool

bool: Device supports IPC Events.

Type:

DeviceProperties.ipc_event_supported

kernel_exec_timeout#

bool

bool: Specifies whether there is a run time limit on kernels.

Type:

DeviceProperties.kernel_exec_timeout

l2_cache_size#

int

int: Size of L2 cache in bytes.

Type:

DeviceProperties.l2_cache_size

local_l1_cache_supported#

bool

bool: Device supports caching locals in L1.

Type:

DeviceProperties.local_l1_cache_supported

managed_memory#

bool

bool: Device can allocate managed memory on this system.

Type:

DeviceProperties.managed_memory

max_access_policy_window_size#

int

int: Maximum value of CUaccessPolicyWindow.num_bytes.

Type:

DeviceProperties.max_access_policy_window_size

max_block_dim_x#

int

int: Maximum block dimension X.

Type:

DeviceProperties.max_block_dim_x

max_block_dim_y#

int

int: Maximum block dimension Y.

Type:

DeviceProperties.max_block_dim_y

max_block_dim_z#

int

int: Maximum block dimension Z.

Type:

DeviceProperties.max_block_dim_z

max_blocks_per_multiprocessor#

int

int: Maximum number of blocks per multiprocessor.

Type:

DeviceProperties.max_blocks_per_multiprocessor

max_grid_dim_x#

int

int: Maximum grid dimension X.

Type:

DeviceProperties.max_grid_dim_x

max_grid_dim_y#

int

int: Maximum grid dimension Y.

Type:

DeviceProperties.max_grid_dim_y

max_grid_dim_z#

int

int: Maximum grid dimension Z.

Type:

DeviceProperties.max_grid_dim_z

max_persisting_l2_cache_size#

int

int: Maximum L2 persisting lines capacity setting in bytes.

Type:

DeviceProperties.max_persisting_l2_cache_size

max_pitch#

int

int: Maximum pitch in bytes allowed by memory copies.

Type:

DeviceProperties.max_pitch

max_registers_per_block#

int

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

Type:

DeviceProperties.max_registers_per_block

max_registers_per_multiprocessor#

int

int: Maximum number of 32-bit registers available per multiprocessor.

Type:

DeviceProperties.max_registers_per_multiprocessor

max_shared_memory_per_block#

int

int: Maximum shared memory available per block in bytes.

Type:

DeviceProperties.max_shared_memory_per_block

max_shared_memory_per_block_optin#

int

int: Maximum optin shared memory per block.

Type:

DeviceProperties.max_shared_memory_per_block_optin

max_shared_memory_per_multiprocessor#

int

int: Maximum shared memory available per multiprocessor in bytes.

Type:

DeviceProperties.max_shared_memory_per_multiprocessor

max_threads_per_block#

int

int: Maximum number of threads per block.

Type:

DeviceProperties.max_threads_per_block

max_threads_per_multiprocessor#

int

int: Maximum resident threads per multiprocessor.

Type:

DeviceProperties.max_threads_per_multiprocessor

maximum_surface1d_layered_layers#

int

int: Maximum layers in a 1D layered surface.

Type:

DeviceProperties.maximum_surface1d_layered_layers

maximum_surface1d_layered_width#

int

int: Maximum 1D layered surface width.

Type:

DeviceProperties.maximum_surface1d_layered_width

maximum_surface1d_width#

int

int: Maximum 1D surface width.

Type:

DeviceProperties.maximum_surface1d_width

maximum_surface2d_height#

int

int: Maximum 2D surface height.

Type:

DeviceProperties.maximum_surface2d_height

maximum_surface2d_layered_height#

int

int: Maximum 2D layered surface height.

Type:

DeviceProperties.maximum_surface2d_layered_height

maximum_surface2d_layered_layers#

int

int: Maximum layers in a 2D layered surface.

Type:

DeviceProperties.maximum_surface2d_layered_layers

maximum_surface2d_layered_width#

int

int: Maximum 2D layered surface width.

Type:

DeviceProperties.maximum_surface2d_layered_width

maximum_surface2d_width#

int

int: Maximum 2D surface width.

Type:

DeviceProperties.maximum_surface2d_width

maximum_surface3d_depth#

int

int: Maximum 3D surface depth.

Type:

DeviceProperties.maximum_surface3d_depth

maximum_surface3d_height#

int

int: Maximum 3D surface height.

Type:

DeviceProperties.maximum_surface3d_height

maximum_surface3d_width#

int

int: Maximum 3D surface width.

Type:

DeviceProperties.maximum_surface3d_width

maximum_surfacecubemap_layered_layers#

int

int: Maximum layers in a cubemap layered surface.

Type:

DeviceProperties.maximum_surfacecubemap_layered_layers

maximum_surfacecubemap_layered_width#

int

int: Maximum cubemap layered surface width.

Type:

DeviceProperties.maximum_surfacecubemap_layered_width

maximum_surfacecubemap_width#

int

int: Maximum cubemap surface width.

Type:

DeviceProperties.maximum_surfacecubemap_width

maximum_texture1d_layered_layers#

int

int: Maximum layers in a 1D layered texture.

Type:

DeviceProperties.maximum_texture1d_layered_layers

maximum_texture1d_layered_width#

int

int: Maximum 1D layered texture width.

Type:

DeviceProperties.maximum_texture1d_layered_width

maximum_texture1d_linear_width#

int

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

Type:

DeviceProperties.maximum_texture1d_linear_width

maximum_texture1d_mipmapped_width#

int

int: Maximum mipmapped 1D texture width.

Type:

DeviceProperties.maximum_texture1d_mipmapped_width

maximum_texture1d_width#

int

int: Maximum 1D texture width.

Type:

DeviceProperties.maximum_texture1d_width

maximum_texture2d_gather_height#

int

int: Maximum 2D texture gather height.

Type:

DeviceProperties.maximum_texture2d_gather_height

maximum_texture2d_gather_width#

int

int: Maximum 2D texture gather width.

Type:

DeviceProperties.maximum_texture2d_gather_width

maximum_texture2d_height#

int

int: Maximum 2D texture height.

Type:

DeviceProperties.maximum_texture2d_height

maximum_texture2d_layered_height#

int

int: Maximum 2D layered texture height.

Type:

DeviceProperties.maximum_texture2d_layered_height

maximum_texture2d_layered_layers#

int

int: Maximum layers in a 2D layered texture.

Type:

DeviceProperties.maximum_texture2d_layered_layers

maximum_texture2d_layered_width#

int

int: Maximum 2D layered texture width.

Type:

DeviceProperties.maximum_texture2d_layered_width

maximum_texture2d_linear_height#

int

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

Type:

DeviceProperties.maximum_texture2d_linear_height

maximum_texture2d_linear_pitch#

int

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

Type:

DeviceProperties.maximum_texture2d_linear_pitch

maximum_texture2d_linear_width#

int

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

Type:

DeviceProperties.maximum_texture2d_linear_width

maximum_texture2d_mipmapped_height#

int

int: Maximum mipmapped 2D texture height.

Type:

DeviceProperties.maximum_texture2d_mipmapped_height

maximum_texture2d_mipmapped_width#

int

int: Maximum mipmapped 2D texture width.

Type:

DeviceProperties.maximum_texture2d_mipmapped_width

maximum_texture2d_width#

int

int: Maximum 2D texture width.

Type:

DeviceProperties.maximum_texture2d_width

maximum_texture3d_depth#

int

int: Maximum 3D texture depth.

Type:

DeviceProperties.maximum_texture3d_depth

maximum_texture3d_depth_alternate#

int

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

Type:

DeviceProperties.maximum_texture3d_depth_alternate

maximum_texture3d_height#

int

int: Maximum 3D texture height.

Type:

DeviceProperties.maximum_texture3d_height

maximum_texture3d_height_alternate#

int

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

Type:

DeviceProperties.maximum_texture3d_height_alternate

maximum_texture3d_width#

int

int: Maximum 3D texture width.

Type:

DeviceProperties.maximum_texture3d_width

maximum_texture3d_width_alternate#

int

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

Type:

DeviceProperties.maximum_texture3d_width_alternate

maximum_texturecubemap_layered_layers#

int

int: Maximum layers in a cubemap layered texture.

Type:

DeviceProperties.maximum_texturecubemap_layered_layers

maximum_texturecubemap_layered_width#

int

int: Maximum cubemap layered texture width or height.

Type:

DeviceProperties.maximum_texturecubemap_layered_width

maximum_texturecubemap_width#

int

int: Maximum cubemap texture width or height.

Type:

DeviceProperties.maximum_texturecubemap_width

mem_decompress_algorithm_mask#

int

int: The returned valued shall be interpreted as a bitmask, where the individual bits are described by the CUmemDecompressAlgorithm enum.

Type:

DeviceProperties.mem_decompress_algorithm_mask

mem_decompress_maximum_length#

int

int: The returned valued is the maximum length in bytes of a single decompress operation that is allowed.

Type:

DeviceProperties.mem_decompress_maximum_length

mem_sync_domain_count#

int

int: Number of memory domains the device supports.

Type:

DeviceProperties.mem_sync_domain_count

memory_clock_rate#

int

int: Peak memory clock frequency in kilohertz.

Type:

DeviceProperties.memory_clock_rate

memory_pools_supported#

bool

bool: Device supports using the cuMemAllocAsync and cuMemPool family of APIs.

Type:

DeviceProperties.memory_pools_supported

mempool_supported_handle_types#

int

int: Handle types supported with mempool based IPC.

Type:

DeviceProperties.mempool_supported_handle_types

mps_enabled#

bool

bool: Indicates if contexts created on this device will be shared via MPS.

Type:

DeviceProperties.mps_enabled

multi_gpu_board#

bool

bool: Device is on a multi-GPU board.

Type:

DeviceProperties.multi_gpu_board

multi_gpu_board_group_id#

int

int: Unique id for a group of devices on the same multi-GPU board.

Type:

DeviceProperties.multi_gpu_board_group_id

multicast_supported#

bool

bool: Device supports switch multicast and reduction operations.

Type:

DeviceProperties.multicast_supported

multiprocessor_count#

int

int: Number of multiprocessors on device.

Type:

DeviceProperties.multiprocessor_count

numa_config#

int

int: NUMA configuration of a device: value is of type CUdeviceNumaConfig enum.

Type:

DeviceProperties.numa_config

numa_id#

int

int: NUMA node ID of the GPU memory.

Type:

DeviceProperties.numa_id

only_partial_host_native_atomic_supported#

bool

bool: Link between the device and the host supports only some native atomic operations.

Type:

DeviceProperties.only_partial_host_native_atomic_supported

pageable_memory_access#

bool

bool: Device supports coherently accessing pageable memory without calling cudaHostRegister on it.

Type:

DeviceProperties.pageable_memory_access

pageable_memory_access_uses_host_page_tables#

bool

bool: Device accesses pageable memory via the host’s page tables.

Type:

DeviceProperties.pageable_memory_access_uses_host_page_tables

pci_bus_id#

int

int: PCI bus ID of the device.

Type:

DeviceProperties.pci_bus_id

pci_device_id#

int

int: PCI device ID of the device.

Type:

DeviceProperties.pci_device_id

pci_domain_id#

int

int: PCI domain ID of the device.

Type:

DeviceProperties.pci_domain_id

read_only_host_register_supported#

bool

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.

Type:

DeviceProperties.read_only_host_register_supported

reserved_shared_memory_per_block#

int

int: Shared memory reserved by CUDA driver per block in bytes.

Type:

DeviceProperties.reserved_shared_memory_per_block

single_to_double_precision_perf_ratio#

int

int: Ratio of single precision performance (in floating-point operations per second) to double precision performance.

Type:

DeviceProperties.single_to_double_precision_perf_ratio

sparse_cuda_array_supported#

bool

bool: Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays.

Type:

DeviceProperties.sparse_cuda_array_supported

stream_priorities_supported#

bool

bool: True if device supports stream priorities, False if not.

Type:

DeviceProperties.stream_priorities_supported

surface_alignment#

int

int: Surface alignment requirement in bytes.

Type:

DeviceProperties.surface_alignment

tcc_driver#

bool

bool: Device is using TCC driver model.

Type:

DeviceProperties.tcc_driver

tensor_map_access_supported#

bool

bool: Device supports accessing memory using Tensor Map.

Type:

DeviceProperties.tensor_map_access_supported

texture_alignment#

int

int: Alignment requirement for textures.

Type:

DeviceProperties.texture_alignment

texture_pitch_alignment#

int

int: Pitch alignment requirement for textures.

Type:

DeviceProperties.texture_pitch_alignment

timeline_semaphore_interop_supported#

bool

bool: External timeline semaphore interop is supported on the device.

Type:

DeviceProperties.timeline_semaphore_interop_supported

total_constant_memory#

int

int: Memory available on device for constant variables in a CUDA C kernel in bytes.

Type:

DeviceProperties.total_constant_memory

unified_addressing#

bool

bool: Device shares a unified address space with the host.

Type:

DeviceProperties.unified_addressing

unified_function_pointers#

bool

bool: Device supports unified function pointers.

Type:

DeviceProperties.unified_function_pointers

virtual_memory_management_supported#

bool

bool: Device supports virtual memory management APIs like cuMemAddressReserve, cuMemCreate, cuMemMap and related APIs.

Type:

DeviceProperties.virtual_memory_management_supported

vulkan_cig_supported#

bool

bool: Device supports CIG with Vulkan.

Type:

DeviceProperties.vulkan_cig_supported

warp_size#

int

int: Warp size in threads.

Type:

DeviceProperties.warp_size