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 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DeviceAttribute

Source§

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

Formats the value using the given formatter. Read more
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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for DeviceAttribute

Source§

impl Eq for DeviceAttribute

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.