Skip to main content

DeviceAttribute

Enum DeviceAttribute 

Source
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

§

MaxSharedMemoryPerBlock = 8

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

§

MaxSharedMemoryPerMultiprocessor = 81

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.

§

MaxSharedMemoryPerBlockOptin = 97

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

Source§

fn clone(&self) -> DeviceAttribute

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for DeviceAttribute

Source§

impl Debug for DeviceAttribute

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for DeviceAttribute

Source§

impl Hash for DeviceAttribute

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for DeviceAttribute

Source§

fn eq(&self, other: &DeviceAttribute) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for DeviceAttribute

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.