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.
int: Maximum shared memory available per block in bytes.
int: Maximum optin shared memory per block.
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.
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.