#[non_exhaustive]
#[repr(u32)]
pub enum hipDeviceAttribute_t {
Show 111 variants hipDeviceAttributeCudaCompatibleBegin, hipDeviceAttributeAccessPolicyMaxWindowSize, hipDeviceAttributeAsyncEngineCount, hipDeviceAttributeCanMapHostMemory, hipDeviceAttributeCanUseHostPointerForRegisteredMem, hipDeviceAttributeClockRate, hipDeviceAttributeComputeMode, hipDeviceAttributeComputePreemptionSupported, hipDeviceAttributeConcurrentKernels, hipDeviceAttributeConcurrentManagedAccess, hipDeviceAttributeCooperativeLaunch, hipDeviceAttributeCooperativeMultiDeviceLaunch, hipDeviceAttributeDeviceOverlap, hipDeviceAttributeDirectManagedMemAccessFromHost, hipDeviceAttributeGlobalL1CacheSupported, hipDeviceAttributeHostNativeAtomicSupported, hipDeviceAttributeIntegrated, hipDeviceAttributeIsMultiGpuBoard, hipDeviceAttributeKernelExecTimeout, hipDeviceAttributeL2CacheSize, hipDeviceAttributeLocalL1CacheSupported, hipDeviceAttributeLuid, hipDeviceAttributeLuidDeviceNodeMask, hipDeviceAttributeComputeCapabilityMajor, hipDeviceAttributeManagedMemory, hipDeviceAttributeMaxBlocksPerMultiProcessor, hipDeviceAttributeMaxBlockDimX, hipDeviceAttributeMaxBlockDimY, hipDeviceAttributeMaxBlockDimZ, hipDeviceAttributeMaxGridDimX, hipDeviceAttributeMaxGridDimY, hipDeviceAttributeMaxGridDimZ, hipDeviceAttributeMaxSurface1D, hipDeviceAttributeMaxSurface1DLayered, hipDeviceAttributeMaxSurface2D, hipDeviceAttributeMaxSurface2DLayered, hipDeviceAttributeMaxSurface3D, hipDeviceAttributeMaxSurfaceCubemap, hipDeviceAttributeMaxSurfaceCubemapLayered, hipDeviceAttributeMaxTexture1DWidth, hipDeviceAttributeMaxTexture1DLayered, hipDeviceAttributeMaxTexture1DLinear, hipDeviceAttributeMaxTexture1DMipmap, hipDeviceAttributeMaxTexture2DWidth, hipDeviceAttributeMaxTexture2DHeight, hipDeviceAttributeMaxTexture2DGather, hipDeviceAttributeMaxTexture2DLayered, hipDeviceAttributeMaxTexture2DLinear, hipDeviceAttributeMaxTexture2DMipmap, hipDeviceAttributeMaxTexture3DWidth, hipDeviceAttributeMaxTexture3DHeight, hipDeviceAttributeMaxTexture3DDepth, hipDeviceAttributeMaxTexture3DAlt, hipDeviceAttributeMaxTextureCubemap, hipDeviceAttributeMaxTextureCubemapLayered, hipDeviceAttributeMaxThreadsDim, hipDeviceAttributeMaxThreadsPerBlock, hipDeviceAttributeMaxThreadsPerMultiProcessor, hipDeviceAttributeMaxPitch, hipDeviceAttributeMemoryBusWidth, hipDeviceAttributeMemoryClockRate, hipDeviceAttributeComputeCapabilityMinor, hipDeviceAttributeMultiGpuBoardGroupID, hipDeviceAttributeMultiprocessorCount, hipDeviceAttributeName, hipDeviceAttributePageableMemoryAccess, hipDeviceAttributePageableMemoryAccessUsesHostPageTables, hipDeviceAttributePciBusId, hipDeviceAttributePciDeviceId, hipDeviceAttributePciDomainID, hipDeviceAttributePersistingL2CacheMaxSize, hipDeviceAttributeMaxRegistersPerBlock, hipDeviceAttributeMaxRegistersPerMultiprocessor, hipDeviceAttributeReservedSharedMemPerBlock, hipDeviceAttributeMaxSharedMemoryPerBlock, hipDeviceAttributeSharedMemPerBlockOptin, hipDeviceAttributeSharedMemPerMultiprocessor, hipDeviceAttributeSingleToDoublePrecisionPerfRatio, hipDeviceAttributeStreamPrioritiesSupported, hipDeviceAttributeSurfaceAlignment, hipDeviceAttributeTccDriver, hipDeviceAttributeTextureAlignment, hipDeviceAttributeTexturePitchAlignment, hipDeviceAttributeTotalConstantMemory, hipDeviceAttributeTotalGlobalMem, hipDeviceAttributeUnifiedAddressing, hipDeviceAttributeUuid, hipDeviceAttributeWarpSize, hipDeviceAttributeMemoryPoolsSupported, hipDeviceAttributeVirtualMemoryManagementSupported, hipDeviceAttributeCudaCompatibleEnd, hipDeviceAttributeAmdSpecificBegin, hipDeviceAttributeArch, hipDeviceAttributeMaxSharedMemoryPerMultiprocessor, hipDeviceAttributeGcnArch, hipDeviceAttributeGcnArchName, hipDeviceAttributeHdpMemFlushCntl, hipDeviceAttributeHdpRegFlushCntl, hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc, hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim, hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim, hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem, hipDeviceAttributeIsLargeBar, hipDeviceAttributeAsicRevision, hipDeviceAttributeCanUseStreamWaitValue, hipDeviceAttributeImageSupport, hipDeviceAttributePhysicalMultiProcessorCount, hipDeviceAttributeFineGrainSupport, hipDeviceAttributeWallClockRate, hipDeviceAttributeAmdSpecificEnd, hipDeviceAttributeVendorSpecificBegin,
}

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

hipDeviceAttributeCudaCompatibleBegin

§

hipDeviceAttributeAccessPolicyMaxWindowSize

< Cuda only. The maximum size of the window policy in bytes.

§

hipDeviceAttributeAsyncEngineCount

< Cuda only. Asynchronous engines number.

§

hipDeviceAttributeCanMapHostMemory

< Whether host memory can be mapped into device address space

§

hipDeviceAttributeCanUseHostPointerForRegisteredMem

< Cuda only. Device can access host registered memory < at the same virtual address as the CPU

§

hipDeviceAttributeClockRate

< Peak clock frequency in kilohertz.

§

hipDeviceAttributeComputeMode

< Compute mode that device is currently in.

§

hipDeviceAttributeComputePreemptionSupported

< Cuda only. Device supports Compute Preemption.

§

hipDeviceAttributeConcurrentKernels

< Device can possibly execute multiple kernels concurrently.

§

hipDeviceAttributeConcurrentManagedAccess

< Device can coherently access managed memory concurrently with the CPU

§

hipDeviceAttributeCooperativeLaunch

< Support cooperative launch

§

hipDeviceAttributeCooperativeMultiDeviceLaunch

< Support cooperative launch on multiple devices

§

hipDeviceAttributeDeviceOverlap

< Cuda only. Device can concurrently copy memory and execute a kernel. < Deprecated. Use instead asyncEngineCount.

§

hipDeviceAttributeDirectManagedMemAccessFromHost

< Host can directly access managed memory on < the device without migration

§

hipDeviceAttributeGlobalL1CacheSupported

< Cuda only. Device supports caching globals in L1

§

hipDeviceAttributeHostNativeAtomicSupported

< Cuda only. Link between the device and the host supports native atomic operations

§

hipDeviceAttributeIntegrated

< Device is integrated GPU

§

hipDeviceAttributeIsMultiGpuBoard

< Multiple GPU devices.

§

hipDeviceAttributeKernelExecTimeout

< Run time limit for kernels executed on the device

§

hipDeviceAttributeL2CacheSize

< Size of L2 cache in bytes. 0 if the device doesn’t have L2 cache.

§

hipDeviceAttributeLocalL1CacheSupported

< caching locals in L1 is supported

§

hipDeviceAttributeLuid

< Cuda only. 8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms

§

hipDeviceAttributeLuidDeviceNodeMask

< Cuda only. Luid device node mask. Undefined on TCC and non-Windows platforms

§

hipDeviceAttributeComputeCapabilityMajor

< Major compute capability version number.

§

hipDeviceAttributeManagedMemory

< Device supports allocating managed memory on this system

§

hipDeviceAttributeMaxBlocksPerMultiProcessor

< Cuda only. Max block size per multiprocessor

§

hipDeviceAttributeMaxBlockDimX

< Max block size in width.

§

hipDeviceAttributeMaxBlockDimY

< Max block size in height.

§

hipDeviceAttributeMaxBlockDimZ

< Max block size in depth.

§

hipDeviceAttributeMaxGridDimX

< Max grid size in width.

§

hipDeviceAttributeMaxGridDimY

< Max grid size in height.

§

hipDeviceAttributeMaxGridDimZ

< Max grid size in depth.

§

hipDeviceAttributeMaxSurface1D

< Maximum size of 1D surface.

§

hipDeviceAttributeMaxSurface1DLayered

< Cuda only. Maximum dimensions of 1D layered surface.

§

hipDeviceAttributeMaxSurface2D

< Maximum dimension (width, height) of 2D surface.

§

hipDeviceAttributeMaxSurface2DLayered

< Cuda only. Maximum dimensions of 2D layered surface.

§

hipDeviceAttributeMaxSurface3D

< Maximum dimension (width, height, depth) of 3D surface.

§

hipDeviceAttributeMaxSurfaceCubemap

< Cuda only. Maximum dimensions of Cubemap surface.

§

hipDeviceAttributeMaxSurfaceCubemapLayered

< Cuda only. Maximum dimension of Cubemap layered surface.

§

hipDeviceAttributeMaxTexture1DWidth

< Maximum size of 1D texture.

§

hipDeviceAttributeMaxTexture1DLayered

< Cuda only. Maximum dimensions of 1D layered texture.

§

hipDeviceAttributeMaxTexture1DLinear

< Maximum number of elements allocatable in a 1D linear texture. < Use cudaDeviceGetTexture1DLinearMaxWidth() instead on Cuda.

§

hipDeviceAttributeMaxTexture1DMipmap

< Cuda only. Maximum size of 1D mipmapped texture.

§

hipDeviceAttributeMaxTexture2DWidth

< Maximum dimension width of 2D texture.

§

hipDeviceAttributeMaxTexture2DHeight

< Maximum dimension hight of 2D texture.

§

hipDeviceAttributeMaxTexture2DGather

< Cuda only. Maximum dimensions of 2D texture if gather operations performed.

§

hipDeviceAttributeMaxTexture2DLayered

< Cuda only. Maximum dimensions of 2D layered texture.

§

hipDeviceAttributeMaxTexture2DLinear

< Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory.

§

hipDeviceAttributeMaxTexture2DMipmap

< Cuda only. Maximum dimensions of 2D mipmapped texture.

§

hipDeviceAttributeMaxTexture3DWidth

< Maximum dimension width of 3D texture.

§

hipDeviceAttributeMaxTexture3DHeight

< Maximum dimension height of 3D texture.

§

hipDeviceAttributeMaxTexture3DDepth

< Maximum dimension depth of 3D texture.

§

hipDeviceAttributeMaxTexture3DAlt

< Cuda only. Maximum dimensions of alternate 3D texture.

§

hipDeviceAttributeMaxTextureCubemap

< Cuda only. Maximum dimensions of Cubemap texture

§

hipDeviceAttributeMaxTextureCubemapLayered

< Cuda only. Maximum dimensions of Cubemap layered texture.

§

hipDeviceAttributeMaxThreadsDim

< Maximum dimension of a block

§

hipDeviceAttributeMaxThreadsPerBlock

< Maximum number of threads per block.

§

hipDeviceAttributeMaxThreadsPerMultiProcessor

< Maximum resident threads per multiprocessor.

§

hipDeviceAttributeMaxPitch

< Maximum pitch in bytes allowed by memory copies

§

hipDeviceAttributeMemoryBusWidth

< Global memory bus width in bits.

§

hipDeviceAttributeMemoryClockRate

< Peak memory clock frequency in kilohertz.

§

hipDeviceAttributeComputeCapabilityMinor

< Minor compute capability version number.

§

hipDeviceAttributeMultiGpuBoardGroupID

< Cuda only. Unique ID of device group on the same multi-GPU board

§

hipDeviceAttributeMultiprocessorCount

< Number of multiprocessors on the device.

§

hipDeviceAttributeName

< Device name.

§

hipDeviceAttributePageableMemoryAccess

< Device supports coherently accessing pageable memory < without calling hipHostRegister on it

§

hipDeviceAttributePageableMemoryAccessUsesHostPageTables

< Device accesses pageable memory via the host’s page tables

§

hipDeviceAttributePciBusId

< PCI Bus ID.

§

hipDeviceAttributePciDeviceId

< PCI Device ID.

§

hipDeviceAttributePciDomainID

< PCI Domain ID.

§

hipDeviceAttributePersistingL2CacheMaxSize

< Cuda11 only. Maximum l2 persisting lines capacity in bytes

§

hipDeviceAttributeMaxRegistersPerBlock

< 32-bit registers available to a thread block. This number is shared < by all thread blocks simultaneously resident on a multiprocessor.

§

hipDeviceAttributeMaxRegistersPerMultiprocessor

< 32-bit registers available per block.

§

hipDeviceAttributeReservedSharedMemPerBlock

< Cuda11 only. Shared memory reserved by CUDA driver per block.

§

hipDeviceAttributeMaxSharedMemoryPerBlock

< Maximum shared memory available per block in bytes.

§

hipDeviceAttributeSharedMemPerBlockOptin

< Cuda only. Maximum shared memory per block usable by special opt in.

§

hipDeviceAttributeSharedMemPerMultiprocessor

< Cuda only. Shared memory available per multiprocessor.

§

hipDeviceAttributeSingleToDoublePrecisionPerfRatio

< Cuda only. Performance ratio of single precision to double precision.

§

hipDeviceAttributeStreamPrioritiesSupported

< Cuda only. Whether to support stream priorities.

§

hipDeviceAttributeSurfaceAlignment

< Cuda only. Alignment requirement for surfaces

§

hipDeviceAttributeTccDriver

< Cuda only. Whether device is a Tesla device using TCC driver

§

hipDeviceAttributeTextureAlignment

< Alignment requirement for textures

§

hipDeviceAttributeTexturePitchAlignment

< Pitch alignment requirement for 2D texture references bound to pitched memory;

§

hipDeviceAttributeTotalConstantMemory

< Constant memory size in bytes.

§

hipDeviceAttributeTotalGlobalMem

< Global memory available on devicice.

§

hipDeviceAttributeUnifiedAddressing

< Cuda only. An unified address space shared with the host.

§

hipDeviceAttributeUuid

< Cuda only. Unique ID in 16 byte.

§

hipDeviceAttributeWarpSize

< Warp size in threads.

§

hipDeviceAttributeMemoryPoolsSupported

< Device supports HIP Stream Ordered Memory Allocator

§

hipDeviceAttributeVirtualMemoryManagementSupported

< Device supports HIP virtual memory management

§

hipDeviceAttributeCudaCompatibleEnd

§

hipDeviceAttributeAmdSpecificBegin

§

hipDeviceAttributeArch

< Device architecture

§

hipDeviceAttributeMaxSharedMemoryPerMultiprocessor

< Maximum Shared Memory PerMultiprocessor.

§

hipDeviceAttributeGcnArch

< Device gcn architecture

§

hipDeviceAttributeGcnArchName

< Device gcnArch name in 256 bytes

§

hipDeviceAttributeHdpMemFlushCntl

< Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register

§

hipDeviceAttributeHdpRegFlushCntl

< Address of the HDP_REG_COHERENCY_FLUSH_CNTL register

§

hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc

< Supports cooperative launch on multiple < devices with unmatched functions

§

hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim

< Supports cooperative launch on multiple < devices with unmatched grid dimensions

§

hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim

< Supports cooperative launch on multiple < devices with unmatched block dimensions

§

hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem

< Supports cooperative launch on multiple < devices with unmatched shared memories

§

hipDeviceAttributeIsLargeBar

< Whether it is LargeBar

§

hipDeviceAttributeAsicRevision

< Revision of the GPU in this device

§

hipDeviceAttributeCanUseStreamWaitValue

< ‘1’ if Device supports hipStreamWaitValue32() and < hipStreamWaitValue64(), ‘0’ otherwise.

§

hipDeviceAttributeImageSupport

< ‘1’ if Device supports image, ‘0’ otherwise.

§

hipDeviceAttributePhysicalMultiProcessorCount

< All available physical compute < units for the device

§

hipDeviceAttributeFineGrainSupport

< ‘1’ if Device supports fine grain, ‘0’ otherwise

§

hipDeviceAttributeWallClockRate

< Constant frequency of wall clock in kilohertz.

§

hipDeviceAttributeAmdSpecificEnd

§

hipDeviceAttributeVendorSpecificBegin

Implementations§

source§

impl hipDeviceAttribute_t

source

pub const hipDeviceAttributeEccEnabled: hipDeviceAttribute_t = hipDeviceAttribute_t::hipDeviceAttributeCudaCompatibleBegin

source§

impl hipDeviceAttribute_t

source

pub const hipDeviceAttributeClockInstructionRate: hipDeviceAttribute_t = hipDeviceAttribute_t::hipDeviceAttributeAmdSpecificBegin

Trait Implementations§

source§

impl Clone for hipDeviceAttribute_t

source§

fn clone(&self) -> hipDeviceAttribute_t

Returns a copy 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 hipDeviceAttribute_t

source§

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

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

impl Hash for hipDeviceAttribute_t

source§

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

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 Ord for hipDeviceAttribute_t

source§

fn cmp(&self, other: &hipDeviceAttribute_t) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<hipDeviceAttribute_t> for hipDeviceAttribute_t

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<hipDeviceAttribute_t> for hipDeviceAttribute_t

source§

fn partial_cmp(&self, other: &hipDeviceAttribute_t) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Copy for hipDeviceAttribute_t

source§

impl Eq for hipDeviceAttribute_t

source§

impl StructuralEq for hipDeviceAttribute_t

source§

impl StructuralPartialEq for hipDeviceAttribute_t

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.