cuda.core.experimental._device.DeviceProperties#
- class cuda.core.experimental._device.DeviceProperties(*args, **kwargs)#
Bases:
objectA 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
int
int: Maximum shared memory available per block in bytes.
- Type:
DeviceProperties.max_shared_memory_per_block
int
int: Maximum optin shared memory per block.
- Type:
DeviceProperties.max_shared_memory_per_block_optin
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
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