cuda.core._device.DeviceProperties#

class cuda.core._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__(*args, **kwargs)#

Attributes

async_engine_count#

int: Number of asynchronous engines.

can_flush_remote_writes#

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.

can_map_host_memory#

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

can_tex2d_gather#

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

can_use_64_bit_stream_mem_ops#

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

can_use_host_pointer_for_registered_mem#

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

can_use_stream_wait_value_nor#

bool: CU_STREAM_WAIT_VALUE_NOR is supported by MemOp APIs.

clock_rate#

int: Typical clock frequency in kilohertz.

cluster_launch#

bool: Indicates device supports cluster launch.

compute_capability_major#

int: Major compute capability version number.

compute_capability_minor#

int: Minor compute capability version number.

compute_mode#

int: Compute mode (See CUcomputemode for details).

compute_preemption_supported#

bool: Device supports compute preemption.

concurrent_kernels#

bool: Device can possibly execute multiple kernels concurrently.

concurrent_managed_access#

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

cooperative_launch#

bool: Device supports launching cooperative kernels via cuLaunchCooperativeKernel.

d3d12_cig_supported#

bool: Device supports CIG with D3D12.

deferred_mapping_cuda_array_supported#

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

direct_managed_mem_access_from_host#

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

dma_buf_supported#

bool: Device supports buffer sharing with dma_buf mechanism.

ecc_enabled#

bool: Device has ECC support enabled.

generic_compression_supported#

bool: Device supports compression of memory.

global_l1_cache_supported#

bool: Device supports caching globals in L1.

global_memory_bus_width#

int: Global memory bus width in bits.

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.

gpu_direct_rdma_supported#

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

gpu_direct_rdma_with_cuda_vmm_supported#

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

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. See CUGPUDirectRDMAWritesOrdering for the numerical values returned here.

gpu_overlap#

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

gpu_pci_device_id#

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

Returns 0 if the driver does not support this query.

gpu_pci_subsystem_id#

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

Returns 0 if the driver does not support this query.

handle_type_fabric_supported#

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

handle_type_posix_file_descriptor_supported#

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

handle_type_win32_handle_supported#

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

handle_type_win32_kmt_handle_supported#

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

host_alloc_dma_buf_supported#

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

host_memory_pools_supported#

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

host_native_atomic_supported#

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

host_numa_id#

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

host_numa_memory_pools_supported#

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

host_numa_multinode_ipc_supported#

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

host_numa_virtual_memory_management_supported#

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

host_register_supported#

bool: Device supports host memory registration via cudaHostRegister.

host_virtual_memory_management_supported#

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

integrated#

bool: Device is integrated with host memory.

ipc_event_supported#

bool: Device supports IPC Events.

kernel_exec_timeout#

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

l2_cache_size#

int: Size of L2 cache in bytes.

local_l1_cache_supported#

bool: Device supports caching locals in L1.

managed_memory#

bool: Device can allocate managed memory on this system.

max_access_policy_window_size#

int: Maximum value of CUaccessPolicyWindow.num_bytes.

max_block_dim_x#

int: Maximum block dimension X.

max_block_dim_y#

int: Maximum block dimension Y.

max_block_dim_z#

int: Maximum block dimension Z.

max_blocks_per_multiprocessor#

int: Maximum number of blocks per multiprocessor.

max_grid_dim_x#

int: Maximum grid dimension X.

max_grid_dim_y#

int: Maximum grid dimension Y.

max_grid_dim_z#

int: Maximum grid dimension Z.

max_persisting_l2_cache_size#

int: Maximum L2 persisting lines capacity setting in bytes.

max_pitch#

int: Maximum pitch in bytes allowed by memory copies.

max_registers_per_block#

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

max_registers_per_multiprocessor#

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

max_shared_memory_per_block#

int: Maximum shared memory available per block in bytes.

max_shared_memory_per_block_optin#

int: Maximum optin shared memory per block.

max_shared_memory_per_multiprocessor#

int: Maximum shared memory available per multiprocessor in bytes.

max_threads_per_block#

int: Maximum number of threads per block.

max_threads_per_multiprocessor#

int: Maximum resident threads per multiprocessor.

maximum_surface1d_layered_layers#

int: Maximum layers in a 1D layered surface.

maximum_surface1d_layered_width#

int: Maximum 1D layered surface width.

maximum_surface1d_width#

int: Maximum 1D surface width.

maximum_surface2d_height#

int: Maximum 2D surface height.

maximum_surface2d_layered_height#

int: Maximum 2D layered surface height.

maximum_surface2d_layered_layers#

int: Maximum layers in a 2D layered surface.

maximum_surface2d_layered_width#

int: Maximum 2D layered surface width.

maximum_surface2d_width#

int: Maximum 2D surface width.

maximum_surface3d_depth#

int: Maximum 3D surface depth.

maximum_surface3d_height#

int: Maximum 3D surface height.

maximum_surface3d_width#

int: Maximum 3D surface width.

maximum_surfacecubemap_layered_layers#

int: Maximum layers in a cubemap layered surface.

maximum_surfacecubemap_layered_width#

int: Maximum cubemap layered surface width.

maximum_surfacecubemap_width#

int: Maximum cubemap surface width.

maximum_texture1d_layered_layers#

int: Maximum layers in a 1D layered texture.

maximum_texture1d_layered_width#

int: Maximum 1D layered texture width.

maximum_texture1d_linear_width#

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

maximum_texture1d_mipmapped_width#

int: Maximum mipmapped 1D texture width.

maximum_texture1d_width#

int: Maximum 1D texture width.

maximum_texture2d_gather_height#

int: Maximum 2D texture gather height.

maximum_texture2d_gather_width#

int: Maximum 2D texture gather width.

maximum_texture2d_height#

int: Maximum 2D texture height.

maximum_texture2d_layered_height#

int: Maximum 2D layered texture height.

maximum_texture2d_layered_layers#

int: Maximum layers in a 2D layered texture.

maximum_texture2d_layered_width#

int: Maximum 2D layered texture width.

maximum_texture2d_linear_height#

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

maximum_texture2d_linear_pitch#

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

maximum_texture2d_linear_width#

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

maximum_texture2d_mipmapped_height#

int: Maximum mipmapped 2D texture height.

maximum_texture2d_mipmapped_width#

int: Maximum mipmapped 2D texture width.

maximum_texture2d_width#

int: Maximum 2D texture width.

maximum_texture3d_depth#

int: Maximum 3D texture depth.

maximum_texture3d_depth_alternate#

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

maximum_texture3d_height#

int: Maximum 3D texture height.

maximum_texture3d_height_alternate#

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

maximum_texture3d_width#

int: Maximum 3D texture width.

maximum_texture3d_width_alternate#

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

maximum_texturecubemap_layered_layers#

int: Maximum layers in a cubemap layered texture.

maximum_texturecubemap_layered_width#

int: Maximum cubemap layered texture width or height.

maximum_texturecubemap_width#

int: Maximum cubemap texture width or height.

mem_decompress_algorithm_mask#

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

mem_decompress_maximum_length#

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

mem_sync_domain_count#

int: Number of memory domains the device supports.

memory_clock_rate#

int: Peak memory clock frequency in kilohertz.

memory_pools_supported#

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

mempool_supported_handle_types#

int: Handle types supported with mempool based IPC.

mps_enabled#

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

multi_gpu_board#

bool: Device is on a multi-GPU board.

multi_gpu_board_group_id#

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

multicast_supported#

bool: Device supports switch multicast and reduction operations.

multiprocessor_count#

int: Number of multiprocessors on device.

numa_config#

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

numa_id#

int: NUMA node ID of the GPU memory.

only_partial_host_native_atomic_supported#

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

pageable_memory_access#

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

pageable_memory_access_uses_host_page_tables#

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

pci_bus_id#

int: PCI bus ID of the device.

pci_device_id#

int: PCI device ID of the device.

pci_domain_id#

int: PCI domain ID of the device.

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.

reserved_shared_memory_per_block#

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

single_to_double_precision_perf_ratio#

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

sparse_cuda_array_supported#

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

stream_priorities_supported#

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

surface_alignment#

int: Surface alignment requirement in bytes.

tcc_driver#

bool: Device is using TCC driver model.

tensor_map_access_supported#

bool: Device supports accessing memory using Tensor Map.

texture_alignment#

int: Alignment requirement for textures.

texture_pitch_alignment#

int: Pitch alignment requirement for textures.

timeline_semaphore_interop_supported#

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

total_constant_memory#

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

unified_addressing#

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

unified_function_pointers#

bool: Device supports unified function pointers.

virtual_memory_management_supported#

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

vulkan_cig_supported#

bool: Device supports CIG with Vulkan.

warp_size#

int: Warp size in threads.