This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

hipDeviceProp_t Struct Reference

hipDeviceProp_t Struct Reference#

HIP Runtime API Reference: hipDeviceProp_t Struct Reference
hipDeviceProp_t Struct Reference

#include <hip_runtime_api.h>

Collaboration diagram for hipDeviceProp_t:
[legend]

Data Fields

char name [256]
 Device name. More...
 
hipUUID uuid
 UUID of a device. More...
 
char luid [8]
 8-byte unique identifier. Only valid on windows More...
 
unsigned int luidDeviceNodeMask
 LUID node mask. More...
 
size_t totalGlobalMem
 Size of global memory region (in bytes). More...
 
size_t sharedMemPerBlock
 Size of shared memory per block (in bytes). More...
 
int regsPerBlock
 Registers per block. More...
 
int warpSize
 Warp size. More...
 
size_t memPitch
 
int maxThreadsPerBlock
 Max work items per work group or workgroup max size. More...
 
int maxThreadsDim [3]
 Max number of threads in each dimension (XYZ) of a block. More...
 
int maxGridSize [3]
 Max grid dimensions (XYZ). More...
 
int clockRate
 Max clock frequency of the multiProcessors in khz. More...
 
size_t totalConstMem
 
int major
 
int minor
 
size_t textureAlignment
 Alignment requirement for textures. More...
 
size_t texturePitchAlignment
 Pitch alignment requirement for texture references bound to. More...
 
int deviceOverlap
 Deprecated. Use asyncEngineCount instead. More...
 
int multiProcessorCount
 Number of multi-processors (compute units). More...
 
int kernelExecTimeoutEnabled
 Run time limit for kernels executed on the device. More...
 
int integrated
 APU vs dGPU. More...
 
int canMapHostMemory
 Check whether HIP can map host memory. More...
 
int computeMode
 Compute mode. More...
 
int maxTexture1D
 Maximum number of elements in 1D images. More...
 
int maxTexture1DMipmap
 Maximum 1D mipmap texture size. More...
 
int maxTexture1DLinear
 Maximum size for 1D textures bound to linear memory. More...
 
int maxTexture2D [2]
 Maximum dimensions (width, height) of 2D images, in image elements. More...
 
int maxTexture2DMipmap [2]
 Maximum number of elements in 2D array mipmap of images. More...
 
int maxTexture2DLinear [3]
 Maximum 2D tex dimensions if tex are bound to pitched memory. More...
 
int maxTexture2DGather [2]
 Maximum 2D tex dimensions if gather has to be performed. More...
 
int maxTexture3D [3]
 
int maxTexture3DAlt [3]
 Maximum alternate 3D texture dims. More...
 
int maxTextureCubemap
 Maximum cubemap texture dims. More...
 
int maxTexture1DLayered [2]
 Maximum number of elements in 1D array images. More...
 
int maxTexture2DLayered [3]
 Maximum number of elements in 2D array images. More...
 
int maxTextureCubemapLayered [2]
 Maximum cubemaps layered texture dims. More...
 
int maxSurface1D
 Maximum 1D surface size. More...
 
int maxSurface2D [2]
 Maximum 2D surface size. More...
 
int maxSurface3D [3]
 Maximum 3D surface size. More...
 
int maxSurface1DLayered [2]
 Maximum 1D layered surface size. More...
 
int maxSurface2DLayered [3]
 Maximum 2D layared surface size. More...
 
int maxSurfaceCubemap
 Maximum cubemap surface size. More...
 
int maxSurfaceCubemapLayered [2]
 Maximum cubemap layered surface size. More...
 
size_t surfaceAlignment
 Alignment requirement for surface. More...
 
int concurrentKernels
 Device can possibly execute multiple kernels concurrently. More...
 
int ECCEnabled
 Device has ECC support enabled. More...
 
int pciBusID
 PCI Bus ID. More...
 
int pciDeviceID
 PCI Device ID. More...
 
int pciDomainID
 PCI Domain ID. More...
 
int tccDriver
 1:If device is Tesla device using TCC driver, else 0 More...
 
int asyncEngineCount
 Number of async engines. More...
 
int unifiedAddressing
 Does device and host share unified address space. More...
 
int memoryClockRate
 Max global memory clock frequency in khz. More...
 
int memoryBusWidth
 Global memory bus width in bits. More...
 
int l2CacheSize
 L2 cache size. More...
 
int persistingL2CacheMaxSize
 Device's max L2 persisting lines in bytes. More...
 
int maxThreadsPerMultiProcessor
 Maximum resident threads per multi-processor. More...
 
int streamPrioritiesSupported
 Device supports stream priority. More...
 
int globalL1CacheSupported
 Indicates globals are cached in L1. More...
 
int localL1CacheSupported
 Locals are cahced in L1. More...
 
size_t sharedMemPerMultiprocessor
 Amount of shared memory available per multiprocessor. More...
 
int regsPerMultiprocessor
 registers available per multiprocessor More...
 
int managedMemory
 Device supports allocating managed memory on this system. More...
 
int isMultiGpuBoard
 1 if device is on a multi-GPU board, 0 if not. More...
 
int multiGpuBoardGroupID
 Unique identifier for a group of devices on same multiboard GPU. More...
 
int hostNativeAtomicSupported
 Link between host and device supports native atomics. More...
 
int singleToDoublePrecisionPerfRatio
 Deprecated. CUDA only. More...
 
int pageableMemoryAccess
 
int concurrentManagedAccess
 
int computePreemptionSupported
 Is compute preemption supported on the device. More...
 
int canUseHostPointerForRegisteredMem
 
int cooperativeLaunch
 HIP device supports cooperative launch. More...
 
int cooperativeMultiDeviceLaunch
 
size_t sharedMemPerBlockOptin
 Per device m ax shared mem per block usable by special opt in. More...
 
int pageableMemoryAccessUsesHostPageTables
 
int directManagedMemAccessFromHost
 
int maxBlocksPerMultiProcessor
 Max number of blocks on CU. More...
 
int accessPolicyMaxWindowSize
 Max value of access policy window. More...
 
size_t reservedSharedMemPerBlock
 Shared memory reserved by driver per block. More...
 
int hostRegisterSupported
 Device supports hipHostRegister. More...
 
int sparseHipArraySupported
 Indicates if device supports sparse hip arrays. More...
 
int hostRegisterReadOnlySupported
 
int timelineSemaphoreInteropSupported
 Indicates external timeline semaphore support. More...
 
int memoryPoolsSupported
 Indicates if device supports hipMallocAsync and hipMemPool APIs. More...
 
int gpuDirectRDMASupported
 Indicates device support of RDMA APIs. More...
 
unsigned int gpuDirectRDMAFlushWritesOptions
 
int gpuDirectRDMAWritesOrdering
 value of hipGPUDirectRDMAWritesOrdering More...
 
unsigned int memoryPoolSupportedHandleTypes
 Bitmask of handle types support with mempool based IPC. More...
 
int deferredMappingHipArraySupported
 
int ipcEventSupported
 Device supports IPC events. More...
 
int clusterLaunch
 Device supports cluster launch. More...
 
int unifiedFunctionPointers
 Indicates device supports unified function pointers. More...
 
int reserved [63]
 CUDA Reserved. More...
 
int hipReserved [32]
 Reserved for adding new entries for HIP/CUDA. More...
 
char gcnArchName [256]
 AMD GCN Arch Name. HIP Only. More...
 
size_t maxSharedMemoryPerMultiProcessor
 Maximum Shared Memory Per CU. HIP Only. More...
 
int clockInstructionRate
 
hipDeviceArch_t arch
 Architectural feature flags. New for HIP. More...
 
unsigned int * hdpMemFlushCntl
 Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register. More...
 
unsigned int * hdpRegFlushCntl
 Addres of HDP_REG_COHERENCY_FLUSH_CNTL register. More...
 
int cooperativeMultiDeviceUnmatchedFunc
 
int cooperativeMultiDeviceUnmatchedGridDim
 
int cooperativeMultiDeviceUnmatchedBlockDim
 
int cooperativeMultiDeviceUnmatchedSharedMem
 
int isLargeBar
 1: if it is a large PCI bar device, else 0 More...
 
int asicRevision
 Revision of the GPU in this device. More...
 

Detailed Description

hipDeviceProp

Field Documentation

◆ accessPolicyMaxWindowSize

int hipDeviceProp_t::accessPolicyMaxWindowSize

Max value of access policy window.

◆ arch

hipDeviceArch_t hipDeviceProp_t::arch

Architectural feature flags. New for HIP.

◆ asicRevision

int hipDeviceProp_t::asicRevision

Revision of the GPU in this device.

◆ asyncEngineCount

int hipDeviceProp_t::asyncEngineCount

Number of async engines.

◆ canMapHostMemory

int hipDeviceProp_t::canMapHostMemory

Check whether HIP can map host memory.

◆ canUseHostPointerForRegisteredMem

int hipDeviceProp_t::canUseHostPointerForRegisteredMem

Device can access host registered memory with same address as the host

◆ clockInstructionRate

int hipDeviceProp_t::clockInstructionRate

Frequency in khz of the timer used by the device-side "clock*" instructions. New for HIP.

◆ clockRate

int hipDeviceProp_t::clockRate

Max clock frequency of the multiProcessors in khz.

◆ clusterLaunch

int hipDeviceProp_t::clusterLaunch

Device supports cluster launch.

◆ computeMode

int hipDeviceProp_t::computeMode

Compute mode.

◆ computePreemptionSupported

int hipDeviceProp_t::computePreemptionSupported

Is compute preemption supported on the device.

◆ concurrentKernels

int hipDeviceProp_t::concurrentKernels

Device can possibly execute multiple kernels concurrently.

◆ concurrentManagedAccess

int hipDeviceProp_t::concurrentManagedAccess

Device can coherently access managed memory concurrently with the CPU

◆ cooperativeLaunch

int hipDeviceProp_t::cooperativeLaunch

HIP device supports cooperative launch.

◆ cooperativeMultiDeviceLaunch

int hipDeviceProp_t::cooperativeMultiDeviceLaunch

HIP device supports cooperative launch on multiple devices

◆ cooperativeMultiDeviceUnmatchedBlockDim

int hipDeviceProp_t::cooperativeMultiDeviceUnmatchedBlockDim

HIP device supports cooperative launch on multiple devices with unmatched block dimensions

◆ cooperativeMultiDeviceUnmatchedFunc

int hipDeviceProp_t::cooperativeMultiDeviceUnmatchedFunc

HIP device supports cooperative launch on multiple devices with unmatched functions

◆ cooperativeMultiDeviceUnmatchedGridDim

int hipDeviceProp_t::cooperativeMultiDeviceUnmatchedGridDim

HIP device supports cooperative launch on multiple devices with unmatched grid dimensions

◆ cooperativeMultiDeviceUnmatchedSharedMem

int hipDeviceProp_t::cooperativeMultiDeviceUnmatchedSharedMem

HIP device supports cooperative launch on multiple devices with unmatched shared memories

◆ deferredMappingHipArraySupported

int hipDeviceProp_t::deferredMappingHipArraySupported

Device supports deferred mapping HIP arrays and HIP mipmapped arrays

◆ deviceOverlap

int hipDeviceProp_t::deviceOverlap

Deprecated. Use asyncEngineCount instead.

◆ directManagedMemAccessFromHost

int hipDeviceProp_t::directManagedMemAccessFromHost

Host can directly access managed memory on the device without migration

◆ ECCEnabled

int hipDeviceProp_t::ECCEnabled

Device has ECC support enabled.

◆ gcnArchName

char hipDeviceProp_t::gcnArchName[256]

AMD GCN Arch Name. HIP Only.

◆ globalL1CacheSupported

int hipDeviceProp_t::globalL1CacheSupported

Indicates globals are cached in L1.

◆ gpuDirectRDMAFlushWritesOptions

unsigned int hipDeviceProp_t::gpuDirectRDMAFlushWritesOptions

Bitmask to be interpreted according to hipFlushGPUDirectRDMAWritesOptions

◆ gpuDirectRDMASupported

int hipDeviceProp_t::gpuDirectRDMASupported

Indicates device support of RDMA APIs.

◆ gpuDirectRDMAWritesOrdering

int hipDeviceProp_t::gpuDirectRDMAWritesOrdering

value of hipGPUDirectRDMAWritesOrdering

◆ hdpMemFlushCntl

unsigned int* hipDeviceProp_t::hdpMemFlushCntl

Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register.

◆ hdpRegFlushCntl

unsigned int* hipDeviceProp_t::hdpRegFlushCntl

Addres of HDP_REG_COHERENCY_FLUSH_CNTL register.

◆ hipReserved

int hipDeviceProp_t::hipReserved[32]

Reserved for adding new entries for HIP/CUDA.

◆ hostNativeAtomicSupported

int hipDeviceProp_t::hostNativeAtomicSupported

Link between host and device supports native atomics.

◆ hostRegisterReadOnlySupported

int hipDeviceProp_t::hostRegisterReadOnlySupported

Device supports using the hipHostRegisterReadOnly flag with hipHostRegistger

◆ hostRegisterSupported

int hipDeviceProp_t::hostRegisterSupported

Device supports hipHostRegister.

◆ integrated

int hipDeviceProp_t::integrated

APU vs dGPU.

◆ ipcEventSupported

int hipDeviceProp_t::ipcEventSupported

Device supports IPC events.

◆ isLargeBar

int hipDeviceProp_t::isLargeBar

1: if it is a large PCI bar device, else 0

◆ isMultiGpuBoard

int hipDeviceProp_t::isMultiGpuBoard

1 if device is on a multi-GPU board, 0 if not.

◆ kernelExecTimeoutEnabled

int hipDeviceProp_t::kernelExecTimeoutEnabled

Run time limit for kernels executed on the device.

◆ l2CacheSize

int hipDeviceProp_t::l2CacheSize

L2 cache size.

◆ localL1CacheSupported

int hipDeviceProp_t::localL1CacheSupported

Locals are cahced in L1.

◆ luid

char hipDeviceProp_t::luid[8]

8-byte unique identifier. Only valid on windows

◆ luidDeviceNodeMask

unsigned int hipDeviceProp_t::luidDeviceNodeMask

LUID node mask.

◆ major

int hipDeviceProp_t::major

Major compute capability. On HCC, this is an approximation and features may differ from CUDA CC. See the arch feature flags for portable ways to query feature caps.

◆ managedMemory

int hipDeviceProp_t::managedMemory

Device supports allocating managed memory on this system.

◆ maxBlocksPerMultiProcessor

int hipDeviceProp_t::maxBlocksPerMultiProcessor

Max number of blocks on CU.

◆ maxGridSize

int hipDeviceProp_t::maxGridSize[3]

Max grid dimensions (XYZ).

◆ maxSharedMemoryPerMultiProcessor

size_t hipDeviceProp_t::maxSharedMemoryPerMultiProcessor

Maximum Shared Memory Per CU. HIP Only.

◆ maxSurface1D

int hipDeviceProp_t::maxSurface1D

Maximum 1D surface size.

◆ maxSurface1DLayered

int hipDeviceProp_t::maxSurface1DLayered[2]

Maximum 1D layered surface size.

◆ maxSurface2D

int hipDeviceProp_t::maxSurface2D[2]

Maximum 2D surface size.

◆ maxSurface2DLayered

int hipDeviceProp_t::maxSurface2DLayered[3]

Maximum 2D layared surface size.

◆ maxSurface3D

int hipDeviceProp_t::maxSurface3D[3]

Maximum 3D surface size.

◆ maxSurfaceCubemap

int hipDeviceProp_t::maxSurfaceCubemap

Maximum cubemap surface size.

◆ maxSurfaceCubemapLayered

int hipDeviceProp_t::maxSurfaceCubemapLayered[2]

Maximum cubemap layered surface size.

◆ maxTexture1D

int hipDeviceProp_t::maxTexture1D

Maximum number of elements in 1D images.

◆ maxTexture1DLayered

int hipDeviceProp_t::maxTexture1DLayered[2]

Maximum number of elements in 1D array images.

◆ maxTexture1DLinear

int hipDeviceProp_t::maxTexture1DLinear

Maximum size for 1D textures bound to linear memory.

◆ maxTexture1DMipmap

int hipDeviceProp_t::maxTexture1DMipmap

Maximum 1D mipmap texture size.

◆ maxTexture2D

int hipDeviceProp_t::maxTexture2D[2]

Maximum dimensions (width, height) of 2D images, in image elements.

◆ maxTexture2DGather

int hipDeviceProp_t::maxTexture2DGather[2]

Maximum 2D tex dimensions if gather has to be performed.

◆ maxTexture2DLayered

int hipDeviceProp_t::maxTexture2DLayered[3]

Maximum number of elements in 2D array images.

◆ maxTexture2DLinear

int hipDeviceProp_t::maxTexture2DLinear[3]

Maximum 2D tex dimensions if tex are bound to pitched memory.

◆ maxTexture2DMipmap

int hipDeviceProp_t::maxTexture2DMipmap[2]

Maximum number of elements in 2D array mipmap of images.

◆ maxTexture3D

int hipDeviceProp_t::maxTexture3D[3]

Maximum dimensions (width, height, depth) of 3D images, in image elements

◆ maxTexture3DAlt

int hipDeviceProp_t::maxTexture3DAlt[3]

Maximum alternate 3D texture dims.

◆ maxTextureCubemap

int hipDeviceProp_t::maxTextureCubemap

Maximum cubemap texture dims.

◆ maxTextureCubemapLayered

int hipDeviceProp_t::maxTextureCubemapLayered[2]

Maximum cubemaps layered texture dims.

◆ maxThreadsDim

int hipDeviceProp_t::maxThreadsDim[3]

Max number of threads in each dimension (XYZ) of a block.

◆ maxThreadsPerBlock

int hipDeviceProp_t::maxThreadsPerBlock

Max work items per work group or workgroup max size.

◆ maxThreadsPerMultiProcessor

int hipDeviceProp_t::maxThreadsPerMultiProcessor

Maximum resident threads per multi-processor.

◆ memoryBusWidth

int hipDeviceProp_t::memoryBusWidth

Global memory bus width in bits.

◆ memoryClockRate

int hipDeviceProp_t::memoryClockRate

Max global memory clock frequency in khz.

◆ memoryPoolsSupported

int hipDeviceProp_t::memoryPoolsSupported

Indicates if device supports hipMallocAsync and hipMemPool APIs.

◆ memoryPoolSupportedHandleTypes

unsigned int hipDeviceProp_t::memoryPoolSupportedHandleTypes

Bitmask of handle types support with mempool based IPC.

◆ memPitch

size_t hipDeviceProp_t::memPitch

Maximum pitch in bytes allowed by memory copies pitched memory

◆ minor

int hipDeviceProp_t::minor

Minor compute capability. On HCC, this is an approximation and features may differ from CUDA CC. See the arch feature flags for portable ways to query feature caps.

◆ multiGpuBoardGroupID

int hipDeviceProp_t::multiGpuBoardGroupID

Unique identifier for a group of devices on same multiboard GPU.

◆ multiProcessorCount

int hipDeviceProp_t::multiProcessorCount

Number of multi-processors (compute units).

◆ name

char hipDeviceProp_t::name[256]

Device name.

◆ pageableMemoryAccess

int hipDeviceProp_t::pageableMemoryAccess

Device supports coherently accessing pageable memory without calling hipHostRegister on it

◆ pageableMemoryAccessUsesHostPageTables

int hipDeviceProp_t::pageableMemoryAccessUsesHostPageTables

Device accesses pageable memory via the host's page tables

◆ pciBusID

int hipDeviceProp_t::pciBusID

PCI Bus ID.

◆ pciDeviceID

int hipDeviceProp_t::pciDeviceID

PCI Device ID.

◆ pciDomainID

int hipDeviceProp_t::pciDomainID

PCI Domain ID.

◆ persistingL2CacheMaxSize

int hipDeviceProp_t::persistingL2CacheMaxSize

Device's max L2 persisting lines in bytes.

◆ regsPerBlock

int hipDeviceProp_t::regsPerBlock

Registers per block.

◆ regsPerMultiprocessor

int hipDeviceProp_t::regsPerMultiprocessor

registers available per multiprocessor

◆ reserved

int hipDeviceProp_t::reserved[63]

CUDA Reserved.

◆ reservedSharedMemPerBlock

size_t hipDeviceProp_t::reservedSharedMemPerBlock

Shared memory reserved by driver per block.

◆ sharedMemPerBlock

size_t hipDeviceProp_t::sharedMemPerBlock

Size of shared memory per block (in bytes).

◆ sharedMemPerBlockOptin

size_t hipDeviceProp_t::sharedMemPerBlockOptin

Per device m ax shared mem per block usable by special opt in.

◆ sharedMemPerMultiprocessor

size_t hipDeviceProp_t::sharedMemPerMultiprocessor

Amount of shared memory available per multiprocessor.

◆ singleToDoublePrecisionPerfRatio

int hipDeviceProp_t::singleToDoublePrecisionPerfRatio

Deprecated. CUDA only.

◆ sparseHipArraySupported

int hipDeviceProp_t::sparseHipArraySupported

Indicates if device supports sparse hip arrays.

◆ streamPrioritiesSupported

int hipDeviceProp_t::streamPrioritiesSupported

Device supports stream priority.

◆ surfaceAlignment

size_t hipDeviceProp_t::surfaceAlignment

Alignment requirement for surface.

◆ tccDriver

int hipDeviceProp_t::tccDriver

1:If device is Tesla device using TCC driver, else 0

◆ textureAlignment

size_t hipDeviceProp_t::textureAlignment

Alignment requirement for textures.

◆ texturePitchAlignment

size_t hipDeviceProp_t::texturePitchAlignment

Pitch alignment requirement for texture references bound to.

◆ timelineSemaphoreInteropSupported

int hipDeviceProp_t::timelineSemaphoreInteropSupported

Indicates external timeline semaphore support.

◆ totalConstMem

size_t hipDeviceProp_t::totalConstMem

Size of shared constant memory region on the device (in bytes).

◆ totalGlobalMem

size_t hipDeviceProp_t::totalGlobalMem

Size of global memory region (in bytes).

◆ unifiedAddressing

int hipDeviceProp_t::unifiedAddressing

Does device and host share unified address space.

◆ unifiedFunctionPointers

int hipDeviceProp_t::unifiedFunctionPointers

Indicates device supports unified function pointers.

◆ uuid

hipUUID hipDeviceProp_t::uuid

UUID of a device.

◆ warpSize

int hipDeviceProp_t::warpSize

Warp size.


The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hip/checkouts/develop/include/hip/hip_runtime_api.h