pub enum DeviceAttribute {
Show 103 variants
MaxThreadsPerBlock = 1,
MaxBlockDimX = 2,
MaxBlockDimY = 3,
MaxBlockDimZ = 4,
MaxGridDimX = 5,
MaxGridDimY = 6,
MaxGridDimZ = 7,
MaxSharedMemoryPerBlock = 8,
TotalConstantMemory = 9,
WarpSize = 10,
MaxPitch = 11,
MaxRegistersPerBlock = 12,
ClockRate = 13,
TextureAlignment = 14,
MultiprocessorCount = 16,
KernelExecTimeout = 17,
Integrated = 18,
CanMapHostMemory = 19,
ComputeMode = 20,
MaximumTexture1DWidth = 21,
MaximumTexture2DWidth = 22,
MaximumTexture2DHeight = 23,
MaximumTexture3DWidth = 24,
MaximumTexture3DHeight = 25,
MaximumTexture3DDepth = 26,
MaximumTexture2DLayeredWidth = 27,
MaximumTexture2DLayeredHeight = 28,
MaximumTexture2DLayeredLayers = 29,
SurfaceAlignment = 30,
ConcurrentKernels = 31,
EccEnabled = 32,
PciBusId = 33,
PciDeviceId = 34,
TccDriver = 35,
MemoryClockRate = 36,
GlobalMemoryBusWidth = 37,
L2CacheSize = 38,
MaxThreadsPerMultiprocessor = 39,
AsyncEngineCount = 40,
UnifiedAddressing = 41,
MaximumTexture1DLayeredWidth = 42,
MaximumTexture1DLayeredLayers = 43,
MaximumTexture2DGatherWidth = 45,
MaximumTexture2DGatherHeight = 46,
MaximumTexture3DWidthAlternate = 47,
MaximumTexture3DHeightAlternate = 48,
MaximumTexture3DDepthAlternate = 49,
PciDomainId = 50,
TexturePitchAlignment = 51,
MaximumTextureCubemapWidth = 52,
MaximumTextureCubemapLayeredWidth = 53,
MaximumTextureCubemapLayeredLayers = 54,
MaximumSurface1DWidth = 55,
MaximumSurface2DWidth = 56,
MaximumSurface2DHeight = 57,
MaximumSurface3DWidth = 58,
MaximumSurface3DHeight = 59,
MaximumSurface3DDepth = 60,
MaximumSurface1DLayeredWidth = 61,
MaximumSurface1DLayeredLayers = 62,
MaximumSurface2DLayeredWidth = 63,
MaximumSurface2DLayeredHeight = 64,
MaximumSurface2DLayeredLayers = 65,
MaximumSurfacecubemapWidth = 66,
MaximumSurfacecubemapLayeredWidth = 67,
MaximumSurfacecubemapLayeredLayers = 68,
MaximumTexture1DLinearWidth = 69,
MaximumTexture2DLinearWidth = 70,
MaximumTexture2DLinearHeight = 71,
MaximumTexture2DLinearPitch = 72,
MaximumTexture2DMipmappedWidth = 73,
MaximumTexture2DMipmappedHeight = 74,
ComputeCapabilityMajor = 75,
ComputeCapabilityMinor = 76,
MaximumTexture1DMipmappedWidth = 77,
StreamPrioritiesSupported = 78,
GlobalL1CacheSupported = 79,
LocalL1CacheSupported = 80,
MaxSharedMemoryPerMultiprocessor = 81,
MaxRegistersPerMultiprocessor = 82,
ManagedMemory = 83,
MultiGpuBoard = 84,
MultiGpuBoardGroupId = 85,
HostNativeAtomicSupported = 86,
SingleToDoublePrecisionPerfRatio = 87,
PageableMemoryAccess = 88,
ConcurrentManagedAccess = 89,
ComputePreemptionSupported = 90,
CanUseHostPointerForRegisteredMem = 91,
CanUseStreamMemOps = 92,
CanUse64BitStreamMemOps = 93,
CanUseStreamWaitValueNor = 94,
CooperativeLaunch = 95,
CooperativeMultiDeviceLaunch = 96,
MaxSharedMemoryPerBlockOptin = 97,
CanFlushRemoteWrites = 98,
HostRegisterSupported = 99,
PageableMemoryAccessUsesHostPageTable = 100,
DirectManagedMemAccessFromhost = 101,
VirtualMemoryManagementSupported = 102,
HandleTypePosixFileDescriptorSupported = 103,
HandleTypeWin32HandleSupported = 104,
HandleTypeWin32KmtHandleSupported = 105,
// some variants omitted
}Expand description
All supported device attributes for Device::get_attribute
Variants§
MaxThreadsPerBlock = 1
Maximum number of threads per block
MaxBlockDimX = 2
Maximum x-dimension of a block
MaxBlockDimY = 3
Maximum y-dimension of a block
MaxBlockDimZ = 4
Maximum z-dimension of a block
MaxGridDimX = 5
Maximum x-dimension of a grid
MaxGridDimY = 6
Maximum y-dimension of a grid
MaxGridDimZ = 7
Maximum z-dimension of a grid
Maximum amount of shared memory available to a thread block in bytes
TotalConstantMemory = 9
Memory available on device for constant variables in a kernel in bytes
WarpSize = 10
Warp size in threads
MaxPitch = 11
Maximum pitch in bytes allowed by the memory copy functions that involve memory regions allocated through cuMemAllocPitch()
MaxRegistersPerBlock = 12
Maximum number of 32-bit registers available to a thread block
ClockRate = 13
Typical clock frequency in kilohertz
TextureAlignment = 14
Alignment requirement for textures
MultiprocessorCount = 16
Number of multiprocessors on device.
KernelExecTimeout = 17
Specifies whether there is a run time limit on kernels
Integrated = 18
Device is integrated with host memory
CanMapHostMemory = 19
Device can map host memory into CUDA address space
ComputeMode = 20
Compute Mode
MaximumTexture1DWidth = 21
Maximum 1D texture width
MaximumTexture2DWidth = 22
Maximum 2D texture width
MaximumTexture2DHeight = 23
Maximum 2D texture height
MaximumTexture3DWidth = 24
Maximum 3D texture width
MaximumTexture3DHeight = 25
Maximum 3D texture height
MaximumTexture3DDepth = 26
Maximum 3D texture depth
MaximumTexture2DLayeredWidth = 27
Maximum 2D layered texture width
MaximumTexture2DLayeredHeight = 28
Maximum 2D layered texture height
MaximumTexture2DLayeredLayers = 29
Maximum layers in a 2D layered texture
SurfaceAlignment = 30
Alignment requirement for surfaces
ConcurrentKernels = 31
Device can possibly execute multiple kernels concurrently
EccEnabled = 32
Device has ECC support enabled
PciBusId = 33
PCI bus ID of the device
PciDeviceId = 34
PCI device ID of the device
TccDriver = 35
Device is using TCC driver model
MemoryClockRate = 36
Peak memory clock frequency in kilohertz
GlobalMemoryBusWidth = 37
Global memory bus width in bits
L2CacheSize = 38
Size of L2 cache in bytes.
MaxThreadsPerMultiprocessor = 39
Maximum resident threads per multiprocessor
AsyncEngineCount = 40
Number of asynchronous engines
UnifiedAddressing = 41
Device shares a unified address space with the host
MaximumTexture1DLayeredWidth = 42
Maximum 1D layered texture width
MaximumTexture1DLayeredLayers = 43
Maximum layers in a 1D layered texture
MaximumTexture2DGatherWidth = 45
Maximum 2D texture width if CUDA_ARRAY3D_TEXTURE_GATHER is set
MaximumTexture2DGatherHeight = 46
Maximum 2D texture height if CUDA_ARRAY3D_TEXTURE_GATHER is set
MaximumTexture3DWidthAlternate = 47
Alternate maximum 3D texture width
MaximumTexture3DHeightAlternate = 48
Alternate maximum 3D texture height
MaximumTexture3DDepthAlternate = 49
Alternate maximum 3D texture depth
PciDomainId = 50
PCI domain ID of the device
TexturePitchAlignment = 51
Pitch alignment requirement for textures
MaximumTextureCubemapWidth = 52
Maximum cubemap texture width/height
MaximumTextureCubemapLayeredWidth = 53
Maximum cubemap layered texture width/height
MaximumTextureCubemapLayeredLayers = 54
Maximum layers in a cubemap layered texture
MaximumSurface1DWidth = 55
Maximum 1D surface width
MaximumSurface2DWidth = 56
Maximum 2D surface width
MaximumSurface2DHeight = 57
Maximum 2D surface height
MaximumSurface3DWidth = 58
Maximum 3D surface width
MaximumSurface3DHeight = 59
Maximum 3D surface height
MaximumSurface3DDepth = 60
Maximum 3D surface depth
MaximumSurface1DLayeredWidth = 61
Maximum 1D layered surface width
MaximumSurface1DLayeredLayers = 62
Maximum layers in a 1D layered surface
MaximumSurface2DLayeredWidth = 63
Maximum 2D layered surface width
MaximumSurface2DLayeredHeight = 64
Maximum 2D layered surface height
MaximumSurface2DLayeredLayers = 65
Maximum layers in a 2D layered surface
MaximumSurfacecubemapWidth = 66
Maximum cubemap surface width
MaximumSurfacecubemapLayeredWidth = 67
Maximum cubemap layered surface width
MaximumSurfacecubemapLayeredLayers = 68
Maximum layers in a cubemap layered surface
MaximumTexture1DLinearWidth = 69
Maximum 1D linear texture width
MaximumTexture2DLinearWidth = 70
Maximum 2D linear texture width
MaximumTexture2DLinearHeight = 71
Maximum 2D linear texture height
MaximumTexture2DLinearPitch = 72
Maximum 2D linear texture pitch in bytes
MaximumTexture2DMipmappedWidth = 73
Maximum mipmapped 2D texture height
MaximumTexture2DMipmappedHeight = 74
Maximum mipmapped 2D texture width
ComputeCapabilityMajor = 75
Major compute capability version number
ComputeCapabilityMinor = 76
Minor compute capability version number
MaximumTexture1DMipmappedWidth = 77
Maximum mipammed 1D texture width
StreamPrioritiesSupported = 78
Device supports stream priorities
GlobalL1CacheSupported = 79
Device supports caching globals in L1
LocalL1CacheSupported = 80
Device supports caching locals in L1
Maximum shared memory available per multiprocessor in bytes
MaxRegistersPerMultiprocessor = 82
Maximum number of 32-bit registers available per multiprocessor
ManagedMemory = 83
Device can allocate managed memory on this system
MultiGpuBoard = 84
Device is on a multi-GPU board
MultiGpuBoardGroupId = 85
Unique ID for a group of devices on the same multi-GPU board
HostNativeAtomicSupported = 86
Link between the device and the host supports native atomic operations (this is a placeholder attribute and is not supported on any current hardware)
SingleToDoublePrecisionPerfRatio = 87
Ratio of single precision performance (in floating-point operations per second) to double precision performance
PageableMemoryAccess = 88
Device supports coherently accessing pageable memory without calling cudaHostRegister on it.
ConcurrentManagedAccess = 89
Device can coherently access managed memory concurrently with the CPU
ComputePreemptionSupported = 90
Device supports compute preemption
CanUseHostPointerForRegisteredMem = 91
Device can access host registered memory at the same virtual address as the CPU
CanUseStreamMemOps = 92
Stream memory operations are supported.
CanUse64BitStreamMemOps = 93
64-bit stream memory operations are supported.
CanUseStreamWaitValueNor = 94
Wait value NOR is supported
CooperativeLaunch = 95
Supports launching cooperative kernels
CooperativeMultiDeviceLaunch = 96
Supports launching cooperative kernels on multiple devices.
Maximum opt-in shared memory per block.
CanFlushRemoteWrites = 98
Stream memory operations can wait for flush.
HostRegisterSupported = 99
Device supports host memory registration
PageableMemoryAccessUsesHostPageTable = 100
Device accesses pageable memory via the host page tables
DirectManagedMemAccessFromhost = 101
Device supports direct access to device memory without migration
VirtualMemoryManagementSupported = 102
Device supports virual memory management APIs
HandleTypePosixFileDescriptorSupported = 103
Device supports exporting memory to a posix file descriptor
HandleTypeWin32HandleSupported = 104
Device supports exporting memory to a Win32 NT handle
HandleTypeWin32KmtHandleSupported = 105
Device supports exporting memory to a Win32 KMT handle
Trait Implementations§
Source§impl Clone for DeviceAttribute
impl Clone for DeviceAttribute
Source§fn clone(&self) -> DeviceAttribute
fn clone(&self) -> DeviceAttribute
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more