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
- can_flush_remote_writes#
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:
- can_use_64_bit_stream_mem_ops#
64-bit operations are supported in cuStreamBatchMemOp and related MemOp APIs.
- Type:
- can_use_host_pointer_for_registered_mem#
Device can access host registered memory at the same virtual address as the CPU.
- Type:
- concurrent_managed_access#
Device can coherently access managed memory concurrently with the CPU.
- Type:
- cooperative_launch#
Device supports launching cooperative kernels via cuLaunchCooperativeKernel.
- Type:
- deferred_mapping_cuda_array_supported#
Device supports deferred mapping CUDA arrays and CUDA mipmapped arrays.
- Type:
- direct_managed_mem_access_from_host#
The host can directly access managed memory on the device without migration.
- Type:
- gpu_direct_rdma_flush_writes_options#
The returned attribute shall be interpreted as a bitmask, where the individual bits are described by the CUflushGPUDirectRDMAWritesOptions enum.
- Type:
- gpu_direct_rdma_supported#
Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see https://docs.nvidia.com/cuda/gpudirect-rdma for more information).
- Type:
- gpu_direct_rdma_with_cuda_vmm_supported#
Device supports specifying the GPUDirect RDMA flag with cuMemCreate.
- Type:
- gpu_direct_rdma_writes_ordering#
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:
- gpu_overlap#
Device can possibly copy memory and execute a kernel concurrently. Deprecated. Use
async_engine_countinstead.- Type:
- gpu_pci_device_id#
The combined 16-bit PCI device ID and 16-bit PCI vendor ID.
Returns 0 if the driver does not support this query.
- Type:
- gpu_pci_subsystem_id#
The combined 16-bit PCI subsystem ID and 16-bit PCI subsystem vendor ID.
Returns 0 if the driver does not support this query.
- Type:
- handle_type_fabric_supported#
Device supports exporting memory to a fabric handle with cuMemExportToShareableHandle() or requested with cuMemCreate().
- Type:
- handle_type_posix_file_descriptor_supported#
Device supports exporting memory to a posix file descriptor with cuMemExportToShareableHandle, if requested via cuMemCreate.
- Type:
- handle_type_win32_handle_supported#
Device supports exporting memory to a Win32 NT handle with cuMemExportToShareableHandle, if requested via cuMemCreate.
- Type:
- handle_type_win32_kmt_handle_supported#
Device supports exporting memory to a Win32 KMT handle with cuMemExportToShareableHandle, if requested via cuMemCreate.
- Type:
- host_alloc_dma_buf_supported#
Device supports page-locked host memory buffer sharing with dma_buf mechanism.
- Type:
- host_memory_pools_supported#
Device supports HOST location with the cuMemAllocAsync and cuMemPool family of APIs.
- Type:
- host_native_atomic_supported#
Link between the device and the host supports all native atomic operations.
- Type:
- host_numa_id#
NUMA ID of the host node closest to the device. Returns -1 when system does not support NUMA.
- Type:
- host_numa_memory_pools_supported#
Device supports HOST_NUMA location with the cuMemAllocAsync and cuMemPool family of APIs.
- Type:
- host_numa_multinode_ipc_supported#
Device supports HOST_NUMA location IPC between nodes in a multi-node system.
- Type:
- host_numa_virtual_memory_management_supported#
Device supports HOST_NUMA location with the virtual memory management APIs like cuMemCreate, cuMemMap and related APIs.
- Type:
- host_virtual_memory_management_supported#
Device supports HOST location with the virtual memory management APIs like cuMemCreate, cuMemMap and related APIs.
- Type:
- max_registers_per_multiprocessor#
Maximum number of 32-bit registers available per multiprocessor.
- Type:
Maximum shared memory available per block in bytes.
- Type:
Maximum optin shared memory per block.
- Type:
Maximum shared memory available per multiprocessor in bytes.
- Type:
- maximum_texture2d_linear_pitch#
Maximum pitch in bytes for a 2D texture bound to linear memory.
- Type:
- maximum_texture3d_depth_alternate#
Alternate maximum 3D texture depth, 0 if no alternate maximum 3D texture size is supported.
- Type:
- maximum_texture3d_height_alternate#
Alternate maximum 3D texture height, 0 if no alternate maximum 3D texture size is supported.
- Type:
- maximum_texture3d_width_alternate#
Alternate maximum 3D texture width, 0 if no alternate maximum 3D texture size is supported.
- Type:
- mem_decompress_algorithm_mask#
The returned value shall be interpreted as a bitmask, where the individual bits are described by the CUmemDecompressAlgorithm enum.
- Type:
- mem_decompress_maximum_length#
The returned value is the maximum length in bytes of a single decompress operation that is allowed.
- Type:
- memory_pools_supported#
Device supports using the cuMemAllocAsync and cuMemPool family of APIs.
- Type:
- only_partial_host_native_atomic_supported#
Link between the device and the host supports only some native atomic operations.
- Type:
- pageable_memory_access#
Device supports coherently accessing pageable memory without calling cudaHostRegister on it.
- Type:
- pageable_memory_access_uses_host_page_tables#
Device accesses pageable memory via the host’s page tables.
- Type:
- read_only_host_register_supported#
True if device supports using the cuMemHostRegister flag CU_MEMHOSTREGISTER_READ_ONLY to register memory that must be mapped as read-only to the GPU, False if not.
- Type:
Shared memory reserved by CUDA driver per block in bytes.
- Type:
- single_to_double_precision_perf_ratio#
Ratio of single precision performance (in floating-point operations per second) to double precision performance.
- Type:
- sparse_cuda_array_supported#
Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays.
- Type:
- timeline_semaphore_interop_supported#
External timeline semaphore interop is supported on the device.
- Type:
- total_constant_memory#
Memory available on device for constant variables in a CUDA C kernel in bytes.
- Type:
- virtual_memory_management_supported#
Device supports virtual memory management APIs like cuMemAddressReserve, cuMemCreate, cuMemMap and related APIs.
- Type: