/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hip/checkouts/docs-6.0.0/include/hip/hip_runtime_api.h Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hip/checkouts/docs-6.0.0/include/hip/hip_runtime_api.h Source File#

HIP Runtime API Reference: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hip/checkouts/docs-6.0.0/include/hip/hip_runtime_api.h Source File
hip_runtime_api.h
Go to the documentation of this file.
1/*
2Copyright (c) 2015 - 2023 Advanced Micro Devices, Inc. All rights reserved.
3
4Permission is hereby granted, free of charge, to any person obtaining a copy
5of this software and associated documentation files (the "Software"), to deal
6in the Software without restriction, including without limitation the rights
7to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8copies of the Software, and to permit persons to whom the Software is
9furnished to do so, subject to the following conditions:
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20THE SOFTWARE.
21*/
22
30#ifndef HIP_INCLUDE_HIP_HIP_RUNTIME_API_H
31#define HIP_INCLUDE_HIP_HIP_RUNTIME_API_H
32
33#include <string.h> // for getDeviceProp
34#include <hip/hip_version.h>
35#include <hip/hip_common.h>
36
37enum {
42};
43// hack to get these to show up in Doxygen:
53typedef struct {
54 // 32-bit Atomics
55 unsigned hasGlobalInt32Atomics : 1;
57 unsigned hasSharedInt32Atomics : 1;
59 unsigned hasFloatAtomicAdd : 1;
60
61 // 64-bit Atomics
62 unsigned hasGlobalInt64Atomics : 1;
63 unsigned hasSharedInt64Atomics : 1;
64
65 // Doubles
66 unsigned hasDoubles : 1;
67
68 // Warp cross-lane operations
69 unsigned hasWarpVote : 1;
70 unsigned hasWarpBallot : 1;
71 unsigned hasWarpShuffle : 1;
72 unsigned hasFunnelShift : 1;
73
74 // Sync
75 unsigned hasThreadFenceSystem : 1;
76 unsigned hasSyncThreadsExt : 1;
77
78 // Misc
79 unsigned hasSurfaceFuncs : 1;
80 unsigned has3dGrid : 1;
81 unsigned hasDynamicParallelism : 1;
83
84typedef struct hipUUID_t {
85 char bytes[16];
86} hipUUID;
87
88//---
89// Common headers for both NVCC and HCC paths:
90
91#define hipGetDeviceProperties hipGetDevicePropertiesR0600
92#define hipDeviceProp_t hipDeviceProp_tR0600
93
98typedef struct hipDeviceProp_t {
99 char name[256];
101 char luid[8];
102 unsigned int luidDeviceNodeMask;
107 size_t memPitch;
111 int maxGridSize[3];
114 int major;
117 int minor;
183 size_t
202 unsigned int
209 int reserved[63];
210
211 int hipReserved[32];
212
213 /* HIP Only struct members */
214 char gcnArchName[256];
219 unsigned int* hdpMemFlushCntl;
220 unsigned int* hdpRegFlushCntl;
236
256
260typedef struct hipPointerAttribute_t {
266 unsigned allocationFlags; /* flags specified when memory was allocated*/
267 /* peers? */
269
270// Ignoring error-code return values from hip APIs is discouraged. On C++17,
271// we can make that yield a warning
272#if __cplusplus >= 201703L
273#define __HIP_NODISCARD [[nodiscard]]
274#else
275#define __HIP_NODISCARD
276#endif
277
282// Developer note - when updating these, update the hipErrorName and hipErrorString functions in
283// NVCC and HCC paths Also update the hipCUDAErrorTohipError function in NVCC path.
284
290 // Deprecated
293 // Deprecated
315 // Deprecated
337 // Deprecated
349 704,
351 705,
356 712,
358 713,
360 719,
362 720,
393 // HSA Runtime Error Codes start here.
398 hipErrorTbd
399} hipError_t;
400
401#undef __HIP_NODISCARD
402
409
507
510
535
538 // Extended attributes for vendors
540
547
552
558
559#if defined(__HIP_PLATFORM_AMD__) && !defined(__HIP_PLATFORM_NVIDIA__)
560
561#include <stdint.h>
562#include <stddef.h>
563#ifndef GENERIC_GRID_LAUNCH
564#define GENERIC_GRID_LAUNCH 1
565#endif
566#include <hip/amd_detail/host_defines.h>
567#include <hip/driver_types.h>
568#include <hip/texture_types.h>
569#include <hip/surface_types.h>
570#if defined(_MSC_VER)
571#define DEPRECATED(msg) __declspec(deprecated(msg))
572#else // !defined(_MSC_VER)
573#define DEPRECATED(msg) __attribute__ ((deprecated(msg)))
574#endif // !defined(_MSC_VER)
575#define DEPRECATED_MSG "This API is marked as deprecated and may not be supported in future releases. For more details please refer https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_deprecated_api_list.md"
576#define HIP_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
577#define HIP_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
578#define HIP_LAUNCH_PARAM_END ((void*)0x03)
579#ifdef __cplusplus
580 #define __dparm(x) \
581 = x
582#else
583 #define __dparm(x)
584#endif
585#ifdef __GNUC__
586#pragma GCC visibility push (default)
587#endif
588#ifdef __cplusplus
589namespace hip_impl {
590hipError_t hip_init();
591} // namespace hip_impl
592#endif
593// Structure definitions:
594#ifdef __cplusplus
595extern "C" {
596#endif
597//---
598// API-visible structures
599typedef struct ihipCtx_t* hipCtx_t;
600// Note many APIs also use integer deviceIds as an alternative to the device pointer:
601typedef int hipDevice_t;
608typedef struct ihipStream_t* hipStream_t;
609#define hipIpcMemLazyEnablePeerAccess 0x01
610#define HIP_IPC_HANDLE_SIZE 64
611typedef struct hipIpcMemHandle_st {
612 char reserved[HIP_IPC_HANDLE_SIZE];
614typedef struct hipIpcEventHandle_st {
615 char reserved[HIP_IPC_HANDLE_SIZE];
617typedef struct ihipModule_t* hipModule_t;
618typedef struct ihipModuleSymbol_t* hipFunction_t;
622typedef struct ihipMemPoolHandle_t* hipMemPool_t;
623
636typedef struct ihipEvent_t* hipEvent_t;
637
657//Flags that can be used with hipStreamCreateWithFlags.
659#define hipStreamDefault 0x00
660
662#define hipStreamNonBlocking 0x01
663
664//Flags that can be used with hipEventCreateWithFlags.
666#define hipEventDefault 0x0
667
669#define hipEventBlockingSync 0x1
670
672#define hipEventDisableTiming 0x2
673
675#define hipEventInterprocess 0x4
676
685#define hipEventDisableSystemFence 0x20000000
686
689#define hipEventReleaseToDevice 0x40000000
690
693#define hipEventReleaseToSystem 0x80000000
694
695//Flags that can be used with hipHostMalloc.
697#define hipHostMallocDefault 0x0
698
700#define hipHostMallocPortable 0x1
701
704#define hipHostMallocMapped 0x2
705
709#define hipHostMallocWriteCombined 0x4
710
715#define hipHostMallocNumaUser 0x20000000
716
718#define hipHostMallocCoherent 0x40000000
719
721#define hipHostMallocNonCoherent 0x80000000
722
724#define hipMemAttachGlobal 0x01
725
727#define hipMemAttachHost 0x02
728
730#define hipMemAttachSingle 0x04
731
732#define hipDeviceMallocDefault 0x0
733
735#define hipDeviceMallocFinegrained 0x1
736
738#define hipMallocSignalMemory 0x2
739
741#define hipDeviceMallocUncached 0x3
742
743//Flags that can be used with hipHostRegister.
745#define hipHostRegisterDefault 0x0
746
748#define hipHostRegisterPortable 0x1
749
752#define hipHostRegisterMapped 0x2
753
755#define hipHostRegisterIoMemory 0x4
756
758#define hipHostRegisterReadOnly 0x08
759
761#define hipExtHostRegisterCoarseGrained 0x8
762
764#define hipDeviceScheduleAuto 0x0
765
768#define hipDeviceScheduleSpin 0x1
769
772#define hipDeviceScheduleYield 0x2
773#define hipDeviceScheduleBlockingSync 0x4
774#define hipDeviceScheduleMask 0x7
775#define hipDeviceMapHost 0x8
776#define hipDeviceLmemResizeToMax 0x10
778#define hipArrayDefault 0x00
779#define hipArrayLayered 0x01
780#define hipArraySurfaceLoadStore 0x02
781#define hipArrayCubemap 0x04
782#define hipArrayTextureGather 0x08
783#define hipOccupancyDefault 0x00
784#define hipOccupancyDisableCachingOverride 0x01
785#define hipCooperativeLaunchMultiDeviceNoPreSync 0x01
786#define hipCooperativeLaunchMultiDeviceNoPostSync 0x02
787#define hipCpuDeviceId ((int)-1)
788#define hipInvalidDeviceId ((int)-2)
789//Flags that can be used with hipExtLaunch Set of APIs.
791#define hipExtAnyOrderLaunch 0x01
792// Flags to be used with hipStreamWaitValue32 and hipStreamWaitValue64.
793#define hipStreamWaitValueGte 0x0
794#define hipStreamWaitValueEq 0x1
795#define hipStreamWaitValueAnd 0x2
796#define hipStreamWaitValueNor 0x3
797// Stream per thread
799#define hipStreamPerThread ((hipStream_t)2)
800
801// Indicates that the external memory object is a dedicated resource
802#define hipExternalMemoryDedicated 0x1
852
982 unsigned char reserved[64];
984
1038typedef struct dim3 {
1039 uint32_t x;
1040 uint32_t y;
1041 uint32_t z;
1042#ifdef __cplusplus
1043 constexpr __host__ __device__ dim3(uint32_t _x = 1, uint32_t _y = 1, uint32_t _z = 1) : x(_x), y(_y), z(_z){};
1044#endif
1045} dim3;
1049typedef struct hipLaunchParams_t {
1050 void* func;
1053 void **args;
1054 size_t sharedMem;
1060typedef struct hipFunctionLaunchParams_t {
1062 unsigned int gridDimX;
1063 unsigned int gridDimY;
1064 unsigned int gridDimZ;
1065 unsigned int blockDimX;
1066 unsigned int blockDimY;
1067 unsigned int blockDimZ;
1068 unsigned int sharedMemBytes;
1082typedef struct hipExternalMemoryHandleDesc_st {
1084 union {
1085 int fd;
1086 struct {
1087 void *handle;
1088 const void *name;
1089 } win32;
1090 const void *nvSciBufObject;
1091 } handle;
1092 unsigned long long size;
1093 unsigned int flags;
1094 unsigned int reserved[16];
1096typedef struct hipExternalMemoryBufferDesc_st {
1097 unsigned long long offset;
1098 unsigned long long size;
1099 unsigned int flags;
1100 unsigned int reserved[16];
1102typedef struct hipExternalMemoryMipmappedArrayDesc_st {
1103 unsigned long long offset;
1106 unsigned int flags;
1107 unsigned int numLevels;
1122typedef struct hipExternalSemaphoreHandleDesc_st {
1124 union {
1125 int fd;
1126 struct {
1127 void* handle;
1128 const void* name;
1129 } win32;
1130 const void* NvSciSyncObj;
1131 } handle;
1132 unsigned int flags;
1133 unsigned int reserved[16];
1136typedef struct hipExternalSemaphoreSignalParams_st {
1137 struct {
1138 struct {
1139 unsigned long long value;
1140 } fence;
1141 union {
1142 void *fence;
1143 unsigned long long reserved;
1144 } nvSciSync;
1145 struct {
1146 unsigned long long key;
1147 } keyedMutex;
1148 unsigned int reserved[12];
1149 } params;
1150 unsigned int flags;
1151 unsigned int reserved[16];
1156typedef struct hipExternalSemaphoreWaitParams_st {
1157 struct {
1158 struct {
1159 unsigned long long value;
1160 } fence;
1161 union {
1162 void *fence;
1163 unsigned long long reserved;
1164 } nvSciSync;
1165 struct {
1166 unsigned long long key;
1167 unsigned int timeoutMs;
1168 } keyedMutex;
1169 unsigned int reserved[10];
1170 } params;
1171 unsigned int flags;
1172 unsigned int reserved[16];
1174
1175#if __HIP_HAS_GET_PCH
1180 void __hipGetPCH(const char** pch, unsigned int*size);
1181#endif
1182
1195
1196typedef struct _hipGraphicsResource hipGraphicsResource;
1197
1199
1203typedef struct ihipGraph* hipGraph_t;
1207typedef struct hipGraphNode* hipGraphNode_t;
1211typedef struct hipGraphExec* hipGraphExec_t;
1212
1216typedef struct hipUserObject* hipUserObject_t;
1217
1218
1239
1240typedef void (*hipHostFn_t)(void* userData);
1253typedef struct hipMemsetParams {
1254 void* dst;
1255 unsigned int elementSize;
1256 size_t height;
1257 size_t pitch;
1258 unsigned int value;
1259 size_t width;
1261
1271
1295
1301 size_t pitch;
1302 unsigned int value;
1303 unsigned int elementSize;
1304 size_t width;
1305 size_t height;
1307
1325
1337
1342
1352
1356
1367
1400
1412
1424
1428typedef struct ihipMemGenericAllocationHandle* hipMemGenericAllocationHandle_t;
1429
1437
1444
1452
1460
1464typedef struct hipArrayMapInfo {
1466 union {
1471 union {
1472 struct {
1473 unsigned int level;
1474 unsigned int layer;
1475 unsigned int offsetX;
1476 unsigned int offsetY;
1477 unsigned int offsetZ;
1478 unsigned int extentWidth;
1479 unsigned int extentHeight;
1480 unsigned int extentDepth;
1482 struct {
1483 unsigned int layer;
1484 unsigned long long offset;
1485 unsigned long long size;
1490 union {
1493 unsigned long long offset;
1494 unsigned int deviceBitMask;
1495 unsigned int flags;
1496 unsigned int reserved[2];
1498// Doxygen end group GlobalDefs
1524// TODO-ctx - more description on error codes.
1525hipError_t hipInit(unsigned int flags);
1565
1574hipError_t hipDeviceComputeCapability(int* major, int* minor, hipDevice_t device);
1583hipError_t hipDeviceGetName(char* name, int len, hipDevice_t device);
1606 int srcDevice, int dstDevice);
1615hipError_t hipDeviceGetPCIBusId(char* pciBusId, int len, int device);
1623hipError_t hipDeviceGetByPCIBusId(int* device, const char* pciBusId);
1632// doxygen end initialization
1840hipError_t hipDeviceGetLimit(size_t* pValue, enum hipLimit_t limit);
1860hipError_t hipDeviceSetLimit ( enum hipLimit_t limit, size_t value );
1880hipError_t hipGetDeviceFlags(unsigned int* flags);
1939hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t* linktype, uint32_t* hopcount);
1940// TODO: implement IPC apis
2007hipError_t hipIpcOpenMemHandle(void** devPtr, hipIpcMemHandle_t handle, unsigned int flags);
2029
2047
2066
2067// end doxygen Device
2091hipError_t hipFuncSetAttribute(const void* func, hipFuncAttribute attr, int value);
2117//doxygen end execution
2140
2153
2173const char* hipGetErrorName(hipError_t hip_error);
2182const char* hipGetErrorString(hipError_t hipError);
2192hipError_t hipDrvGetErrorName(hipError_t hipError, const char** errorString);
2202hipError_t hipDrvGetErrorString(hipError_t hipError, const char** errorString);
2203// end doxygen Error
2268hipError_t hipStreamCreateWithPriority(hipStream_t* stream, unsigned int flags, int priority);
2283hipError_t hipDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
2357hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
2371hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int* flags);
2416hipError_t hipExtStreamCreateWithCUMask(hipStream_t* stream, uint32_t cuMaskSize, const uint32_t* cuMask);
2429hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t* cuMask);
2433typedef void (*hipStreamCallback_t)(hipStream_t stream, hipError_t status, void* userData);
2450 unsigned int flags);
2451// end doxygen Stream
2494hipError_t hipStreamWaitValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags,
2495 uint32_t mask __dparm(0xFFFFFFFF));
2528hipError_t hipStreamWaitValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags,
2529 uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF));
2549hipError_t hipStreamWriteValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags);
2569hipError_t hipStreamWriteValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags);
2570// end doxygen Stream Memory Operations
2646#ifdef __cplusplus
2647hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
2648#else
2650#endif
2731// end doxygen Events
2763 hipDeviceptr_t ptr);
2764
2765
2799 hipDeviceptr_t ptr);
2816hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute* attributes,
2817 void** data, hipDeviceptr_t ptr);
2839 const hipExternalSemaphoreHandleDesc* semHandleDesc);
2853 const hipExternalSemaphoreSignalParams* paramsArray,
2854 unsigned int numExtSems, hipStream_t stream);
2868 const hipExternalSemaphoreWaitParams* paramsArray,
2869 unsigned int numExtSems, hipStream_t stream);
2880
2928 const hipExternalMemoryMipmappedArrayDesc* mipmapDesc);
2929 // end of external resource
2946hipError_t hipMalloc(void** ptr, size_t size);
2966hipError_t hipExtMallocWithFlags(void** ptr, size_t sizeBytes, unsigned int flags);
2979DEPRECATED("use hipHostMalloc instead")
2980hipError_t hipMallocHost(void** ptr, size_t size);
2993DEPRECATED("use hipHostMalloc instead")
2994hipError_t hipMemAllocHost(void** ptr, size_t size);
3026hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags);
3060 size_t size,
3061 unsigned int flags __dparm(hipMemAttachGlobal));
3075 size_t count,
3076 int device,
3077 hipStream_t stream __dparm(0));
3097hipError_t hipMemAdvise(const void* dev_ptr,
3098 size_t count,
3099 hipMemoryAdvise advice,
3100 int device);
3116 size_t data_size,
3117 hipMemRangeAttribute attribute,
3118 const void* dev_ptr,
3119 size_t count);
3137 size_t* data_sizes,
3138 hipMemRangeAttribute* attributes,
3139 size_t num_attributes,
3140 const void* dev_ptr,
3141 size_t count);
3157 void* dev_ptr,
3158 size_t length __dparm(0),
3159 unsigned int flags __dparm(hipMemAttachSingle));
3160// end doxygen Managed Memory
3220hipError_t hipMallocAsync(void** dev_ptr, size_t size, hipStream_t stream);
3245hipError_t hipFreeAsync(void* dev_ptr, hipStream_t stream);
3273hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold);
3369hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc* desc_list, size_t count);
3474hipError_t hipMallocFromPoolAsync(void** dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream);
3502 void* shared_handle,
3503 hipMemPool_t mem_pool,
3504 hipMemAllocationHandleType handle_type,
3505 unsigned int flags);
3530 hipMemPool_t* mem_pool,
3531 void* shared_handle,
3532 hipMemAllocationHandleType handle_type,
3533 unsigned int flags);
3583 void** dev_ptr,
3584 hipMemPool_t mem_pool,
3585 hipMemPoolPtrExportData* export_data);
3586// Doxygen end of ordered memory allocator
3604DEPRECATED("use hipHostMalloc instead")
3605hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags);
3617hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags);
3627hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr);
3664hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags);
3692hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
3714hipError_t hipMemAllocPitch(hipDeviceptr_t* dptr, size_t* pitch, size_t widthInBytes, size_t height,
3715 unsigned int elementSizeBytes);
3740DEPRECATED("use hipHostFree instead")
3785hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
3800hipError_t hipMemcpyWithStream(void* dst, const void* src, size_t sizeBytes,
3801 hipMemcpyKind kind, hipStream_t stream);
3819hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void* src, size_t sizeBytes);
3837hipError_t hipMemcpyDtoH(void* dst, hipDeviceptr_t src, size_t sizeBytes);
3873hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void* src, size_t sizeBytes, hipStream_t stream);
3891hipError_t hipMemcpyDtoHAsync(void* dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
3910 hipStream_t stream);
3911
3927 hipModule_t hmod, const char* name);
3928
3938hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
3939
3949hipError_t hipGetSymbolSize(size_t* size, const void* symbol);
3950
3969hipError_t hipMemcpyToSymbol(const void* symbol, const void* src,
3970 size_t sizeBytes, size_t offset __dparm(0),
3972
3986hipError_t hipMemcpyToSymbolAsync(const void* symbol, const void* src,
3987 size_t sizeBytes, size_t offset,
3988 hipMemcpyKind kind, hipStream_t stream __dparm(0));
3989
4002hipError_t hipMemcpyFromSymbol(void* dst, const void* symbol,
4003 size_t sizeBytes, size_t offset __dparm(0),
4005
4019hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbol,
4020 size_t sizeBytes, size_t offset,
4021 hipMemcpyKind kind,
4022 hipStream_t stream __dparm(0));
4051hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind,
4052 hipStream_t stream __dparm(0));
4062hipError_t hipMemset(void* dst, int value, size_t sizeBytes);
4072hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count);
4088hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0));
4098hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count);
4114hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0));
4124hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count);
4140hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0));
4156hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count,
4157 hipStream_t stream __dparm(0));
4168hipError_t hipMemset2D(void* dst, size_t pitch, int value, size_t width, size_t height);
4180hipError_t hipMemset2DAsync(void* dst, size_t pitch, int value, size_t width, size_t height,hipStream_t stream __dparm(0));
4189hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent );
4199hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent ,hipStream_t stream __dparm(0));
4216hipError_t hipMemGetInfo(size_t* free, size_t* total);
4217
4229hipError_t hipMemPtrGetInfo(void* ptr, size_t* size);
4243 size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault));
4308 struct hipExtent extent, unsigned int flags);
4321hipError_t hipArrayGetInfo(hipChannelFormatDesc* desc, hipExtent* extent, unsigned int* flags,
4322 hipArray_t array);
4375hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
4376 size_t height, hipMemcpyKind kind);
4415hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
4416 size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
4434hipError_t hipMemcpy2DToArray(hipArray_t dst, size_t wOffset, size_t hOffset, const void* src,
4435 size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
4454hipError_t hipMemcpy2DToArrayAsync(hipArray_t dst, size_t wOffset, size_t hOffset, const void* src,
4455 size_t spitch, size_t width, size_t height, hipMemcpyKind kind,
4456 hipStream_t stream __dparm(0));
4474hipError_t hipMemcpyToArray(hipArray_t dst, size_t wOffset, size_t hOffset, const void* src,
4475 size_t count, hipMemcpyKind kind);
4493hipError_t hipMemcpyFromArray(void* dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset,
4494 size_t count, hipMemcpyKind kind);
4512hipError_t hipMemcpy2DFromArray( void* dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind);
4531hipError_t hipMemcpy2DFromArrayAsync( void* dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
4545hipError_t hipMemcpyAtoH(void* dst, hipArray_t srcArray, size_t srcOffset, size_t count);
4559hipError_t hipMemcpyHtoA(hipArray_t dstArray, size_t dstOffset, const void* srcHost, size_t count);
4606// doxygen end Memory
4634hipError_t hipDeviceCanAccessPeer(int* canAccessPeer, int deviceId, int peerDeviceId);
4651hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags);
4677#ifndef USE_PEER_NON_UNIFIED
4678#define USE_PEER_NON_UNIFIED 1
4679#endif
4680#if USE_PEER_NON_UNIFIED == 1
4692hipError_t hipMemcpyPeer(void* dst, int dstDeviceId, const void* src, int srcDeviceId,
4693 size_t sizeBytes);
4706hipError_t hipMemcpyPeerAsync(void* dst, int dstDeviceId, const void* src, int srcDevice,
4707 size_t sizeBytes, hipStream_t stream __dparm(0));
4708#endif
4709// doxygen end PeerToPeer
4742hipError_t hipCtxCreate(hipCtx_t* ctx, unsigned int flags, hipDevice_t device);
4944hipError_t hipCtxGetFlags(unsigned int* flags);
4967hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags);
4988// doxygen end Context deprecated
5004hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int* flags, int* active);
5054// doxygen end Context Management
5081hipError_t hipModuleLoad(hipModule_t* module, const char* fname);
5102hipError_t hipModuleGetFunction(hipFunction_t* function, hipModule_t module, const char* kname);
5111hipError_t hipFuncGetAttributes(struct hipFuncAttributes* attr, const void* func);
5141hipError_t hipModuleLoadData(hipModule_t* module, const void* image);
5154hipError_t hipModuleLoadDataEx(hipModule_t* module, const void* image, unsigned int numOptions,
5155 hipJitOption* options, void** optionValues);
5184hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY,
5185 unsigned int gridDimZ, unsigned int blockDimX,
5186 unsigned int blockDimY, unsigned int blockDimZ,
5187 unsigned int sharedMemBytes, hipStream_t stream,
5188 void** kernelParams, void** extra);
5215 unsigned int gridDimY, unsigned int gridDimZ,
5216 unsigned int blockDimX, unsigned int blockDimY,
5217 unsigned int blockDimZ, unsigned int sharedMemBytes,
5218 hipStream_t stream, void** kernelParams);
5234 unsigned int numDevices,
5235 unsigned int flags);
5254hipError_t hipLaunchCooperativeKernel(const void* f, dim3 gridDim, dim3 blockDimX,
5255 void** kernelParams, unsigned int sharedMemBytes,
5256 hipStream_t stream);
5268 int numDevices, unsigned int flags);
5281 int numDevices, unsigned int flags);
5282// doxygen end Module
5309//TODO - Match CUoccupancyB2DSize
5311 hipFunction_t f, size_t dynSharedMemPerBlk,
5312 int blockSizeLimit);
5328//TODO - Match CUoccupancyB2DSize
5330 hipFunction_t f, size_t dynSharedMemPerBlk,
5331 int blockSizeLimit, unsigned int flags);
5343 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk);
5355 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags);
5367 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk);
5379 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault));
5394hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
5395 const void* f, size_t dynSharedMemPerBlk,
5396 int blockSizeLimit);
5397// doxygen end Occupancy
5411// TODO - expand descriptions:
5418DEPRECATED("use roctracer/rocTX instead")
5426DEPRECATED("use roctracer/rocTX instead")
5428// doxygen end profiler
5455hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0));
5466hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
5475hipError_t hipLaunchByPtr(const void* func);
5493 dim3 blockDim,
5494 size_t sharedMem __dparm(0),
5495 hipStream_t stream __dparm(0));
5516 dim3 *blockDim,
5517 size_t *sharedMem,
5518 hipStream_t *stream);
5534hipError_t hipLaunchKernel(const void* function_address,
5535 dim3 numBlocks,
5536 dim3 dimBlocks,
5537 void** args,
5538 size_t sharedMemBytes __dparm(0),
5539 hipStream_t stream __dparm(0));
5540
5553
5562//TODO: Move this to hip_ext.h
5583hipError_t hipExtLaunchKernel(const void* function_address, dim3 numBlocks, dim3 dimBlocks,
5584 void** args, size_t sharedMemBytes, hipStream_t stream,
5585 hipEvent_t startEvent, hipEvent_t stopEvent, int flags);
5586// doxygen end Clang launch
5613 hipTextureObject_t* pTexObject,
5614 const hipResourceDesc* pResDesc,
5615 const hipTextureDesc* pTexDesc,
5616 const struct hipResourceViewDesc* pResViewDesc);
5617
5627
5639 hipArray_const_t array);
5640
5651 hipResourceDesc* pResDesc,
5652 hipTextureObject_t textureObject);
5653
5664 struct hipResourceViewDesc* pResViewDesc,
5665 hipTextureObject_t textureObject);
5666
5677 hipTextureDesc* pTexDesc,
5678 hipTextureObject_t textureObject);
5679
5692 hipTextureObject_t* pTexObject,
5693 const HIP_RESOURCE_DESC* pResDesc,
5694 const HIP_TEXTURE_DESC* pTexDesc,
5695 const HIP_RESOURCE_VIEW_DESC* pResViewDesc);
5696
5706 hipTextureObject_t texObject);
5707
5718 HIP_RESOURCE_DESC* pResDesc,
5719 hipTextureObject_t texObject);
5720
5731 HIP_RESOURCE_VIEW_DESC* pResViewDesc,
5732 hipTextureObject_t texObject);
5733
5744 HIP_TEXTURE_DESC* pTexDesc,
5745 hipTextureObject_t texObject);
5746
5762 hipMipmappedArray_t *mipmappedArray,
5763 const struct hipChannelFormatDesc* desc,
5764 struct hipExtent extent,
5765 unsigned int numLevels,
5766 unsigned int flags __dparm(0));
5767
5778hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray);
5779
5793 hipArray_t *levelArray,
5794 hipMipmappedArray_const_t mipmappedArray,
5795 unsigned int level);
5796
5809 hipMipmappedArray_t* pHandle,
5810 HIP_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc,
5811 unsigned int numMipmapLevels);
5812
5823hipError_t hipMipmappedArrayDestroy(hipMipmappedArray_t hMipmappedArray);
5824
5838 hipArray_t* pLevelArray,
5839 hipMipmappedArray_t hMipMappedArray,
5840 unsigned int level);
5841
5862 const textureReference* tex,
5863 hipMipmappedArray_const_t mipmappedArray,
5864 const hipChannelFormatDesc* desc);
5865
5878 const textureReference** texref,
5879 const void* symbol);
5893 textureReference* texRef,
5894 int dim,
5895 enum hipTextureAddressMode am);
5910 textureReference* tex,
5911 hipArray_const_t array,
5912 unsigned int flags);
5926 textureReference* texRef,
5927 enum hipTextureFilterMode fm);
5941 textureReference* texRef,
5942 unsigned int Flags);
5957 textureReference* texRef,
5958 hipArray_Format fmt,
5959 int NumPackedComponents);
5976 size_t* offset,
5977 const textureReference* tex,
5978 const void* devPtr,
5979 const hipChannelFormatDesc* desc,
5980 size_t size __dparm(UINT_MAX));
5999 size_t* offset,
6000 const textureReference* tex,
6001 const void* devPtr,
6002 const hipChannelFormatDesc* desc,
6003 size_t width,
6004 size_t height,
6005 size_t pitch);
6020 const textureReference* tex,
6021 hipArray_const_t array,
6022 const hipChannelFormatDesc* desc);
6036 size_t* offset,
6037 const textureReference* texref);
6063 hipDeviceptr_t* dev_ptr,
6064 const textureReference* texRef);
6079 enum hipTextureAddressMode* pam,
6080 const textureReference* texRef,
6081 int dim);
6095 enum hipTextureFilterMode* pfm,
6096 const textureReference* texRef);
6110 unsigned int* pFlags,
6111 const textureReference* texRef);
6126 hipArray_Format* pFormat,
6127 int* pNumChannels,
6128 const textureReference* texRef);
6142 int* pmaxAnsio,
6143 const textureReference* texRef);
6157 enum hipTextureFilterMode* pfm,
6158 const textureReference* texRef);
6172 float* pbias,
6173 const textureReference* texRef);
6188 float* pminMipmapLevelClamp,
6189 float* pmaxMipmapLevelClamp,
6190 const textureReference* texRef);
6204 hipMipmappedArray_t* pArray,
6205 const textureReference* texRef);
6221 size_t* ByteOffset,
6222 textureReference* texRef,
6223 hipDeviceptr_t dptr,
6224 size_t bytes);
6240 textureReference* texRef,
6241 const HIP_ARRAY_DESCRIPTOR* desc,
6242 hipDeviceptr_t dptr,
6243 size_t Pitch);
6257 textureReference* texRef,
6258 unsigned int maxAniso);
6272 textureReference* texRef,
6273 float* pBorderColor);
6287 textureReference* texRef,
6288 enum hipTextureFilterMode fm);
6302 textureReference* texRef,
6303 float bias);
6318 textureReference* texRef,
6319 float minMipMapLevelClamp,
6320 float maxMipMapLevelClamp);
6335 textureReference* texRef,
6336 struct hipMipmappedArray* mipmappedArray,
6337 unsigned int Flags);
6338
6339// doxygen end deprecated texture management
6344// doxygen end Texture management
6356// This group is for HIPrtc
6357
6358// doxygen end Runtime
6377const char* hipApiName(uint32_t id);
6386const char* hipKernelNameRef(const hipFunction_t f);
6396const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream);
6406
6407// doxygen end Callback
6433
6447
6462 unsigned long long* pId);
6463
6481 unsigned long long* id_out __dparm(0),
6482 hipGraph_t* graph_out __dparm(0),
6483 const hipGraphNode_t** dependencies_out __dparm(0),
6484 size_t* numDependencies_out __dparm(0));
6485
6499
6513 size_t numDependencies,
6514 unsigned int flags __dparm(0));
6515
6527
6540hipError_t hipGraphCreate(hipGraph_t* pGraph, unsigned int flags);
6541
6554
6569 const hipGraphNode_t* to, size_t numDependencies);
6570
6585 const hipGraphNode_t* to, size_t numDependencies);
6586
6605 size_t* numEdges);
6606
6623hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t* nodes, size_t* numNodes);
6624
6642 size_t* pNumRootNodes);
6643
6661 size_t* pNumDependencies);
6662
6681 size_t* pNumDependentNodes);
6682
6695
6707
6719hipError_t hipGraphClone(hipGraph_t* pGraphClone, hipGraph_t originalGraph);
6720
6734 hipGraph_t clonedGraph);
6735
6753 hipGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
6754
6768 unsigned long long flags);
6769
6781
6793
6805
6806// Check whether an executable graph can be updated with a graph and perform the update if possible.
6821 hipGraphNode_t* hErrorNode_out,
6822 hipGraphExecUpdateResult* updateResult_out);
6823
6837 const hipGraphNode_t* pDependencies, size_t numDependencies,
6838 const hipKernelNodeParams* pNodeParams);
6839
6850
6861
6873 const hipKernelNodeParams* pNodeParams);
6874
6889 const hipGraphNode_t* dependencies,
6890 size_t numDependencies,
6891 const HIP_MEMCPY3D* copyParams, hipCtx_t ctx);
6905 const hipGraphNode_t* pDependencies, size_t numDependencies,
6906 const hipMemcpy3DParms* pCopyParams);
6917
6928
6940 const hipKernelNodeAttrValue* value);
6952 hipKernelNodeAttrValue* value);
6964 hipMemcpy3DParms* pNodeParams);
6965
6982 const hipGraphNode_t* pDependencies, size_t numDependencies,
6983 void* dst, const void* src, size_t count, hipMemcpyKind kind);
6984
6998 size_t count, hipMemcpyKind kind);
6999
7015 void* dst, const void* src, size_t count,
7016 hipMemcpyKind kind);
7017
7035 const hipGraphNode_t* pDependencies,
7036 size_t numDependencies, void* dst, const void* symbol,
7037 size_t count, size_t offset, hipMemcpyKind kind);
7038
7053 size_t count, size_t offset, hipMemcpyKind kind);
7054
7071 void* dst, const void* symbol, size_t count,
7072 size_t offset, hipMemcpyKind kind);
7073
7091 const hipGraphNode_t* pDependencies,
7092 size_t numDependencies, const void* symbol,
7093 const void* src, size_t count, size_t offset,
7094 hipMemcpyKind kind);
7095
7110 const void* src, size_t count, size_t offset,
7111 hipMemcpyKind kind);
7112
7113
7129 const void* symbol, const void* src,
7130 size_t count, size_t offset, hipMemcpyKind kind);
7131
7145 const hipGraphNode_t* pDependencies, size_t numDependencies,
7146 const hipMemsetParams* pMemsetParams);
7147
7158
7169
7181 const hipMemsetParams* pNodeParams);
7182
7196 const hipGraphNode_t* pDependencies, size_t numDependencies,
7197 const hipHostNodeParams* pNodeParams);
7198
7209
7220
7232 const hipHostNodeParams* pNodeParams);
7233
7247 const hipGraphNode_t* pDependencies, size_t numDependencies,
7248 hipGraph_t childGraph);
7249
7260
7272 hipGraph_t childGraph);
7273
7286 const hipGraphNode_t* pDependencies, size_t numDependencies);
7287
7288
7302 const hipGraphNode_t* pDependencies, size_t numDependencies,
7303 hipEvent_t event);
7304
7315
7326
7338 hipEvent_t event);
7339
7353 const hipGraphNode_t* pDependencies, size_t numDependencies,
7354 hipEvent_t event);
7355
7356
7367
7378
7390 hipEvent_t event);
7391
7405 const hipGraphNode_t* pDependencies, size_t numDependencies, hipMemAllocNodeParams* pNodeParams);
7406
7417
7431 const hipGraphNode_t* pDependencies, size_t numDependencies, void* dev_ptr);
7432
7443
7455
7467
7478
7492 unsigned int initialRefcount, unsigned int flags);
7493
7504
7515
7528 unsigned int count __dparm(1), unsigned int flags __dparm(0));
7529
7541 unsigned int count __dparm(1));
7542
7553hipError_t hipGraphDebugDotPrint(hipGraph_t graph, const char* path, unsigned int flags);
7554
7570
7594 unsigned int isEnabled);
7616 unsigned int* isEnabled);
7617
7631 const hipGraphNode_t* pDependencies, size_t numDependencies,
7632 const hipExternalSemaphoreWaitNodeParams* nodeParams);
7633
7647 const hipGraphNode_t* pDependencies, size_t numDependencies,
7648 const hipExternalSemaphoreSignalNodeParams* nodeParams);
7659 const hipExternalSemaphoreSignalNodeParams* nodeParams);
7670 const hipExternalSemaphoreWaitNodeParams* nodeParams);
7704 const hipExternalSemaphoreSignalNodeParams* nodeParams);
7716 const hipExternalSemaphoreWaitNodeParams* nodeParams);
7717
7728
7739
7754 const hipGraphNode_t* dependencies, size_t numDependencies,
7755 const HIP_MEMSET_NODE_PARAMS* memsetParams, hipCtx_t ctx);
7756
7757// doxygen end graph API
7785hipError_t hipMemAddressFree(void* devPtr, size_t size);
7786
7801hipError_t hipMemAddressReserve(void** ptr, size_t size, size_t alignment, void* addr, unsigned long long flags);
7802
7816hipError_t hipMemCreate(hipMemGenericAllocationHandle_t* handle, size_t size, const hipMemAllocationProp* prop, unsigned long long flags);
7817
7831hipError_t hipMemExportToShareableHandle(void* shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags);
7832
7845hipError_t hipMemGetAccess(unsigned long long* flags, const hipMemLocation* location, void* ptr);
7846
7861
7874
7888
7903hipError_t hipMemMap(void* ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags);
7904
7917hipError_t hipMemMapArrayAsync(hipArrayMapInfo* mapInfoList, unsigned int count, hipStream_t stream);
7918
7930
7943
7957hipError_t hipMemSetAccess(void* ptr, size_t size, const hipMemAccessDesc* desc, size_t count);
7958
7970hipError_t hipMemUnmap(void* ptr, size_t size);
7971
7972// doxygen end virtual memory management API
7995 hipStream_t stream __dparm(0) );
8010 unsigned int arrayIndex, unsigned int mipLevel);
8022 hipGraphicsResource_t resource);
8034 hipStream_t stream __dparm(0));
8044// doxygen end GL Interop
8079// end of surface
8083#ifdef __cplusplus
8084} /* extern "c" */
8085#endif
8086#ifdef __cplusplus
8087#if defined(__clang__) && defined(__HIP__)
8088template <typename T>
8089static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
8090 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0) {
8091 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
8092}
8093template <typename T>
8094static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
8095 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0, unsigned int flags = 0 ) {
8096 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
8097}
8098#endif // defined(__clang__) && defined(__HIP__)
8099
8109template <typename T>
8110hipError_t hipGetSymbolAddress(void** devPtr, const T &symbol) {
8111 return ::hipGetSymbolAddress(devPtr, (const void *)&symbol);
8112}
8123template <typename T>
8124hipError_t hipGetSymbolSize(size_t* size, const T &symbol) {
8125 return ::hipGetSymbolSize(size, (const void *)&symbol);
8126}
8127
8136template <typename T>
8137hipError_t hipMemcpyToSymbol(const T& symbol, const void* src, size_t sizeBytes,
8138 size_t offset __dparm(0),
8140 return ::hipMemcpyToSymbol((const void*)&symbol, src, sizeBytes, offset, kind);
8141}
8150template <typename T>
8151hipError_t hipMemcpyToSymbolAsync(const T& symbol, const void* src, size_t sizeBytes, size_t offset,
8152 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
8153 return ::hipMemcpyToSymbolAsync((const void*)&symbol, src, sizeBytes, offset, kind, stream);
8154}
8162template <typename T>
8163hipError_t hipMemcpyFromSymbol(void* dst, const T &symbol,
8164 size_t sizeBytes, size_t offset __dparm(0),
8166 return ::hipMemcpyFromSymbol(dst, (const void*)&symbol, sizeBytes, offset, kind);
8167}
8175template <typename T>
8176hipError_t hipMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t sizeBytes, size_t offset,
8177 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
8178 return ::hipMemcpyFromSymbolAsync(dst, (const void*)&symbol, sizeBytes, offset, kind, stream);
8179}
8180
8192template <class T>
8194 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk) {
8196 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk);
8197}
8211template <class T>
8213 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags) {
8215 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk, flags);
8216}
8237template<typename UnaryFunction, class T>
8238static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(
8239 int* min_grid_size,
8240 int* block_size,
8241 T func,
8242 UnaryFunction block_size_to_dynamic_smem_size,
8243 int block_size_limit = 0,
8244 unsigned int flags = 0) {
8245 if (min_grid_size == nullptr || block_size == nullptr ||
8246 reinterpret_cast<const void*>(func) == nullptr) {
8247 return hipErrorInvalidValue;
8248 }
8249
8250 int dev;
8251 hipError_t status;
8252 if ((status = hipGetDevice(&dev)) != hipSuccess) {
8253 return status;
8254 }
8255
8256 int max_threads_per_cu;
8257 if ((status = hipDeviceGetAttribute(&max_threads_per_cu,
8259 return status;
8260 }
8261
8262 int warp_size;
8263 if ((status = hipDeviceGetAttribute(&warp_size,
8265 return status;
8266 }
8267
8268 int max_cu_count;
8269 if ((status = hipDeviceGetAttribute(&max_cu_count,
8271 return status;
8272 }
8273
8274 struct hipFuncAttributes attr;
8275 if ((status = hipFuncGetAttributes(&attr, reinterpret_cast<const void*>(func))) != hipSuccess) {
8276 return status;
8277 }
8278
8279 // Initial limits for the execution
8280 const int func_max_threads_per_block = attr.maxThreadsPerBlock;
8281 if (block_size_limit == 0) {
8282 block_size_limit = func_max_threads_per_block;
8283 }
8284
8285 if (func_max_threads_per_block < block_size_limit) {
8286 block_size_limit = func_max_threads_per_block;
8287 }
8288
8289 const int block_size_limit_aligned =
8290 ((block_size_limit + (warp_size - 1)) / warp_size) * warp_size;
8291
8292 // For maximum search
8293 int max_threads = 0;
8294 int max_block_size{};
8295 int max_num_blocks{};
8296 for (int block_size_check_aligned = block_size_limit_aligned;
8297 block_size_check_aligned > 0;
8298 block_size_check_aligned -= warp_size) {
8299 // Make sure the logic uses the requested limit and not aligned
8300 int block_size_check = (block_size_limit < block_size_check_aligned) ?
8301 block_size_limit : block_size_check_aligned;
8302
8303 size_t dyn_smem_size = block_size_to_dynamic_smem_size(block_size_check);
8304 int optimal_blocks;
8306 &optimal_blocks, func, block_size_check, dyn_smem_size, flags)) != hipSuccess) {
8307 return status;
8308 }
8309
8310 int total_threads = block_size_check * optimal_blocks;
8311 if (total_threads > max_threads) {
8312 max_block_size = block_size_check;
8313 max_num_blocks = optimal_blocks;
8314 max_threads = total_threads;
8315 }
8316
8317 // Break if the logic reached possible maximum
8318 if (max_threads_per_cu == max_threads) {
8319 break;
8320 }
8321 }
8322
8323 // Grid size is the number of blocks per CU * CU count
8324 *min_grid_size = max_num_blocks * max_cu_count;
8325 *block_size = max_block_size;
8326
8327 return status;
8328}
8329
8349template<typename UnaryFunction, class T>
8350static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeVariableSMem(
8351 int* min_grid_size,
8352 int* block_size,
8353 T func,
8354 UnaryFunction block_size_to_dynamic_smem_size,
8355 int block_size_limit = 0)
8356{
8357 return hipOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(min_grid_size, block_size, func,
8358 block_size_to_dynamic_smem_size, block_size_limit);
8359}
8374template <typename F>
8375inline hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
8376 F kernel, size_t dynSharedMemPerBlk, uint32_t blockSizeLimit) {
8377return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize,(hipFunction_t)kernel, dynSharedMemPerBlk, blockSizeLimit);
8378}
8395template <class T>
8396inline hipError_t hipLaunchCooperativeKernel(T f, dim3 gridDim, dim3 blockDim,
8397 void** kernelParams, unsigned int sharedMemBytes, hipStream_t stream) {
8398 return hipLaunchCooperativeKernel(reinterpret_cast<const void*>(f), gridDim,
8399 blockDim, kernelParams, sharedMemBytes, stream);
8400}
8415template <class T>
8417 unsigned int numDevices, unsigned int flags = 0) {
8418 return hipLaunchCooperativeKernelMultiDevice(launchParamsList, numDevices, flags);
8419}
8434template <class T>
8436 unsigned int numDevices, unsigned int flags = 0) {
8437 return hipExtLaunchMultiKernelMultiDevice(launchParamsList, numDevices, flags);
8438}
8452template <class T, int dim, enum hipTextureReadMode readMode>
8454static inline hipError_t hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex,
8455 const void* devPtr, size_t size = UINT_MAX) {
8456 return hipBindTexture(offset, &tex, devPtr, &tex.channelDesc, size);
8457}
8472template <class T, int dim, enum hipTextureReadMode readMode>
8474static inline hipError_t
8475 hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex, const void* devPtr,
8476 const struct hipChannelFormatDesc& desc, size_t size = UINT_MAX) {
8477 return hipBindTexture(offset, &tex, devPtr, &desc, size);
8478}
8494template<class T, int dim, enum hipTextureReadMode readMode>
8496static inline hipError_t hipBindTexture2D(
8497 size_t *offset,
8498 const struct texture<T, dim, readMode> &tex,
8499 const void *devPtr,
8500 size_t width,
8501 size_t height,
8502 size_t pitch)
8503{
8504 return hipBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch);
8505}
8522template<class T, int dim, enum hipTextureReadMode readMode>
8524static inline hipError_t hipBindTexture2D(
8525 size_t *offset,
8526 const struct texture<T, dim, readMode> &tex,
8527 const void *devPtr,
8528 const struct hipChannelFormatDesc &desc,
8529 size_t width,
8530 size_t height,
8531 size_t pitch)
8532{
8533 return hipBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch);
8534}
8546template<class T, int dim, enum hipTextureReadMode readMode>
8548static inline hipError_t hipBindTextureToArray(
8549 const struct texture<T, dim, readMode> &tex,
8550 hipArray_const_t array)
8551{
8552 struct hipChannelFormatDesc desc;
8553 hipError_t err = hipGetChannelDesc(&desc, array);
8554 return (err == hipSuccess) ? hipBindTextureToArray(&tex, array, &desc) : err;
8555}
8568template<class T, int dim, enum hipTextureReadMode readMode>
8570static inline hipError_t hipBindTextureToArray(
8571 const struct texture<T, dim, readMode> &tex,
8572 hipArray_const_t array,
8573 const struct hipChannelFormatDesc &desc)
8574{
8575 return hipBindTextureToArray(&tex, array, &desc);
8576}
8588template<class T, int dim, enum hipTextureReadMode readMode>
8591 const struct texture<T, dim, readMode> &tex,
8592 hipMipmappedArray_const_t mipmappedArray)
8593{
8594 struct hipChannelFormatDesc desc;
8595 hipArray_t levelArray;
8596 hipError_t err = hipGetMipmappedArrayLevel(&levelArray, mipmappedArray, 0);
8597 if (err != hipSuccess) {
8598 return err;
8599 }
8600 err = hipGetChannelDesc(&desc, levelArray);
8601 return (err == hipSuccess) ? hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc) : err;
8602}
8615template<class T, int dim, enum hipTextureReadMode readMode>
8618 const struct texture<T, dim, readMode> &tex,
8619 hipMipmappedArray_const_t mipmappedArray,
8620 const struct hipChannelFormatDesc &desc)
8621{
8622 return hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc);
8623}
8634template<class T, int dim, enum hipTextureReadMode readMode>
8636static inline hipError_t hipUnbindTexture(
8637 const struct texture<T, dim, readMode> &tex)
8638{
8639 return hipUnbindTexture(&tex);
8640}
8664static inline hipError_t hipMallocAsync(
8665 void** dev_ptr,
8666 size_t size,
8667 hipMemPool_t mem_pool,
8668 hipStream_t stream) {
8669 return hipMallocFromPoolAsync(dev_ptr, size, mem_pool, stream);
8670}
8681template<class T>
8682static inline hipError_t hipMallocAsync(
8683 T** dev_ptr,
8684 size_t size,
8685 hipMemPool_t mem_pool,
8686 hipStream_t stream) {
8687 return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
8688}
8699template<class T>
8700static inline hipError_t hipMallocAsync(
8701 T** dev_ptr,
8702 size_t size,
8703 hipStream_t stream) {
8704 return hipMallocAsync(reinterpret_cast<void**>(dev_ptr), size, stream);
8705}
8716template<class T>
8718 T** dev_ptr,
8719 size_t size,
8720 hipMemPool_t mem_pool,
8721 hipStream_t stream) {
8722 return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
8723}
8727#endif // __cplusplus
8728
8729#ifdef __GNUC__
8730#pragma GCC visibility pop
8731#endif
8732
8733
8734#elif !defined(__HIP_PLATFORM_AMD__) && defined(__HIP_PLATFORM_NVIDIA__)
8735#include "hip/nvidia_detail/nvidia_hip_runtime_api.h"
8736#else
8737#error("Must define exactly one of __HIP_PLATFORM_AMD__ or __HIP_PLATFORM_NVIDIA__");
8738#endif
8739
8740
8752#if defined(__cplusplus) && !defined(__HIP_DISABLE_CPP_FUNCTIONS__)
8753template <class T>
8754static inline hipError_t hipMalloc(T** devPtr, size_t size) {
8755 return hipMalloc((void**)devPtr, size);
8756}
8769template <class T>
8770static inline hipError_t hipHostMalloc(T** ptr, size_t size,
8771 unsigned int flags = hipHostMallocDefault) {
8772 return hipHostMalloc((void**)ptr, size, flags);
8773}
8788template <class T>
8789static inline hipError_t hipMallocManaged(T** devPtr, size_t size,
8790 unsigned int flags = hipMemAttachGlobal) {
8791 return hipMallocManaged((void**)devPtr, size, flags);
8792}
8793
8794#endif
8795#endif
8796// doxygen end HIP API
8800#include <hip/amd_detail/amd_hip_runtime_pt_api.h>
8801
8802#if USE_PROF_API
8803#include <hip/amd_detail/hip_prof_str.h>
8804#endif
hipMemcpyKind
Definition driver_types.h:333
@ hipMemcpyDeviceToHost
Device-to-Host Copy.
Definition driver_types.h:336
@ hipMemcpyHostToDevice
Host-to-Device Copy.
Definition driver_types.h:335
hipPointer_attribute
Definition driver_types.h:431
struct hipArray * hipArray_t
Definition driver_types.h:58
void * hipDeviceptr_t
Definition driver_types.h:39
hipFunction_attribute
Definition driver_types.h:417
const struct hipArray * hipArray_const_t
Definition driver_types.h:59
hipArray_Format
Definition driver_types.h:60
hipResourceType
Definition driver_types.h:123
const char * hipApiName(uint32_t id)
Returns HIP API name by ID.
const char * hipKernelNameRef(const hipFunction_t f)
Returns kernel name reference by function name.
const char * hipKernelNameRefByPtr(const void *hostFunction, hipStream_t stream)
Retrives kernel for a given host pointer, unless stated otherwise.
int hipGetStreamDeviceId(hipStream_t stream)
Returns device ID on the stream.
hipError_t hipSetupArgument(const void *arg, size_t size, size_t offset)
Set a kernel argument.
hipError_t __hipPopCallConfiguration(dim3 *gridDim, dim3 *blockDim, size_t *sharedMem, hipStream_t *stream)
Pop configuration of a kernel launch.
hipError_t __hipPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Push configuration of a kernel launch.
hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void *userData)
Enqueues a host function call in a stream.
hipError_t hipExtLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes, hipStream_t stream, hipEvent_t startEvent, hipEvent_t stopEvent, int flags)
Launches kernel from the pointer address, with arguments and shared memory on stream.
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Configure a kernel launch.
hipError_t hipLaunchByPtr(const void *func)
Launch a kernel.
hipError_t hipLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes __dparm(0), hipStream_t stream __dparm(0))
C compliant kernel launch API.
hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D *pCopy)
hipError_t hipCtxGetFlags(unsigned int *flags)
Return flags used for creating default context.
hipError_t hipCtxPopCurrent(hipCtx_t *ctx)
Pop the current/default context and return the popped context.
hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration.
hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
Get the handle of the current/ default context.
hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipError_t hipCtxSetCurrent(hipCtx_t ctx)
Set the passed context as current/default.
hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
Enables direct access to memory allocations in a peer context.
hipError_t hipCtxGetDevice(hipDevice_t *device)
Get the handle of the device associated with current/default context.
hipError_t hipCtxDestroy(hipCtx_t ctx)
Destroy a HIP context.
hipError_t hipCtxPushCurrent(hipCtx_t ctx)
Push the context to be set as current/ default context.
hipError_t hipCtxGetCacheConfig(hipFuncCache_t *cacheConfig)
Get Cache configuration for a specific function.
hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
Create a context and set it as current/default context.
hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion)
Returns the approximate HIP api version.
hipError_t hipCtxSynchronize(void)
Blocks until the default context has completed all preceding requested tasks.
hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config)
Set Shared memory bank configuration.
hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx)
Disable direct access from current context's virtual address space to memory allocations physically l...
hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags)
Set flags for the primary context.
hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int *flags, int *active)
Get the state of the primary context.
hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev)
Release the primary context on the GPU.
hipError_t hipDevicePrimaryCtxRetain(hipCtx_t *pctx, hipDevice_t dev)
Retain the primary context on the GPU.
hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev)
Resets the primary context on the GPU.
hipError_t hipGetDeviceFlags(unsigned int *flags)
Gets the flags set for current device.
hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t *handle, hipEvent_t event)
Gets an opaque interprocess handle for an event.
hipError_t hipDeviceGetDefaultMemPool(hipMemPool_t *mem_pool, int device)
Returns the default memory pool of the specified device.
hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
Returns bank width of shared memory for current device.
hipError_t hipDeviceSetMemPool(int device, hipMemPool_t mem_pool)
Sets the current memory pool of a device.
hipError_t hipIpcOpenMemHandle(void **devPtr, hipIpcMemHandle_t handle, unsigned int flags)
Opens an interprocess memory handle exported from another process and returns a device pointer usable...
hipError_t hipDeviceGetCacheConfig(hipFuncCache_t *cacheConfig)
Get Cache configuration for a specific Device.
hipError_t hipSetDevice(int deviceId)
Set default device to be used for subsequent hip API calls from this thread.
hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t *linktype, uint32_t *hopcount)
Returns the link type and hop count between two devices.
hipError_t hipSetDeviceFlags(unsigned flags)
The current device behavior is changed according the flags passed.
hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId)
Query for a specific device attribute.
hipError_t hipGetDevice(int *deviceId)
Return the default device id for the calling host thread.
hipError_t hipGetDeviceCount(int *count)
Return number of compute-capable devices.
hipError_t hipDeviceGetMemPool(hipMemPool_t *mem_pool, int device)
Gets the current memory pool for the specified device.
hipError_t hipDeviceReset(void)
The state of current device is discarded and updated to a fresh state.
hipError_t hipDeviceGetLimit(size_t *pValue, enum hipLimit_t limit)
Gets resource limits of current device.
hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
The bank width of shared memory on current device is set.
hipError_t hipDeviceSetLimit(enum hipLimit_t limit, size_t value)
Sets resource limits of current device.
hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipError_t hipIpcCloseMemHandle(void *devPtr)
Close memory mapped with hipIpcOpenMemHandle.
hipError_t hipIpcOpenEventHandle(hipEvent_t *event, hipIpcEventHandle_t handle)
Opens an interprocess event handles.
hipError_t hipDeviceSynchronize(void)
Waits on all active streams on current device.
hipError_t hipChooseDevice(int *device, const hipDeviceProp_t *prop)
Device which matches hipDeviceProp_t is returned.
hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t *handle, void *devPtr)
Gets an interprocess memory handle for an existing device memory allocation.
hipError_t hipInit(unsigned int flags)
Explicitly initializes the HIP runtime.
hipError_t hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device)
Returns the compute capability of the device.
hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device)
Returns an identifer string for the device.
hipError_t hipDeviceGetByPCIBusId(int *device, const char *pciBusId)
Returns a handle to a compute device.
hipError_t hipDeviceGetUuid(hipUUID *uuid, hipDevice_t device)
Returns an UUID for the device.[BETA].
hipError_t hipDeviceTotalMem(size_t *bytes, hipDevice_t device)
Returns the total amount of memory on the device.
hipError_t hipDeviceGetPCIBusId(char *pciBusId, int len, int device)
Returns a PCI Bus Id string for the device, overloaded to take int device ID.
hipError_t hipDeviceGet(hipDevice_t *device, int ordinal)
Returns a handle to a compute device.
hipError_t hipRuntimeGetVersion(int *runtimeVersion)
Returns the approximate HIP Runtime version.
hipError_t hipDeviceGetP2PAttribute(int *value, hipDeviceP2PAttr attr, int srcDevice, int dstDevice)
Returns a value for attribute of link between two devices.
hipError_t hipDriverGetVersion(int *driverVersion)
Returns the approximate HIP driver version.
const char * hipGetErrorString(hipError_t hipError)
Return handy text string message to explain the error which occurred.
hipError_t hipPeekAtLastError(void)
Return last error returned by any HIP runtime API call.
hipError_t hipDrvGetErrorString(hipError_t hipError, const char **errorString)
Return handy text string message to explain the error which occurred.
hipError_t hipGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
hipError_t hipExtGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
hipError_t hipDrvGetErrorName(hipError_t hipError, const char **errorString)
Return hip error as text string form.
const char * hipGetErrorName(hipError_t hip_error)
Return hip error as text string form.
hipError_t hipEventSynchronize(hipEvent_t event)
Wait for an event to complete.
hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream)
Record an event in the specified stream.
hipError_t hipEventQuery(hipEvent_t event)
Query event status.
hipError_t hipEventCreate(hipEvent_t *event)
hipError_t hipEventDestroy(hipEvent_t event)
Destroy the specified event.
hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
Return the elapsed time between two events.
hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
Create an event with the specified flags.
hipError_t hipFuncSetSharedMemConfig(const void *func, hipSharedMemConfig config)
Set shared memory configuation for a specific function.
hipError_t hipFuncSetAttribute(const void *func, hipFuncAttribute attr, int value)
Set attribute for a specific function.
hipError_t hipFuncSetCacheConfig(const void *func, hipFuncCache_t config)
Set Cache configuration for a specific function.
hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem)
Destroys an external memory object.
hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t *extSem_out, const hipExternalSemaphoreHandleDesc *semHandleDesc)
Imports an external semaphore.
hipError_t hipImportExternalMemory(hipExternalMemory_t *extMem_out, const hipExternalMemoryHandleDesc *memHandleDesc)
Imports an external memory object.
hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem)
Destroys an external semaphore object and releases any references to the underlying resource....
hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreWaitParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Waits on a set of external semaphore objects.
hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreSignalParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Signals a set of external semaphore objects.
hipError_t hipExternalMemoryGetMappedMipmappedArray(hipMipmappedArray_t *mipmap, hipExternalMemory_t extMem, const hipExternalMemoryMipmappedArrayDesc *mipmapDesc)
Maps a mipmapped array onto an external memory object.
hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc)
Maps a buffer onto an imported memory object.
hipError_t hipGraphicsUnregisterResource(hipGraphicsResource_t resource)
Unregisters a graphics resource.
hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream __dparm(0))
Maps a graphics resource for access.
hipError_t hipGraphicsSubResourceGetMappedArray(hipArray_t *array, hipGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel)
Get an array through which to access a subresource of a mapped graphics resource.
hipError_t hipGraphicsUnmapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream __dparm(0))
Unmaps graphics resources.
hipError_t hipGraphicsResourceGetMappedPointer(void **devPtr, size_t *size, hipGraphicsResource_t resource)
Gets device accessible address of a graphics resource.
hipLimit_t
Definition hip_runtime_api.h:644
hipMemAllocationHandleType
Definition hip_runtime_api.h:959
hipGraphicsResource * hipGraphicsResource_t
Definition hip_runtime_api.h:1198
struct ihipCtx_t * hipCtx_t
Definition hip_runtime_api.h:599
#define __dparm(x)
Definition hip_runtime_api.h:583
struct ihipStream_t * hipStream_t
Definition hip_runtime_api.h:608
int hipDevice_t
Definition hip_runtime_api.h:601
hipAccessProperty
Definition hip_runtime_api.h:1279
hipMemRangeAttribute
Definition hip_runtime_api.h:841
#define hipMemAttachSingle
Definition hip_runtime_api.h:730
hipMemoryAdvise
Definition hip_runtime_api.h:808
#define hipArrayDefault
Definition hip_runtime_api.h:778
hipSharedMemConfig
Definition hip_runtime_api.h:1028
hipComputeMode
Definition hip_runtime_api.h:541
struct ihipEvent_t * hipEvent_t
Definition hip_runtime_api.h:636
hipStreamCaptureMode
Definition hip_runtime_api.h:1326
hipGraphNodeType
Definition hip_runtime_api.h:1222
hipExternalMemoryHandleType
Definition hip_runtime_api.h:1072
#define hipMemAttachGlobal
Definition hip_runtime_api.h:724
hipFuncAttribute
Definition hip_runtime_api.h:1011
hipExternalSemaphoreHandleType
Definition hip_runtime_api.h:1110
hipJitOption
Definition hip_runtime_api.h:988
hipDeviceP2PAttr
Definition hip_runtime_api.h:602
hipGraphDebugDotFlags
Definition hip_runtime_api.h:1368
hipUserObjectRetainFlags
Definition hip_runtime_api.h:1353
enum __HIP_NODISCARD hipError_t hipError_t
Definition hip_runtime_api.h:285
void(* hipHostFn_t)(void *userData)
Definition hip_runtime_api.h:1240
#define hipOccupancyDefault
Definition hip_runtime_api.h:783
hipStreamUpdateCaptureDependenciesFlags
Definition hip_runtime_api.h:1338
struct ihipGraph * hipGraph_t
Definition hip_runtime_api.h:1203
hipMemHandleType
Definition hip_runtime_api.h:1441
hipFlushGPUDirectRDMAWritesOptions
Definition hip_runtime_api.h:548
hipFuncCache_t
Definition hip_runtime_api.h:1019
hipUserObjectFlags
Definition hip_runtime_api.h:1349
#define __HIP_NODISCARD
Definition hip_runtime_api.h:275
#define DEPRECATED_MSG
Definition hip_runtime_api.h:575
hipGraphMemAttributeType
Definition hip_runtime_api.h:1343
hipMemPoolAttr
Definition hip_runtime_api.h:857
#define hipDeviceProp_t
Definition hip_runtime_api.h:92
struct ihipModule_t * hipModule_t
Definition hip_runtime_api.h:617
struct hipUserObject * hipUserObject_t
Definition hip_runtime_api.h:1216
hipMemOperationType
Definition hip_runtime_api.h:1448
void * hipExternalSemaphore_t
Definition hip_runtime_api.h:1135
hipGraphicsRegisterFlags
Definition hip_runtime_api.h:1186
hipMemRangeCoherencyMode
Definition hip_runtime_api.h:829
hipMemAccessFlags
Definition hip_runtime_api.h:932
hipMemAllocationGranularity_flags
Definition hip_runtime_api.h:1433
struct hipGraphExec * hipGraphExec_t
Definition hip_runtime_api.h:1211
hipGraphExecUpdateResult
Definition hip_runtime_api.h:1311
struct ihipModuleSymbol_t * hipFunction_t
Definition hip_runtime_api.h:618
void * hipExternalMemory_t
Definition hip_runtime_api.h:1109
hipStreamCaptureStatus
Definition hip_runtime_api.h:1331
hipDeviceAttribute_t
Definition hip_runtime_api.h:407
hipGPUDirectRDMAWritesOrdering
Definition hip_runtime_api.h:553
#define hipGetDeviceProperties
Definition hip_runtime_api.h:91
#define DEPRECATED(msg)
Definition hip_runtime_api.h:573
#define hipHostMallocDefault
Definition hip_runtime_api.h:697
struct _hipGraphicsResource hipGraphicsResource
Definition hip_runtime_api.h:1196
hipMemAllocationType
Definition hip_runtime_api.h:947
struct hipGraphNode * hipGraphNode_t
Definition hip_runtime_api.h:1207
struct ihipMemGenericAllocationHandle * hipMemGenericAllocationHandle_t
Definition hip_runtime_api.h:1428
hipMemoryType
Definition hip_runtime_api.h:243
hipGraphInstantiateFlags
Definition hip_runtime_api.h:1357
hipKernelNodeAttrID
Definition hip_runtime_api.h:1275
hipMemLocationType
Definition hip_runtime_api.h:915
#define HIP_IPC_HANDLE_SIZE
Definition hip_runtime_api.h:610
struct ihipMemPoolHandle_t * hipMemPool_t
Definition hip_runtime_api.h:622
hipArraySparseSubresourceType
Definition hip_runtime_api.h:1456
@ hipLimitMallocHeapSize
Definition hip_runtime_api.h:650
@ hipLimitStackSize
Definition hip_runtime_api.h:645
@ hipLimitRange
Supported limit range.
Definition hip_runtime_api.h:652
@ hipLimitPrintfFifoSize
Definition hip_runtime_api.h:648
@ hipMemHandleTypeWin32
Allows a Win32 NT handle for exporting. (HANDLE)
Definition hip_runtime_api.h:962
@ hipMemHandleTypeWin32Kmt
Allows a Win32 KMT handle for exporting. (D3DKMT_HANDLE)
Definition hip_runtime_api.h:963
@ hipMemHandleTypeNone
Does not allow any export mechanism.
Definition hip_runtime_api.h:960
@ hipMemHandleTypePosixFileDescriptor
Allows a file descriptor for exporting. Permitted only on POSIX systems.
Definition hip_runtime_api.h:961
@ hipAccessPropertyNormal
Definition hip_runtime_api.h:1280
@ hipAccessPropertyPersisting
Definition hip_runtime_api.h:1282
@ hipAccessPropertyStreaming
Definition hip_runtime_api.h:1281
@ hipMemRangeAttributeLastPrefetchLocation
prefetched
Definition hip_runtime_api.h:847
@ hipMemRangeAttributePreferredLocation
The preferred location of the range.
Definition hip_runtime_api.h:844
@ hipMemRangeAttributeAccessedBy
Definition hip_runtime_api.h:845
@ hipMemRangeAttributeReadMostly
Definition hip_runtime_api.h:842
@ hipMemRangeAttributeCoherencyMode
Definition hip_runtime_api.h:849
@ hipMemAdviseUnsetAccessedBy
Definition hip_runtime_api.h:817
@ hipMemAdviseUnsetCoarseGrain
Restores cache coherency policy back to fine-grain.
Definition hip_runtime_api.h:824
@ hipMemAdviseSetCoarseGrain
Definition hip_runtime_api.h:819
@ hipMemAdviseUnsetPreferredLocation
Clear the preferred location for the data.
Definition hip_runtime_api.h:814
@ hipMemAdviseSetAccessedBy
Definition hip_runtime_api.h:815
@ hipMemAdviseSetPreferredLocation
Definition hip_runtime_api.h:812
@ hipMemAdviseSetReadMostly
Definition hip_runtime_api.h:809
@ hipMemAdviseUnsetReadMostly
Undo the effect of hipMemAdviseSetReadMostly.
Definition hip_runtime_api.h:811
@ hipSharedMemBankSizeFourByte
Definition hip_runtime_api.h:1030
@ hipSharedMemBankSizeEightByte
Definition hip_runtime_api.h:1032
@ hipSharedMemBankSizeDefault
The compiler selects a device-specific value for the banking.
Definition hip_runtime_api.h:1029
@ hipComputeModeProhibited
Definition hip_runtime_api.h:544
@ hipComputeModeExclusive
Definition hip_runtime_api.h:543
@ hipComputeModeDefault
Definition hip_runtime_api.h:542
@ hipComputeModeExclusiveProcess
Definition hip_runtime_api.h:545
@ hipStreamCaptureModeRelaxed
Definition hip_runtime_api.h:1329
@ hipStreamCaptureModeThreadLocal
Definition hip_runtime_api.h:1328
@ hipStreamCaptureModeGlobal
Definition hip_runtime_api.h:1327
@ hipGraphNodeTypeGraph
Node which executes an embedded graph.
Definition hip_runtime_api.h:1227
@ hipGraphNodeTypeMemset
Memset node.
Definition hip_runtime_api.h:1225
@ hipGraphNodeTypeEventRecord
External event record node.
Definition hip_runtime_api.h:1230
@ hipGraphNodeTypeExtSemaphoreSignal
External Semaphore signal node.
Definition hip_runtime_api.h:1231
@ hipGraphNodeTypeMemcpy
Memcpy node.
Definition hip_runtime_api.h:1224
@ hipGraphNodeTypeWaitEvent
External event wait node.
Definition hip_runtime_api.h:1229
@ hipGraphNodeTypeCount
Definition hip_runtime_api.h:1237
@ hipGraphNodeTypeKernel
GPU kernel node.
Definition hip_runtime_api.h:1223
@ hipGraphNodeTypeHost
Host (executable) node.
Definition hip_runtime_api.h:1226
@ hipGraphNodeTypeMemAlloc
Memory alloc node.
Definition hip_runtime_api.h:1233
@ hipGraphNodeTypeMemFree
Memory free node.
Definition hip_runtime_api.h:1234
@ hipGraphNodeTypeMemcpyFromSymbol
MemcpyFromSymbol node.
Definition hip_runtime_api.h:1235
@ hipGraphNodeTypeMemcpyToSymbol
MemcpyToSymbol node.
Definition hip_runtime_api.h:1236
@ hipGraphNodeTypeEmpty
Empty (no-op) node.
Definition hip_runtime_api.h:1228
@ hipGraphNodeTypeExtSemaphoreWait
External Semaphore wait node.
Definition hip_runtime_api.h:1232
@ hipExternalMemoryHandleTypeD3D11Resource
Definition hip_runtime_api.h:1078
@ hipExternalMemoryHandleTypeD3D12Resource
Definition hip_runtime_api.h:1077
@ hipExternalMemoryHandleTypeNvSciBuf
Definition hip_runtime_api.h:1080
@ hipExternalMemoryHandleTypeOpaqueFd
Definition hip_runtime_api.h:1073
@ hipExternalMemoryHandleTypeD3D12Heap
Definition hip_runtime_api.h:1076
@ hipExternalMemoryHandleTypeOpaqueWin32Kmt
Definition hip_runtime_api.h:1075
@ hipExternalMemoryHandleTypeOpaqueWin32
Definition hip_runtime_api.h:1074
@ hipExternalMemoryHandleTypeD3D11ResourceKmt
Definition hip_runtime_api.h:1079
@ hipFuncAttributePreferredSharedMemoryCarveout
Definition hip_runtime_api.h:1013
@ hipFuncAttributeMaxDynamicSharedMemorySize
Definition hip_runtime_api.h:1012
@ hipFuncAttributeMax
Definition hip_runtime_api.h:1014
@ hipExternalSemaphoreHandleTypeNvSciSync
Definition hip_runtime_api.h:1116
@ hipExternalSemaphoreHandleTypeKeyedMutexKmt
Definition hip_runtime_api.h:1118
@ hipExternalSemaphoreHandleTypeOpaqueWin32Kmt
Definition hip_runtime_api.h:1113
@ hipExternalSemaphoreHandleTypeKeyedMutex
Definition hip_runtime_api.h:1117
@ hipExternalSemaphoreHandleTypeD3D11Fence
Definition hip_runtime_api.h:1115
@ hipExternalSemaphoreHandleTypeTimelineSemaphoreWin32
Definition hip_runtime_api.h:1120
@ hipExternalSemaphoreHandleTypeOpaqueFd
Definition hip_runtime_api.h:1111
@ hipExternalSemaphoreHandleTypeOpaqueWin32
Definition hip_runtime_api.h:1112
@ hipExternalSemaphoreHandleTypeTimelineSemaphoreFd
Definition hip_runtime_api.h:1119
@ hipExternalSemaphoreHandleTypeD3D12Fence
Definition hip_runtime_api.h:1114
@ hipJitOptionCacheMode
Definition hip_runtime_api.h:1003
@ hipJitOptionFastCompile
Definition hip_runtime_api.h:1005
@ hipJitOptionInfoLogBuffer
Definition hip_runtime_api.h:992
@ hipJitOptionErrorLogBuffer
Definition hip_runtime_api.h:994
@ hipJitOptionTarget
Definition hip_runtime_api.h:998
@ hipJitOptionThreadsPerBlock
Definition hip_runtime_api.h:990
@ hipJitOptionNumOptions
Definition hip_runtime_api.h:1006
@ hipJitOptionGenerateLineInfo
Definition hip_runtime_api.h:1002
@ hipJitOptionOptimizationLevel
Definition hip_runtime_api.h:996
@ hipJitOptionErrorLogBufferSizeBytes
Definition hip_runtime_api.h:995
@ hipJitOptionWallTime
Definition hip_runtime_api.h:991
@ hipJitOptionInfoLogBufferSizeBytes
Definition hip_runtime_api.h:993
@ hipJitOptionTargetFromContext
Definition hip_runtime_api.h:997
@ hipJitOptionGenerateDebugInfo
Definition hip_runtime_api.h:1000
@ hipJitOptionLogVerbose
Definition hip_runtime_api.h:1001
@ hipJitOptionMaxRegisters
Definition hip_runtime_api.h:989
@ hipJitOptionSm3xOpt
Definition hip_runtime_api.h:1004
@ hipJitOptionFallbackStrategy
Definition hip_runtime_api.h:999
@ hipDevP2PAttrAccessSupported
Definition hip_runtime_api.h:604
@ hipDevP2PAttrHipArrayAccessSupported
Definition hip_runtime_api.h:606
@ hipDevP2PAttrNativeAtomicSupported
Definition hip_runtime_api.h:605
@ hipDevP2PAttrPerformanceRank
Definition hip_runtime_api.h:603
@ hipGraphDebugDotFlagsKernelNodeAttributes
Definition hip_runtime_api.h:1381
@ hipGraphDebugDotFlagsMemsetNodeParams
Definition hip_runtime_api.h:1373
@ hipGraphDebugDotFlagsKernelNodeParams
Definition hip_runtime_api.h:1371
@ hipGraphDebugDotFlagsExtSemasWaitNodeParams
Definition hip_runtime_api.h:1379
@ hipGraphDebugDotFlagsHandles
Definition hip_runtime_api.h:1383
@ hipGraphDebugDotFlagsExtSemasSignalNodeParams
Definition hip_runtime_api.h:1377
@ hipGraphDebugDotFlagsHostNodeParams
Definition hip_runtime_api.h:1374
@ hipGraphDebugDotFlagsEventNodeParams
Definition hip_runtime_api.h:1375
@ hipGraphDebugDotFlagsVerbose
Definition hip_runtime_api.h:1369
@ hipGraphDebugDotFlagsMemcpyNodeParams
Definition hip_runtime_api.h:1372
@ hipGraphUserObjectMove
Add new reference or retain.
Definition hip_runtime_api.h:1354
@ hipStreamAddCaptureDependencies
Add new nodes to the dependency set.
Definition hip_runtime_api.h:1339
@ hipStreamSetCaptureDependencies
Replace the dependency set with the new nodes.
Definition hip_runtime_api.h:1340
@ hipMemHandleTypeGeneric
Generic handle type.
Definition hip_runtime_api.h:1442
@ hipFlushGPUDirectRDMAWritesOptionHost
Definition hip_runtime_api.h:549
@ hipFlushGPUDirectRDMAWritesOptionMemOps
Definition hip_runtime_api.h:550
@ hipFuncCachePreferNone
no preference for shared memory or L1 (default)
Definition hip_runtime_api.h:1020
@ hipFuncCachePreferEqual
prefer equal size L1 cache and shared memory
Definition hip_runtime_api.h:1023
@ hipFuncCachePreferL1
prefer larger L1 cache and smaller shared memory
Definition hip_runtime_api.h:1022
@ hipFuncCachePreferShared
prefer larger shared memory and smaller L1 cache
Definition hip_runtime_api.h:1021
@ hipUserObjectNoDestructorSync
Destructor execution is not synchronized.
Definition hip_runtime_api.h:1350
@ hipGraphMemAttrReservedMemHigh
High watermark of memory, in bytes, currently allocated for graphs.
Definition hip_runtime_api.h:1347
@ hipGraphMemAttrUsedMemCurrent
Amount of memory, in bytes, currently associated with graphs.
Definition hip_runtime_api.h:1344
@ hipGraphMemAttrUsedMemHigh
High watermark of memory, in bytes, associated with graphs since the last time.
Definition hip_runtime_api.h:1345
@ hipGraphMemAttrReservedMemCurrent
Amount of memory, in bytes, currently allocated for graphs.
Definition hip_runtime_api.h:1346
@ hipMemPoolAttrUsedMemCurrent
Definition hip_runtime_api.h:904
@ hipMemPoolAttrReservedMemHigh
Definition hip_runtime_api.h:899
@ hipMemPoolAttrReservedMemCurrent
Definition hip_runtime_api.h:893
@ hipMemPoolAttrReleaseThreshold
Definition hip_runtime_api.h:888
@ hipMemPoolAttrUsedMemHigh
Definition hip_runtime_api.h:910
@ hipMemPoolReuseAllowInternalDependencies
Definition hip_runtime_api.h:879
@ hipMemPoolReuseFollowEventDependencies
Definition hip_runtime_api.h:866
@ hipMemPoolReuseAllowOpportunistic
Definition hip_runtime_api.h:872
@ hipMemOperationTypeMap
Map operation.
Definition hip_runtime_api.h:1449
@ hipMemOperationTypeUnmap
Unmap operation.
Definition hip_runtime_api.h:1450
@ hipGraphicsRegisterFlagsReadOnly
HIP will not write to this registered resource.
Definition hip_runtime_api.h:1188
@ hipGraphicsRegisterFlagsTextureGather
HIP will perform texture gather operations on this registered resource.
Definition hip_runtime_api.h:1192
@ hipGraphicsRegisterFlagsWriteDiscard
HIP will only write and will not read from this registered resource.
Definition hip_runtime_api.h:1189
@ hipGraphicsRegisterFlagsNone
Definition hip_runtime_api.h:1187
@ hipGraphicsRegisterFlagsSurfaceLoadStore
HIP will bind this resource to a surface.
Definition hip_runtime_api.h:1191
@ hipMemRangeCoherencyModeFineGrain
Definition hip_runtime_api.h:830
@ hipMemRangeCoherencyModeIndeterminate
Definition hip_runtime_api.h:834
@ hipMemRangeCoherencyModeCoarseGrain
Definition hip_runtime_api.h:832
@ hipMemAccessFlagsProtRead
Set the address range read accessible.
Definition hip_runtime_api.h:934
@ hipMemAccessFlagsProtNone
Default, make the address range not accessible.
Definition hip_runtime_api.h:933
@ hipMemAccessFlagsProtReadWrite
Set the address range read-write accessible.
Definition hip_runtime_api.h:935
@ hipMemAllocationGranularityMinimum
Minimum granularity.
Definition hip_runtime_api.h:1434
@ hipMemAllocationGranularityRecommended
Recommended granularity for performance.
Definition hip_runtime_api.h:1435
@ hipGraphExecUpdateErrorNotSupported
The update failed because something about the node is not supported.
Definition hip_runtime_api.h:1321
@ hipGraphExecUpdateErrorNodeTypeChanged
The update failed because a node type changed.
Definition hip_runtime_api.h:1316
@ hipGraphExecUpdateErrorTopologyChanged
The update failed because the topology changed.
Definition hip_runtime_api.h:1315
@ hipGraphExecUpdateErrorUnsupportedFunctionChange
Definition hip_runtime_api.h:1323
@ hipGraphExecUpdateError
Definition hip_runtime_api.h:1313
@ hipGraphExecUpdateErrorFunctionChanged
The update failed because the function of a kernel node changed.
Definition hip_runtime_api.h:1317
@ hipGraphExecUpdateSuccess
The update succeeded.
Definition hip_runtime_api.h:1312
@ hipGraphExecUpdateErrorParametersChanged
The update failed because the parameters changed in a way that is not supported.
Definition hip_runtime_api.h:1319
@ hipStreamCaptureStatusInvalidated
Definition hip_runtime_api.h:1334
@ hipStreamCaptureStatusNone
Stream is not capturing.
Definition hip_runtime_api.h:1332
@ hipStreamCaptureStatusActive
Stream is actively capturing.
Definition hip_runtime_api.h:1333
@ hipDeviceAttributeDirectManagedMemAccessFromHost
Definition hip_runtime_api.h:426
@ hipDeviceAttributeSurfaceAlignment
Alignment requirement for surfaces.
Definition hip_runtime_api.h:496
@ hipDeviceAttributeMaxGridDimX
Max grid size in width.
Definition hip_runtime_api.h:443
@ hipDeviceAttributeMaxSurfaceCubemapLayered
Cuda only. Maximum dimension of Cubemap layered surface.
Definition hip_runtime_api.h:452
@ hipDeviceAttributeMaxSurface3D
Maximum dimension (width, height, depth) of 3D surface.
Definition hip_runtime_api.h:450
@ hipDeviceAttributeMaxPitch
Maximum pitch in bytes allowed by memory copies.
Definition hip_runtime_api.h:473
@ hipDeviceAttributeTccDriver
Cuda only. Whether device is a Tesla device using TCC driver.
Definition hip_runtime_api.h:497
@ hipDeviceAttributeHostNativeAtomicSupported
Link between the device and the host supports native atomic operations.
Definition hip_runtime_api.h:429
@ hipDeviceAttributePageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition hip_runtime_api.h:482
@ hipDeviceAttributeUnused5
Previously hipDeviceAttributeGcnArchName.
Definition hip_runtime_api.h:515
@ hipDeviceAttributeMaxBlockDimY
Max block size in height.
Definition hip_runtime_api.h:441
@ hipDeviceAttributeMaxSurfaceCubemap
Cuda only. Maximum dimensions of Cubemap surface.
Definition hip_runtime_api.h:451
@ hipDeviceAttributePageableMemoryAccess
Definition hip_runtime_api.h:480
@ hipDeviceAttributeClockRate
Peak clock frequency in kilohertz.
Definition hip_runtime_api.h:416
@ hipDeviceAttributeCudaCompatibleEnd
Definition hip_runtime_api.h:508
@ hipDeviceAttributeMaxTexture1DMipmap
Maximum size of 1D mipmapped texture.
Definition hip_runtime_api.h:457
@ hipDeviceAttributeComputeCapabilityMajor
Major compute capability version number.
Definition hip_runtime_api.h:437
@ hipDeviceAttributeGlobalL1CacheSupported
Device supports caching globals in L1.
Definition hip_runtime_api.h:428
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem
Definition hip_runtime_api.h:524
@ hipDeviceAttributeAccessPolicyMaxWindowSize
Cuda only. The maximum size of the window policy in bytes.
Definition hip_runtime_api.h:411
@ hipDeviceAttributeMaxTexture3DHeight
Maximum dimension height of 3D texture.
Definition hip_runtime_api.h:465
@ hipDeviceAttributeComputeCapabilityMinor
Minor compute capability version number.
Definition hip_runtime_api.h:476
@ hipDeviceAttributeMaxTextureCubemap
Maximum dimensions of Cubemap texture.
Definition hip_runtime_api.h:468
@ hipDeviceAttributeDeviceOverlap
Definition hip_runtime_api.h:424
@ hipDeviceAttributeMaxTexture2DLinear
Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory.
Definition hip_runtime_api.h:462
@ hipDeviceAttributeMaxSurface2D
Maximum dimension (width, height) of 2D surface.
Definition hip_runtime_api.h:448
@ hipDeviceAttributeMaxSurface1DLayered
Cuda only. Maximum dimensions of 1D layered surface.
Definition hip_runtime_api.h:447
@ hipDeviceAttributeHdpRegFlushCntl
Address of the HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:517
@ hipDeviceAttributeComputeMode
Compute mode that device is currently in.
Definition hip_runtime_api.h:417
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc
Definition hip_runtime_api.h:518
@ hipDeviceAttributeAsicRevision
Revision of the GPU in this device.
Definition hip_runtime_api.h:527
@ hipDeviceAttributeUnused4
Previously hipDeviceAttributeGcnArch.
Definition hip_runtime_api.h:514
@ hipDeviceAttributeCooperativeMultiDeviceLaunch
Support cooperative launch on multiple devices.
Definition hip_runtime_api.h:422
@ hipDeviceAttributeMaxTexture2DHeight
Maximum dimension hight of 2D texture.
Definition hip_runtime_api.h:459
@ hipDeviceAttributePersistingL2CacheMaxSize
Maximum l2 persisting lines capacity in bytes.
Definition hip_runtime_api.h:486
@ hipDeviceAttributeEccEnabled
Whether ECC support is enabled.
Definition hip_runtime_api.h:410
@ hipDeviceAttributeCanUseHostPointerForRegisteredMem
Definition hip_runtime_api.h:414
@ hipDeviceAttributePciBusId
PCI Bus ID.
Definition hip_runtime_api.h:483
@ hipDeviceAttributeL2CacheSize
Size of L2 cache in bytes. 0 if the device doesn't have L2 cache.
Definition hip_runtime_api.h:433
@ hipDeviceAttributeKernelExecTimeout
Run time limit for kernels executed on the device.
Definition hip_runtime_api.h:432
@ hipDeviceAttributeMaxThreadsDim
Maximum dimension of a block.
Definition hip_runtime_api.h:470
@ hipDeviceAttributeSingleToDoublePrecisionPerfRatio
Cuda only. Performance ratio of single precision to double precision.
Definition hip_runtime_api.h:494
@ hipDeviceAttributeMaxGridDimY
Max grid size in height.
Definition hip_runtime_api.h:444
@ hipDeviceAttributeMultiprocessorCount
Number of multiprocessors on the device.
Definition hip_runtime_api.h:478
@ hipDeviceAttributeAmdSpecificBegin
Definition hip_runtime_api.h:509
@ hipDeviceAttributeMaxRegistersPerMultiprocessor
32-bit registers available per block.
Definition hip_runtime_api.h:489
@ hipDeviceAttributeIsMultiGpuBoard
Multiple GPU devices.
Definition hip_runtime_api.h:431
@ hipDeviceAttributeSharedMemPerBlockOptin
Maximum shared memory per block usable by special opt in.
Definition hip_runtime_api.h:492
@ hipDeviceAttributeMaxSurface2DLayered
Cuda only. Maximum dimensions of 2D layered surface.
Definition hip_runtime_api.h:449
@ hipDeviceAttributeAmdSpecificEnd
Definition hip_runtime_api.h:536
@ hipDeviceAttributeMemoryClockRate
Peak memory clock frequency in kilohertz.
Definition hip_runtime_api.h:475
@ hipDeviceAttributeMaxGridDimZ
Max grid size in depth.
Definition hip_runtime_api.h:445
@ hipDeviceAttributeHdpMemFlushCntl
Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:516
@ hipDeviceAttributeUnused2
Previously hipDeviceAttributeUuid.
Definition hip_runtime_api.h:503
@ hipDeviceAttributeFineGrainSupport
'1' if Device supports fine grain, '0' otherwise
Definition hip_runtime_api.h:533
@ hipDeviceAttributeCooperativeLaunch
Support cooperative launch.
Definition hip_runtime_api.h:421
@ hipDeviceAttributeUnifiedAddressing
Cuda only. An unified address space shared with the host.
Definition hip_runtime_api.h:502
@ hipDeviceAttributeAsyncEngineCount
Asynchronous engines number.
Definition hip_runtime_api.h:412
@ hipDeviceAttributeMultiGpuBoardGroupID
Unique ID of device group on the same multi-GPU board.
Definition hip_runtime_api.h:477
@ hipDeviceAttributeStreamPrioritiesSupported
Whether to support stream priorities.
Definition hip_runtime_api.h:495
@ hipDeviceAttributeMaxSharedMemoryPerBlock
Maximum shared memory available per block in bytes.
Definition hip_runtime_api.h:491
@ hipDeviceAttributeLocalL1CacheSupported
caching locals in L1 is supported
Definition hip_runtime_api.h:434
@ hipDeviceAttributeCanUseStreamWaitValue
Definition hip_runtime_api.h:528
@ hipDeviceAttributeMaxRegistersPerBlock
Definition hip_runtime_api.h:487
@ hipDeviceAttributeMaxThreadsPerBlock
Maximum number of threads per block.
Definition hip_runtime_api.h:471
@ hipDeviceAttributeMemoryBusWidth
Global memory bus width in bits.
Definition hip_runtime_api.h:474
@ hipDeviceAttributeComputePreemptionSupported
Device supports Compute Preemption.
Definition hip_runtime_api.h:418
@ hipDeviceAttributeMaxSurface1D
Maximum size of 1D surface.
Definition hip_runtime_api.h:446
@ hipDeviceAttributeUnused1
Previously hipDeviceAttributeName.
Definition hip_runtime_api.h:479
@ hipDeviceAttributeMaxTexture3DAlt
Maximum dimensions of alternate 3D texture.
Definition hip_runtime_api.h:467
@ hipDeviceAttributeMaxTexture1DLinear
Definition hip_runtime_api.h:455
@ hipDeviceAttributeMaxTexture2DGather
Maximum dimensions of 2D texture if gather operations performed.
Definition hip_runtime_api.h:460
@ hipDeviceAttributeWallClockRate
Constant frequency of wall clock in kilohertz.
Definition hip_runtime_api.h:534
@ hipDeviceAttributePciDeviceId
PCI Device ID.
Definition hip_runtime_api.h:484
@ hipDeviceAttributeCanMapHostMemory
Whether host memory can be mapped into device address space.
Definition hip_runtime_api.h:413
@ hipDeviceAttributeMaxTexture1DWidth
Maximum size of 1D texture.
Definition hip_runtime_api.h:453
@ hipDeviceAttributeConcurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition hip_runtime_api.h:420
@ hipDeviceAttributeVendorSpecificBegin
Definition hip_runtime_api.h:537
@ hipDeviceAttributeManagedMemory
Device supports allocating managed memory on this system.
Definition hip_runtime_api.h:438
@ hipDeviceAttributeIntegrated
Device is integrated GPU.
Definition hip_runtime_api.h:430
@ hipDeviceAttributeMaxTexture2DLayered
Maximum dimensions of 2D layered texture.
Definition hip_runtime_api.h:461
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim
Definition hip_runtime_api.h:520
@ hipDeviceAttributeMaxTexture3DDepth
Maximum dimension depth of 3D texture.
Definition hip_runtime_api.h:466
@ hipDeviceAttributeImageSupport
'1' if Device supports image, '0' otherwise.
Definition hip_runtime_api.h:530
@ hipDeviceAttributeTotalGlobalMem
Global memory available on devicice.
Definition hip_runtime_api.h:501
@ hipDeviceAttributeMaxBlocksPerMultiProcessor
Max block size per multiprocessor.
Definition hip_runtime_api.h:439
@ hipDeviceAttributeIsLargeBar
Whether it is LargeBar.
Definition hip_runtime_api.h:526
@ hipDeviceAttributeMaxTexture2DWidth
Maximum dimension width of 2D texture.
Definition hip_runtime_api.h:458
@ hipDeviceAttributeMaxBlockDimX
Max block size in width.
Definition hip_runtime_api.h:440
@ hipDeviceAttributeMaxTexture3DWidth
Maximum dimension width of 3D texture.
Definition hip_runtime_api.h:464
@ hipDeviceAttributeUnused3
Previously hipDeviceAttributeArch.
Definition hip_runtime_api.h:512
@ hipDeviceAttributeTotalConstantMemory
Constant memory size in bytes.
Definition hip_runtime_api.h:500
@ hipDeviceAttributeTextureAlignment
Alignment requirement for textures.
Definition hip_runtime_api.h:498
@ hipDeviceAttributeMaxTexture1DLayered
Maximum dimensions of 1D layered texture.
Definition hip_runtime_api.h:454
@ hipDeviceAttributeMaxSharedMemoryPerMultiprocessor
Maximum Shared Memory PerMultiprocessor.
Definition hip_runtime_api.h:513
@ hipDeviceAttributeReservedSharedMemPerBlock
Shared memory reserved by CUDA driver per block.
Definition hip_runtime_api.h:490
@ hipDeviceAttributeCudaCompatibleBegin
Definition hip_runtime_api.h:408
@ hipDeviceAttributeConcurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition hip_runtime_api.h:419
@ hipDeviceAttributeLuid
8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms
Definition hip_runtime_api.h:435
@ hipDeviceAttributePciDomainID
PCI Domain ID.
Definition hip_runtime_api.h:485
@ hipDeviceAttributeMaxThreadsPerMultiProcessor
Maximum resident threads per multiprocessor.
Definition hip_runtime_api.h:472
@ hipDeviceAttributeTexturePitchAlignment
Pitch alignment requirement for 2D texture references bound to pitched memory;.
Definition hip_runtime_api.h:499
@ hipDeviceAttributePhysicalMultiProcessorCount
Definition hip_runtime_api.h:531
@ hipDeviceAttributeHostRegisterSupported
Can device support host memory registration via hipHostRegister.
Definition hip_runtime_api.h:423
@ hipDeviceAttributeSharedMemPerMultiprocessor
Shared memory available per multiprocessor.
Definition hip_runtime_api.h:493
@ hipDeviceAttributeLuidDeviceNodeMask
Luid device node mask. Undefined on TCC and non-Windows platforms.
Definition hip_runtime_api.h:436
@ hipDeviceAttributeMaxTextureCubemapLayered
Maximum dimensions of Cubemap layered texture.
Definition hip_runtime_api.h:469
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim
Definition hip_runtime_api.h:522
@ hipDeviceAttributeVirtualMemoryManagementSupported
Device supports HIP virtual memory management.
Definition hip_runtime_api.h:506
@ hipDeviceAttributeMemoryPoolsSupported
Device supports HIP Stream Ordered Memory Allocator.
Definition hip_runtime_api.h:505
@ hipDeviceAttributeClockInstructionRate
Frequency in khz of the timer used by the device-side "clock*".
Definition hip_runtime_api.h:511
@ hipDeviceAttributeMaxTexture2DMipmap
Maximum dimensions of 2D mipmapped texture.
Definition hip_runtime_api.h:463
@ hipDeviceAttributeMaxBlockDimZ
Max block size in depth.
Definition hip_runtime_api.h:442
@ hipDeviceAttributeWarpSize
Warp size in threads.
Definition hip_runtime_api.h:504
@ hipGPUDirectRDMAWritesOrderingOwner
Definition hip_runtime_api.h:555
@ hipGPUDirectRDMAWritesOrderingNone
Definition hip_runtime_api.h:554
@ hipGPUDirectRDMAWritesOrderingAllDevices
Definition hip_runtime_api.h:556
@ hipMemAllocationTypeMax
Definition hip_runtime_api.h:953
@ hipMemAllocationTypePinned
Definition hip_runtime_api.h:952
@ hipMemAllocationTypeInvalid
Definition hip_runtime_api.h:948
@ hipMemoryTypeDevice
Definition hip_runtime_api.h:246
@ hipMemoryTypeHost
Memory is physically located on host.
Definition hip_runtime_api.h:245
@ hipMemoryTypeUnregistered
Unregistered memory.
Definition hip_runtime_api.h:244
@ hipMemoryTypeArray
Definition hip_runtime_api.h:251
@ hipMemoryTypeManaged
Definition hip_runtime_api.h:248
@ hipMemoryTypeUnified
unified address space
Definition hip_runtime_api.h:253
@ hipGraphInstantiateFlagAutoFreeOnLaunch
Automatically free memory allocated in a graph before relaunching.
Definition hip_runtime_api.h:1358
@ hipGraphInstantiateFlagUseNodePriority
Run the graph using the per-node priority attributes rather than the priority of the stream it is lau...
Definition hip_runtime_api.h:1364
@ hipGraphInstantiateFlagUpload
Automatically upload the graph after instantiaton.
Definition hip_runtime_api.h:1360
@ hipGraphInstantiateFlagDeviceLaunch
Instantiate the graph to be launchable from the device.
Definition hip_runtime_api.h:1362
@ hipKernelNodeAttributeCooperative
Definition hip_runtime_api.h:1277
@ hipKernelNodeAttributeAccessPolicyWindow
Definition hip_runtime_api.h:1276
@ hipMemLocationTypeInvalid
Definition hip_runtime_api.h:916
@ hipMemLocationTypeDevice
Device location, thus it's HIP device ID.
Definition hip_runtime_api.h:917
@ hipArraySparseSubresourceTypeSparseLevel
Sparse level.
Definition hip_runtime_api.h:1457
@ hipArraySparseSubresourceTypeMiptail
Miptail.
Definition hip_runtime_api.h:1458
hipError_t hipGraphKernelNodeSetParams(hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets a kernel node's parameters.
hipError_t hipGraphMemFreeNodeGetParams(hipGraphNode_t node, void *dev_ptr)
Returns parameters for memory free node.
hipError_t hipGraphNodeGetDependencies(hipGraphNode_t node, hipGraphNode_t *pDependencies, size_t *pNumDependencies)
Returns a node's dependencies.
hipError_t hipGraphCreate(hipGraph_t *pGraph, unsigned int flags)
Creates a graph.
hipError_t hipGraphAddMemcpyNode1D(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Creates a 1D memcpy node and adds it to a graph.
hipError_t hipDrvGraphMemcpyNodeGetParams(hipGraphNode_t hNode, HIP_MEMCPY3D *nodeParams)
Gets a memcpy node's parameters.
hipError_t hipDeviceSetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void *value)
Set the mem attribute for graphs.
hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms *pNodeParams)
Sets a memcpy node's parameters.
hipError_t hipUserObjectCreate(hipUserObject_t *object_out, void *ptr, hipHostFn_t destroy, unsigned int initialRefcount, unsigned int flags)
Create an instance of userObject to manage lifetime of a resource.
hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph, hipGraphNode_t *hErrorNode_out, hipGraphExecUpdateResult *updateResult_out)
Check whether an executable graph can be updated with a graph and perform the update if * possible.
hipError_t hipGraphNodeFindInClone(hipGraphNode_t *pNode, hipGraphNode_t originalNode, hipGraph_t clonedGraph)
Finds a cloned version of a node.
hipError_t hipGraphAddEventWaitNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
Creates an event wait node and adds it to a graph.
hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node's parameters to copy to a symbol on the device.
hipError_t hipGraphRetainUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count __dparm(1), unsigned int flags __dparm(0))
Retain user object for graphs.
hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus)
Get stream's capture state.
hipError_t hipGraphNodeGetEnabled(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, unsigned int *isEnabled)
Query whether a node in the given graphExec is enabled.
hipError_t hipGraphAddChildGraphNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipGraph_t childGraph)
Creates a child graph node and adds it to a graph.
hipError_t hipGraphExternalSemaphoresSignalNodeSetParams(hipGraphNode_t hNode, const hipExternalSemaphoreSignalNodeParams *nodeParams)
Updates node parameters in the external semaphore signal node.
hipError_t hipGraphDestroyNode(hipGraphNode_t node)
Remove a node from the graph.
hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node's parameters to copy from a symbol on the device.
hipError_t hipDrvGraphAddMemcpyNode(hipGraphNode_t *phGraphNode, hipGraph_t hGraph, const hipGraphNode_t *dependencies, size_t numDependencies, const HIP_MEMCPY3D *copyParams, hipCtx_t ctx)
Creates a memcpy node and adds it to a graph.
hipError_t hipGraphRemoveDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Removes dependency edges from a graph.
hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets a memcpy node's parameters to perform a 1-dimensional copy.
hipError_t hipGraphExecMemcpyNodeSetParams1D(hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.
hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec)
Destroys an executable graph.
hipError_t hipGraphAddExternalSemaphoresSignalNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipExternalSemaphoreSignalNodeParams *nodeParams)
Creates a external semaphor signal node and adds it to a graph.
hipError_t hipGraphExecExternalSemaphoresWaitNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, const hipExternalSemaphoreWaitNodeParams *nodeParams)
Updates node parameters in the external semaphore wait node in the given graphExec.
hipError_t hipGraphExecHostNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets the parameters for a host node in the given graphExec.
hipError_t hipGraphExecChildGraphNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipGraph_t childGraph)
Updates node parameters in the child graph node in the given graphExec.
hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus, unsigned long long *pId)
Get capture status of a stream.
hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Adds dependency edges to a graph.
hipError_t hipGraphExecKernelNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets the parameters for a kernel node in the given graphExec.
hipError_t hipGraphNodeGetDependentNodes(hipGraphNode_t node, hipGraphNode_t *pDependentNodes, size_t *pNumDependentNodes)
Returns a node's dependent nodes.
hipError_t hipDeviceGetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void *value)
Get the mem attribute for graphs.
hipError_t hipGraphHostNodeGetParams(hipGraphNode_t node, hipHostNodeParams *pNodeParams)
Returns a host node's parameters.
hipError_t hipGraphInstantiateWithFlags(hipGraphExec_t *pGraphExec, hipGraph_t graph, unsigned long long flags)
Creates an executable graph from a graph.
hipError_t hipGraphExternalSemaphoresSignalNodeGetParams(hipGraphNode_t hNode, hipExternalSemaphoreSignalNodeParams *params_out)
Returns external semaphore signal node params.
hipError_t hipGraphUpload(hipGraphExec_t graphExec, hipStream_t stream)
uploads an executable graph in a stream
hipError_t hipGraphExecExternalSemaphoresSignalNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, const hipExternalSemaphoreSignalNodeParams *nodeParams)
Updates node parameters in the external semaphore signal node in the given graphExec.
hipError_t hipGraphExecMemcpyNodeSetParamsToSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to copy to a symbol on the device.
hipError_t hipGraphKernelNodeGetParams(hipGraphNode_t node, hipKernelNodeParams *pNodeParams)
Gets kernel node's parameters.
hipError_t hipGraphAddMemcpyNodeFromSymbol(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Creates a memcpy node to copy from a symbol on the device and adds it to a graph.
hipError_t hipGraphKernelNodeCopyAttributes(hipGraphNode_t hSrc, hipGraphNode_t hDst)
Copies attributes from source node to destination node.
hipError_t hipGraphAddMemFreeNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dev_ptr)
Creates a memory free node and adds it to a graph.
hipError_t hipDrvGraphMemcpyNodeSetParams(hipGraphNode_t hNode, const HIP_MEMCPY3D *nodeParams)
Sets a memcpy node's parameters.
hipError_t hipUserObjectRelease(hipUserObject_t object, unsigned int count __dparm(1))
Release number of references to resource.
hipError_t hipGraphMemcpyNodeGetParams(hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Gets a memcpy node's parameters.
hipError_t hipGraphAddEventRecordNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
Creates an event record node and adds it to a graph.
hipError_t hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t *dependencies, size_t numDependencies, unsigned int flags __dparm(0))
Update the set of dependencies in a capturing stream.
hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode)
Begins graph capture on a stream.
hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t *pGraph)
Ends capture on a stream, returning the captured graph.
hipError_t hipGraphNodeGetType(hipGraphNode_t node, hipGraphNodeType *pType)
Returns a node's type.
hipError_t hipGraphNodeSetEnabled(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, unsigned int isEnabled)
Enables or disables the specified node in the given graphExec.
hipError_t hipGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Sets the parameters for a memcpy node in the given graphExec.
hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets a host node's parameters.
hipError_t hipGraphMemAllocNodeGetParams(hipGraphNode_t node, hipMemAllocNodeParams *pNodeParams)
Returns parameters for memory allocation node.
hipError_t hipUserObjectRetain(hipUserObject_t object, unsigned int count __dparm(1))
Retain number of references to resource.
hipError_t hipGraphExecEventRecordNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipError_t hipGraphExternalSemaphoresWaitNodeSetParams(hipGraphNode_t hNode, const hipExternalSemaphoreWaitNodeParams *nodeParams)
Updates node parameters in the external semaphore wait node.
hipError_t hipGraphMemsetNodeGetParams(hipGraphNode_t node, hipMemsetParams *pNodeParams)
Gets a memset node's parameters.
hipError_t hipGraphChildGraphNodeGetGraph(hipGraphNode_t node, hipGraph_t *pGraph)
Gets a handle to the embedded graph of a child graph node.
hipError_t hipGraphKernelNodeGetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, hipKernelNodeAttrValue *value)
Gets a node attribute.
hipError_t hipThreadExchangeStreamCaptureMode(hipStreamCaptureMode *mode)
Swaps the stream capture mode of a thread.
hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream)
launches an executable graph in a stream
hipError_t hipGraphDebugDotPrint(hipGraph_t graph, const char *path, unsigned int flags)
Write a DOT file describing graph structure.
hipError_t hipGraphExecMemsetNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets the parameters for a memset node in the given graphExec.
hipError_t hipGraphGetEdges(hipGraph_t graph, hipGraphNode_t *from, hipGraphNode_t *to, size_t *numEdges)
Returns a graph's dependency edges.
hipError_t hipGraphAddKernelNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipKernelNodeParams *pNodeParams)
Creates a kernel execution node and adds it to a graph.
hipError_t hipGraphExecEventWaitNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipError_t hipGraphAddExternalSemaphoresWaitNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipExternalSemaphoreWaitNodeParams *nodeParams)
Creates a external semaphor wait node and adds it to a graph.
hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event wait node's event.
hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event record node's event.
hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event wait node.
hipError_t hipGraphKernelNodeSetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, const hipKernelNodeAttrValue *value)
Sets a node attribute.
hipError_t hipGraphMemsetNodeSetParams(hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets a memset node's parameters.
hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event record node.
hipError_t hipGraphAddEmptyNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies)
Creates an empty node and adds it to a graph.
hipError_t hipGraphAddMemcpyNodeToSymbol(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Creates a memcpy node to copy to a symbol on the device and adds it to a graph.
hipError_t hipGraphDestroy(hipGraph_t graph)
Destroys a graph.
hipError_t hipGraphExecMemcpyNodeSetParamsFromSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to copy from a symbol on the.
hipError_t hipGraphAddMemAllocNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipMemAllocNodeParams *pNodeParams)
Creates a memory allocation node and adds it to a graph.
hipError_t hipGraphAddHostNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipHostNodeParams *pNodeParams)
Creates a host execution node and adds it to a graph.
hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t *nodes, size_t *numNodes)
Returns graph nodes.
hipError_t hipGraphAddMemsetNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipMemsetParams *pMemsetParams)
Creates a memset node and adds it to a graph.
hipError_t hipGraphInstantiate(hipGraphExec_t *pGraphExec, hipGraph_t graph, hipGraphNode_t *pErrorNode, char *pLogBuffer, size_t bufferSize)
Creates an executable graph from a graph.
hipError_t hipDeviceGraphMemTrim(int device)
Free unused memory on specific device used for graph back to OS.
hipError_t hipGraphExternalSemaphoresWaitNodeGetParams(hipGraphNode_t hNode, hipExternalSemaphoreWaitNodeParams *params_out)
Returns external semaphore wait node params.
hipError_t hipGraphClone(hipGraph_t *pGraphClone, hipGraph_t originalGraph)
Clones a graph.
hipError_t hipDrvGraphAddMemsetNode(hipGraphNode_t *phGraphNode, hipGraph_t hGraph, const hipGraphNode_t *dependencies, size_t numDependencies, const HIP_MEMSET_NODE_PARAMS *memsetParams, hipCtx_t ctx)
Creates a memset node and adds it to a graph.
hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t *pRootNodes, size_t *pNumRootNodes)
Returns graph's root nodes.
hipError_t hipGraphAddMemcpyNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipMemcpy3DParms *pCopyParams)
Creates a memcpy node and adds it to a graph.
hipError_t hipStreamGetCaptureInfo_v2(hipStream_t stream, hipStreamCaptureStatus *captureStatus_out, unsigned long long *id_out __dparm(0), hipGraph_t *graph_out __dparm(0), const hipGraphNode_t **dependencies_out __dparm(0), size_t *numDependencies_out __dparm(0))
Get stream's capture state.
hipError_t hipGraphReleaseUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count __dparm(1))
Release user object from graphs.
hipError_t hipMemcpyToSymbol(const void *symbol, const void *src, size_t sizeBytes, size_t offset __dparm(0), hipMemcpyKind kind __dparm(hipMemcpyHostToDevice))
Copies data to the given symbol on the device. Symbol HIP APIs allow a kernel to define a device-side...
hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory [Deprecated].
hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipError_t hipFreeHost(void *ptr)
Free memory allocated by the hcc hip host memory allocation API [Deprecated].
hipError_t hipMemcpyFromSymbol(void *dst, const void *symbol, size_t sizeBytes, size_t offset __dparm(0), hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost))
Copies data from the given symbol on the device.
hipError_t hipHostFree(void *ptr)
Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...
hipError_t hipMemcpy2DFromArrayAsync(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipError_t hipMemGetInfo(size_t *free, size_t *total)
Query memory info.
hipError_t hipExtMallocWithFlags(void **ptr, size_t sizeBytes, unsigned int flags)
Allocate memory on the default accelerator.
hipError_t hipMemcpy3D(const struct hipMemcpy3DParms *p)
Copies data between host and device.
hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms *p, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipError_t hipMalloc3DArray(hipArray_t *array, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int flags)
Allocate an array on the device.
hipError_t hipArrayCreate(hipArray_t *pHandle, const HIP_ARRAY_DESCRIPTOR *pAllocateArray)
Create an array memory pointer on the device.
hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent)
Fills synchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipError_t hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name)
Returns a global pointer from a module. Returns in *dptr and *bytes the pointer and size of the globa...
hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipError_t hipMemcpyFromSymbolAsync(void *dst, const void *symbol, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data from the given symbol on the device asynchronously.
hipError_t hipMalloc(void **ptr, size_t size)
Allocate memory on the default accelerator.
hipError_t hipHostUnregister(void *hostPtr)
Un-register host pointer.
hipError_t hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr)
Return flags associated with host pointer.
hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count)
Fills the memory area pointed to by dest with the constant integer value for specified number of time...
hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D *pCopy, hipStream_t stream)
Copies data between host and device asynchronously.
hipError_t hipMallocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipError_t hipArray3DGetDescriptor(HIP_ARRAY3D_DESCRIPTOR *pArrayDescriptor, hipArray_t array)
Gets a 3D array descriptor.
hipError_t hipArrayGetDescriptor(HIP_ARRAY_DESCRIPTOR *pArrayDescriptor, hipArray_t array)
Gets a 1D or 2D array descriptor.
hipError_t hipFree(void *ptr)
Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...
hipError_t hipMemcpyToSymbolAsync(const void *symbol, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data to the given symbol on the device asynchronously.
hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, const void *ptr)
Return attributes for the specified pointer.
hipError_t hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height)
hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Device.
hipError_t hipMemcpyToArray(hipArray_t dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipMemcpy2D(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipMemcpyFromArray(void *dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset, size_t count, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
Get Device pointer from Host Pointer allocated through hipHostMalloc.
hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D *pCopy, hipStream_t stream __dparm(0))
Copies memory for 2D arrays.
hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpy2DFromArray(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipArray3DCreate(hipArray_t *array, const HIP_ARRAY3D_DESCRIPTOR *pAllocateArray)
Create a 3D array memory pointer on the device.
hipError_t hipArrayGetInfo(hipChannelFormatDesc *desc, hipExtent *extent, unsigned int *flags, hipArray_t array)
Gets info about the specified array.
hipError_t hipMemcpy2DToArrayAsync(hipArray_t dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D *pCopy)
Copies data between host and device.
hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes)
Copy data from Host to Device.
hipError_t hipMemcpyParam2D(const hip_Memcpy2D *pCopy)
Copies memory for 2D arrays.
hipError_t hipMemcpyHtoA(hipArray_t dstArray, size_t dstOffset, const void *srcHost, size_t count)
Copies data between host and device.
hipError_t hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...
hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent, hipStream_t stream __dparm(0))
Fills asynchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
Allocates device accessible page locked (pinned) host memory.
hipError_t hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copy data from src to dst asynchronously.
hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
Register host memory so it can be accessed from the current device.
hipError_t hipMemcpyAtoH(void *dst, hipArray_t srcArray, size_t srcOffset, size_t count)
Copies data between host and device.
hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
Copy data from src to dst.
hipError_t hipMemset(void *dst, int value, size_t sizeBytes)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipError_t hipMemcpy2DToArray(hipArray_t dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute *attributes, void **data, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipError_t hipMalloc3D(hipPitchedPtr *pitchedDevPtr, hipExtent extent)
Create a 3D memory pointer on the device.
hipError_t hipPointerSetAttribute(const void *value, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Sets information on the specified pointer.[BETA].
hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Device asynchronously.
hipError_t hipMemAllocPitch(hipDeviceptr_t *dptr, size_t *pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes)
hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Host asynchronously.
hipError_t hipFreeArray(hipArray_t array)
Frees an array on the device.
hipError_t hipMemset2DAsync(void *dst, size_t pitch, int value, size_t width, size_t height, hipStream_t stream __dparm(0))
Fills asynchronously the memory area pointed to by dst with the constant value.
hipError_t hipMemset2D(void *dst, size_t pitch, int value, size_t width, size_t height)
Fills the memory area pointed to by dst with the constant value.
hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream)
Copy data from Host to Device asynchronously.
hipError_t hipGetSymbolSize(size_t *size, const void *symbol)
Gets the size of the given symbol on the device.
hipError_t hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Host.
hipError_t hipMemcpyWithStream(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
Memory copy on the stream. It allows single or multiple devices to do memory copy on single or multip...
hipError_t hipGetSymbolAddress(void **devPtr, const void *symbol)
Gets device pointer associated with symbol on the device.
hipError_t hipMemAllocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipError_t hipPointerGetAttribute(void *data, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipError_t hipMemPtrGetInfo(void *ptr, size_t *size)
Get allocated memory size via memory pointer.
hipError_t hipMallocArray(hipArray_t *array, const hipChannelFormatDesc *desc, size_t width, size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault))
Allocate an array on the device.
hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count, hipStream_t stream __dparm(0))
Fills the memory area pointed to by dev with the constant integer value for specified number of times...
hipError_t hipArrayDestroy(hipArray_t array)
Destroy an array memory pointer on the device.
hipError_t hipStreamAttachMemAsync(hipStream_t stream, void *dev_ptr, size_t length __dparm(0), unsigned int flags __dparm(hipMemAttachSingle))
Attach memory to a stream asynchronously in HIP.
hipError_t hipMemRangeGetAttributes(void **data, size_t *data_sizes, hipMemRangeAttribute *attributes, size_t num_attributes, const void *dev_ptr, size_t count)
Query attributes of a given memory range in HIP.
hipError_t hipMemAdvise(const void *dev_ptr, size_t count, hipMemoryAdvise advice, int device)
Advise about the usage of a given memory range to HIP.
hipError_t hipMemPrefetchAsync(const void *dev_ptr, size_t count, int device, hipStream_t stream __dparm(0))
Prefetches memory to the specified destination device using HIP.
hipError_t hipMemRangeGetAttribute(void *data, size_t data_size, hipMemRangeAttribute attribute, const void *dev_ptr, size_t count)
Query an attribute of a given memory range in HIP.
hipError_t hipMallocManaged(void **dev_ptr, size_t size, unsigned int flags __dparm(hipMemAttachGlobal))
Allocates memory that will be automatically managed by HIP.
hipError_t hipModuleLaunchCooperativeKernelMultiDevice(hipFunctionLaunchParams *launchParamsList, unsigned int numDevices, unsigned int flags)
Launches kernels on multiple devices where thread blocks can cooperate and synchronize as they execut...
hipError_t hipFuncGetAttributes(struct hipFuncAttributes *attr, const void *func)
Find out attributes for a given function.
hipError_t hipModuleGetTexRef(textureReference **texRef, hipModule_t hmod, const char *name)
returns the handle of the texture reference with the name from the module.
hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices and guarantees all specified kernels are dispatched on respectiv...
hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams, void **extra)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelp...
hipError_t hipModuleLoad(hipModule_t *module, const char *fname)
Loads code object from file into a module the currrent context.
hipError_t hipModuleLoadDataEx(hipModule_t *module, const void *image, unsigned int numOptions, hipJitOption *options, void **optionValues)
builds module from code object which resides in host memory. Image is pointer to that location....
hipError_t hipFuncGetAttribute(int *value, hipFunction_attribute attrib, hipFunction_t hfunc)
Find out a specific attribute for a given function.
hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices where thread blocks can cooperate and synchronize as they execut...
hipError_t hipModuleLaunchCooperativeKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelP...
hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname)
Function with kname will be extracted if present in module.
hipError_t hipLaunchCooperativeKernel(const void *f, dim3 gridDim, dim3 blockDimX, void **kernelParams, unsigned int sharedMemBytes, hipStream_t stream)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelp...
hipError_t hipModuleLoadData(hipModule_t *module, const void *image)
builds module from code object which resides in host memory. Image is pointer to that location.
hipError_t hipModuleUnload(hipModule_t module)
Frees the module.
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault))
Returns occupancy for a device function.
hipError_t hipModuleOccupancyMaxPotentialBlockSize(int *gridSize, int *blockSize, hipFunction_t f, size_t dynSharedMemPerBlk, int blockSizeLimit)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipError_t hipOccupancyMaxPotentialBlockSize(int *gridSize, int *blockSize, const void *f, size_t dynSharedMemPerBlk, int blockSizeLimit)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags)
Returns occupancy for a device function.
hipError_t hipModuleOccupancyMaxPotentialBlockSizeWithFlags(int *gridSize, int *blockSize, hipFunction_t f, size_t dynSharedMemPerBlk, int blockSizeLimit, unsigned int flags)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId)
Determine if a device can access a peer's memory.
hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
Enable direct access from current device's virtual address space to memory allocations physically loc...
hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
Disable direct access from current device's virtual address space to memory allocations physically lo...
hipError_t hipMemGetAddressRange(hipDeviceptr_t *pbase, size_t *psize, hipDeviceptr_t dptr)
Get information on memory allocations.
hipError_t hipProfilerStart()
Start recording of profiling information When using this API, start the profiler with profiling disab...
hipError_t hipProfilerStop()
Stop recording of profiling information. When using this API, start the profiler with profiling disab...
hipError_t hipDeviceGetStreamPriorityRange(int *leastPriority, int *greatestPriority)
Returns numerical values that correspond to the least and greatest stream priority.
hipError_t hipStreamDestroy(hipStream_t stream)
Destroys the specified stream.
hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
Return flags associated with this stream.
hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags)
Adds a callback to be called on the host after all currently enqueued items in the stream have comple...
void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void *userData)
Definition hip_runtime_api.h:2433
hipError_t hipStreamGetDevice(hipStream_t stream, hipDevice_t *device)
Get the device assocaited with the stream.
hipError_t hipStreamQuery(hipStream_t stream)
Return hipSuccess if all of the operations in the specified stream have completed,...
hipError_t hipStreamSynchronize(hipStream_t stream)
Wait for all commands in stream to complete.
hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
Make the specified compute stream wait for an event.
hipError_t hipStreamCreateWithPriority(hipStream_t *stream, unsigned int flags, int priority)
Create an asynchronous stream with the specified priority.
hipError_t hipExtStreamCreateWithCUMask(hipStream_t *stream, uint32_t cuMaskSize, const uint32_t *cuMask)
Create an asynchronous stream with the specified CU mask.
hipError_t hipStreamGetPriority(hipStream_t stream, int *priority)
Query the priority of a stream.
hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t *cuMask)
Get CU mask associated with an asynchronous stream.
hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
Create an asynchronous stream.
hipError_t hipStreamCreate(hipStream_t *stream)
Create an asynchronous stream.
hipError_t hipStreamWriteValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipError_t hipStreamWriteValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipError_t hipStreamWaitValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags, uint32_t mask __dparm(0xFFFFFFFF))
Enqueues a wait command to the stream.[BETA].
hipError_t hipStreamWaitValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags, uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF))
Enqueues a wait command to the stream.[BETA].
hipError_t hipMemPoolImportPointer(void **dev_ptr, hipMemPool_t mem_pool, hipMemPoolPtrExportData *export_data)
Import a memory pool allocation from another process.
hipError_t hipMemPoolImportFromShareableHandle(hipMemPool_t *mem_pool, void *shared_handle, hipMemAllocationHandleType handle_type, unsigned int flags)
Imports a memory pool from a shared handle.
hipError_t hipMallocFromPoolAsync(void **dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream)
Allocates memory from a specified pool with stream ordered semantics.
hipError_t hipFreeAsync(void *dev_ptr, hipStream_t stream)
Frees memory with stream ordered semantics.
hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold)
Releases freed memory back to the OS.
hipError_t hipMemPoolCreate(hipMemPool_t *mem_pool, const hipMemPoolProps *pool_props)
Creates a memory pool.
hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc *desc_list, size_t count)
Controls visibility of the specified pool between devices.
hipError_t hipMemPoolDestroy(hipMemPool_t mem_pool)
Destroys the specified memory pool.
hipError_t hipMemPoolSetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void *value)
Sets attributes of a memory pool.
hipError_t hipMemPoolGetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void *value)
Gets attributes of a memory pool.
hipError_t hipMemPoolExportToShareableHandle(void *shared_handle, hipMemPool_t mem_pool, hipMemAllocationHandleType handle_type, unsigned int flags)
Exports a memory pool to the requested handle type.
hipError_t hipMemPoolExportPointer(hipMemPoolPtrExportData *export_data, void *dev_ptr)
Export data to share a memory pool allocation between processes.
hipError_t hipMallocAsync(void **dev_ptr, size_t size, hipStream_t stream)
Allocates memory with stream ordered semantics.
hipError_t hipMemPoolGetAccess(hipMemAccessFlags *flags, hipMemPool_t mem_pool, hipMemLocation *location)
Returns the accessibility of a pool from a device.
hipError_t hipDestroySurfaceObject(hipSurfaceObject_t surfaceObject)
Destroy a surface object.
hipError_t hipCreateSurfaceObject(hipSurfaceObject_t *pSurfObject, const hipResourceDesc *pResDesc)
Create a surface object.
hipError_t hipTexRefGetFilterMode(enum hipTextureFilterMode *pfm, const textureReference *texRef)
Gets filter mode for a texture reference.
hipError_t hipBindTextureToMipmappedArray(const textureReference *tex, hipMipmappedArray_const_t mipmappedArray, const hipChannelFormatDesc *desc)
Binds a mipmapped array to a texture.
hipError_t hipTexRefGetMipmapLevelClamp(float *pminMipmapLevelClamp, float *pmaxMipmapLevelClamp, const textureReference *texRef)
Gets the minimum and maximum mipmap level clamps for a texture reference.
hipError_t hipTexRefGetAddressMode(enum hipTextureAddressMode *pam, const textureReference *texRef, int dim)
Gets the address mode for a texture reference.
hipError_t hipTexRefGetFlags(unsigned int *pFlags, const textureReference *texRef)
Gets flags for a texture reference.
hipError_t hipTexRefSetAddress(size_t *ByteOffset, textureReference *texRef, hipDeviceptr_t dptr, size_t bytes)
Sets an bound address for a texture reference.
hipError_t hipTexRefSetFilterMode(textureReference *texRef, enum hipTextureFilterMode fm)
Set filter mode for a texture reference.
hipError_t hipTexRefSetMipmappedArray(textureReference *texRef, struct hipMipmappedArray *mipmappedArray, unsigned int Flags)
Binds mipmapped array to a texture reference.
hipError_t hipTexRefGetMipmapFilterMode(enum hipTextureFilterMode *pfm, const textureReference *texRef)
Gets the mipmap filter mode for a texture reference.
hipError_t hipGetTextureAlignmentOffset(size_t *offset, const textureReference *texref)
Get the offset of the alignment in a texture.
hipError_t hipBindTexture2D(size_t *offset, const textureReference *tex, const void *devPtr, const hipChannelFormatDesc *desc, size_t width, size_t height, size_t pitch)
Binds a 2D memory area to a texture.
hipError_t hipTexRefGetMaxAnisotropy(int *pmaxAnsio, const textureReference *texRef)
Gets the maximum anisotropy for a texture reference.
hipError_t hipUnbindTexture(const textureReference *tex)
Unbinds a texture.
hipError_t hipTexRefSetFormat(textureReference *texRef, hipArray_Format fmt, int NumPackedComponents)
Set format for a texture reference.
hipError_t hipTexRefGetAddress(hipDeviceptr_t *dev_ptr, const textureReference *texRef)
Gets the the address for a texture reference.
hipError_t hipTexRefSetFlags(textureReference *texRef, unsigned int Flags)
Set flags for a texture reference.
hipError_t hipTexRefSetAddressMode(textureReference *texRef, int dim, enum hipTextureAddressMode am)
Sets address mode for a texture reference.
hipError_t hipTexRefGetMipMappedArray(hipMipmappedArray_t *pArray, const textureReference *texRef)
Gets the mipmapped array bound to a texture reference.
hipError_t hipTexRefSetMaxAnisotropy(textureReference *texRef, unsigned int maxAniso)
Sets the maximum anisotropy for a texture reference.
hipError_t hipTexRefSetMipmapLevelClamp(textureReference *texRef, float minMipMapLevelClamp, float maxMipMapLevelClamp)
Sets mipmap level clamp for a texture reference.
hipError_t hipTexRefSetBorderColor(textureReference *texRef, float *pBorderColor)
Sets border color for a texture reference.
hipError_t hipTexRefSetArray(textureReference *tex, hipArray_const_t array, unsigned int flags)
Binds an array as a texture reference.
hipError_t hipTexRefSetMipmapLevelBias(textureReference *texRef, float bias)
Sets mipmap level bias for a texture reference.
hipError_t hipTexRefGetMipmapLevelBias(float *pbias, const textureReference *texRef)
Gets the mipmap level bias for a texture reference.
hipError_t hipBindTextureToArray(const textureReference *tex, hipArray_const_t array, const hipChannelFormatDesc *desc)
Binds a memory area to a texture.
hipError_t hipBindTexture(size_t *offset, const textureReference *tex, const void *devPtr, const hipChannelFormatDesc *desc, size_t size __dparm(UINT_MAX))
Binds a memory area to a texture.
hipError_t hipGetTextureReference(const textureReference **texref, const void *symbol)
Gets the texture reference related with the symbol.
hipError_t hipTexRefSetAddress2D(textureReference *texRef, const HIP_ARRAY_DESCRIPTOR *desc, hipDeviceptr_t dptr, size_t Pitch)
Set a bind an address as a 2D texture reference.
hipError_t hipTexRefSetMipmapFilterMode(textureReference *texRef, enum hipTextureFilterMode fm)
Sets mipmap filter mode for a texture reference.
hipError_t hipTexRefGetFormat(hipArray_Format *pFormat, int *pNumChannels, const textureReference *texRef)
Gets texture format for a texture reference.
hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray)
Frees a mipmapped array on the device.
hipError_t hipGetMipmappedArrayLevel(hipArray_t *levelArray, hipMipmappedArray_const_t mipmappedArray, unsigned int level)
Gets a mipmap level of a HIP mipmapped array.
hipError_t hipMipmappedArrayGetLevel(hipArray_t *pLevelArray, hipMipmappedArray_t hMipMappedArray, unsigned int level)
Get a mipmapped array on a mipmapped level.
hipError_t hipMipmappedArrayDestroy(hipMipmappedArray_t hMipmappedArray)
Destroy a mipmapped array.
hipError_t hipTexObjectCreate(hipTextureObject_t *pTexObject, const HIP_RESOURCE_DESC *pResDesc, const HIP_TEXTURE_DESC *pTexDesc, const HIP_RESOURCE_VIEW_DESC *pResViewDesc)
Creates a texture object.
hipError_t hipGetTextureObjectResourceDesc(hipResourceDesc *pResDesc, hipTextureObject_t textureObject)
Gets resource descriptor for the texture object.
hipError_t hipGetTextureObjectResourceViewDesc(struct hipResourceViewDesc *pResViewDesc, hipTextureObject_t textureObject)
Gets resource view descriptor for the texture object.
hipError_t hipTexObjectGetTextureDesc(HIP_TEXTURE_DESC *pTexDesc, hipTextureObject_t texObject)
Gets texture descriptor of a texture object.
hipError_t hipCreateTextureObject(hipTextureObject_t *pTexObject, const hipResourceDesc *pResDesc, const hipTextureDesc *pTexDesc, const struct hipResourceViewDesc *pResViewDesc)
Creates a texture object.
hipError_t hipTexObjectDestroy(hipTextureObject_t texObject)
Destroys a texture object.
hipError_t hipMipmappedArrayCreate(hipMipmappedArray_t *pHandle, HIP_ARRAY3D_DESCRIPTOR *pMipmappedArrayDesc, unsigned int numMipmapLevels)
Create a mipmapped array.
hipError_t hipGetChannelDesc(hipChannelFormatDesc *desc, hipArray_const_t array)
Gets the channel descriptor in an array.
hipError_t hipTexObjectGetResourceDesc(HIP_RESOURCE_DESC *pResDesc, hipTextureObject_t texObject)
Gets resource descriptor of a texture object.
hipError_t hipTexObjectGetResourceViewDesc(HIP_RESOURCE_VIEW_DESC *pResViewDesc, hipTextureObject_t texObject)
Gets resource view descriptor of a texture object.
hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject)
Destroys a texture object.
hipError_t hipMallocMipmappedArray(hipMipmappedArray_t *mipmappedArray, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int numLevels, unsigned int flags __dparm(0))
Allocate a mipmapped array on the device.
hipError_t hipGetTextureObjectTextureDesc(hipTextureDesc *pTexDesc, hipTextureObject_t textureObject)
Gets texture descriptor for the texture object.
hipError_t hipMemAddressFree(void *devPtr, size_t size)
Frees an address range reservation made via hipMemAddressReserve.
hipError_t hipMemExportToShareableHandle(void *shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags)
Exports an allocation to a requested shareable handle type.
hipError_t hipMemGetAccess(unsigned long long *flags, const hipMemLocation *location, void *ptr)
Get the access flags set for the given location and ptr.
hipError_t hipMemSetAccess(void *ptr, size_t size, const hipMemAccessDesc *desc, size_t count)
Set the access flags for each location specified in desc for the given virtual address range.
hipError_t hipMemRelease(hipMemGenericAllocationHandle_t handle)
Release a memory handle representing a memory allocation which was previously allocated through hipMe...
hipError_t hipMemUnmap(void *ptr, size_t size)
Unmap memory allocation of a given address range.
hipError_t hipMemGetAllocationGranularity(size_t *granularity, const hipMemAllocationProp *prop, hipMemAllocationGranularity_flags option)
Calculates either the minimal or recommended granularity.
hipError_t hipMemRetainAllocationHandle(hipMemGenericAllocationHandle_t *handle, void *addr)
Returns the allocation handle of the backing memory allocation given the address.
hipError_t hipMemCreate(hipMemGenericAllocationHandle_t *handle, size_t size, const hipMemAllocationProp *prop, unsigned long long flags)
Creates a memory allocation described by the properties and size.
hipError_t hipMemMap(void *ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags)
Maps an allocation handle to a reserved virtual address range.
hipError_t hipMemAddressReserve(void **ptr, size_t size, size_t alignment, void *addr, unsigned long long flags)
Reserves an address range.
hipError_t hipMemGetAllocationPropertiesFromHandle(hipMemAllocationProp *prop, hipMemGenericAllocationHandle_t handle)
Retrieve the property structure of the given handle.
hipError_t hipMemMapArrayAsync(hipArrayMapInfo *mapInfoList, unsigned int count, hipStream_t stream)
Maps or unmaps subregions of sparse HIP arrays and sparse HIP mipmapped arrays.
hipError_t hipMemImportFromShareableHandle(hipMemGenericAllocationHandle_t *handle, void *osHandle, hipMemAllocationHandleType shHandleType)
Imports an allocation from a requested shareable handle type.
hipErrorIllegalAddress
Definition hip_runtime_api.h:345
hipErrorMemoryAllocation
Memory allocation error.
Definition hip_runtime_api.h:291
hipErrorNotFound
Not found.
Definition hip_runtime_api.h:340
hipErrorProfilerDisabled
Definition hip_runtime_api.h:296
hipErrorInvalidDevicePointer
Invalid Device Pointer.
Definition hip_runtime_api.h:303
hipErrorRuntimeMemory
Definition hip_runtime_api.h:394
hipErrorInvalidImage
Invalid image.
Definition hip_runtime_api.h:311
hipErrorPeerAccessUnsupported
Definition hip_runtime_api.h:328
hipErrorArrayIsMapped
Definition hip_runtime_api.h:318
hipErrorStreamCaptureIsolation
Definition hip_runtime_api.h:375
hipErrorInvalidKernelFile
In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.
Definition hip_runtime_api.h:329
hipErrorNotMapped
Definition hip_runtime_api.h:322
hipErrorGraphExecUpdateFailure
Definition hip_runtime_api.h:388
hipErrorNotInitialized
Invalid not initialized.
Definition hip_runtime_api.h:292
hipErrorInvalidResourceHandle
Resource handle (hipEvent_t or hipStream_t) invalid.
Definition hip_runtime_api.h:338
hipErrorSharedObjectInitFailed
Failed to initialize shared object.
Definition hip_runtime_api.h:334
hipErrorInvalidPitchValue
Invalid pitch value.
Definition hip_runtime_api.h:301
hipErrorNoBinaryForGpu
Definition hip_runtime_api.h:320
hipErrorInvalidContext
Produced when input context is invalid.
Definition hip_runtime_api.h:312
hipErrorStreamCaptureUnsupported
Definition hip_runtime_api.h:366
hipErrorPeerAccessNotEnabled
Peer access was never enabled from the current device.
Definition hip_runtime_api.h:350
hipErrorOperatingSystem
Not the correct operating system.
Definition hip_runtime_api.h:335
hipErrorStreamCaptureUnjoined
Definition hip_runtime_api.h:373
hipErrorInitializationError
Definition hip_runtime_api.h:294
hipErrorNotMappedAsPointer
Definition hip_runtime_api.h:324
hipErrorPriorLaunchFailure
Definition hip_runtime_api.h:307
hipErrorContextIsDestroyed
The context is already destroyed.
Definition hip_runtime_api.h:353
hipErrorInvalidValue
Definition hip_runtime_api.h:287
hipErrorLaunchTimeOut
Timeout for the launch.
Definition hip_runtime_api.h:347
hipErrorUnmapFailed
Definition hip_runtime_api.h:317
hipErrorSetOnActiveProcess
The process is active.
Definition hip_runtime_api.h:352
hipErrorFileNotFound
the file is not found.
Definition hip_runtime_api.h:332
hipErrorLaunchFailure
An exception occurred on the device while executing a kernel.
Definition hip_runtime_api.h:359
hipErrorInvalidDevice
DeviceID must be in range from 0 to compute-devices.
Definition hip_runtime_api.h:310
hipErrorUnsupportedLimit
Unsupported limit.
Definition hip_runtime_api.h:326
hipErrorMapBufferObjectFailed
Produced when the IPC memory attach failed from ROCr.
Definition hip_runtime_api.h:316
hipErrorHostMemoryAlreadyRegistered
Produced when trying to lock a page-locked memory.
Definition hip_runtime_api.h:355
hipErrorMissingConfiguration
Definition hip_runtime_api.h:306
hipErrorSharedObjectSymbolNotFound
Definition hip_runtime_api.h:333
hipErrorECCNotCorrectable
Definition hip_runtime_api.h:325
hipErrorStreamCaptureWrongThread
Definition hip_runtime_api.h:384
hipErrorAssert
Produced when the kernel calls assert.
Definition hip_runtime_api.h:354
hipErrorContextAlreadyInUse
The context is already in use.
Definition hip_runtime_api.h:327
hipErrorNotReady
Definition hip_runtime_api.h:341
hipErrorInvalidSource
Invalid source.
Definition hip_runtime_api.h:331
hipErrorLaunchOutOfResources
Out of resources error.
Definition hip_runtime_api.h:346
hipErrorInvalidDeviceFunction
Invalid device function.
Definition hip_runtime_api.h:308
hipErrorCooperativeLaunchTooLarge
Definition hip_runtime_api.h:361
hipErrorAlreadyMapped
Definition hip_runtime_api.h:319
hipErrorProfilerNotInitialized
Definition hip_runtime_api.h:297
hipErrorProfilerAlreadyStarted
Definition hip_runtime_api.h:298
hipErrorNoDevice
Call to hipGetDeviceCount returned 0 devices.
Definition hip_runtime_api.h:309
@ HIP_ERROR_LAUNCH_OUT_OF_RESOURCES
Definition hip_runtime_api.h:41
@ HIP_ERROR_INVALID_VALUE
Definition hip_runtime_api.h:39
@ HIP_SUCCESS
Definition hip_runtime_api.h:38
@ HIP_ERROR_NOT_INITIALIZED
Definition hip_runtime_api.h:40
hipErrorMapFailed
Definition hip_runtime_api.h:314
hipErrorStreamCaptureInvalidated
Definition hip_runtime_api.h:368
hipErrorProfilerAlreadyStopped
Definition hip_runtime_api.h:299
hipErrorDeinitialized
Deinitialized.
Definition hip_runtime_api.h:295
hipErrorPeerAccessAlreadyEnabled
Peer access was already enabled from the current device.
Definition hip_runtime_api.h:348
hipErrorNotMappedAsArray
Definition hip_runtime_api.h:323
hipErrorNotSupported
Produced when the hip API is not supported/implemented.
Definition hip_runtime_api.h:365
hipErrorInvalidConfiguration
Invalide configuration.
Definition hip_runtime_api.h:300
hipErrorStreamCaptureImplicit
Definition hip_runtime_api.h:379
hipErrorStreamCaptureMerge
Definition hip_runtime_api.h:370
hipErrorInvalidGraphicsContext
Definition hip_runtime_api.h:330
hipErrorIllegalState
Resource required is not in a valid state to perform operation.
Definition hip_runtime_api.h:339
hipErrorOutOfMemory
out of memory range.
Definition hip_runtime_api.h:289
hipErrorInvalidSymbol
Invalid symbol.
Definition hip_runtime_api.h:302
hipSuccess
Successful completion.
Definition hip_runtime_api.h:286
hipErrorUnknown
Unknown error.
Definition hip_runtime_api.h:392
hipErrorInvalidHandle
Invalide handle.
Definition hip_runtime_api.h:336
hipErrorStreamCaptureUnmatched
The capture was not initiated in this stream.
Definition hip_runtime_api.h:372
hipErrorCapturedEvent
Definition hip_runtime_api.h:382
hipErrorAlreadyAcquired
Definition hip_runtime_api.h:321
hipErrorInsufficientDriver
Definition hip_runtime_api.h:305
hipErrorHostMemoryNotRegistered
Produced when trying to unlock a non-page-locked memory.
Definition hip_runtime_api.h:357
hipErrorRuntimeOther
Definition hip_runtime_api.h:396
hipErrorContextAlreadyCurrent
Definition hip_runtime_api.h:313
hipErrorInvalidMemcpyDirection
Invalid memory copy direction.
Definition hip_runtime_api.h:304
Definition driver_types.h:76
Definition driver_types.h:70
Definition driver_types.h:369
Definition hip_runtime_api.h:1299
size_t height
Number of rows.
Definition hip_runtime_api.h:1305
size_t pitch
Destination device pointer pitch. Unused if height equals 1.
Definition hip_runtime_api.h:1301
hipDeviceptr_t dst
Destination pointer on device.
Definition hip_runtime_api.h:1300
unsigned int value
Value of memset to be set.
Definition hip_runtime_api.h:1302
unsigned int elementSize
Element in bytes. Must be 1, 2, or 4.
Definition hip_runtime_api.h:1303
size_t width
Width of a row.
Definition hip_runtime_api.h:1304
Definition driver_types.h:271
Definition driver_types.h:317
Definition driver_types.h:154
Definition hip_runtime_api.h:1038
uint32_t y
y
Definition hip_runtime_api.h:1040
uint32_t z
z
Definition hip_runtime_api.h:1041
uint32_t x
x
Definition hip_runtime_api.h:1039
Definition driver_types.h:85
Definition hip_runtime_api.h:1284
hipAccessProperty hitProp
Definition hip_runtime_api.h:1286
hipAccessProperty missProp
Definition hip_runtime_api.h:1288
float hitRatio
Definition hip_runtime_api.h:1287
void * base_ptr
Definition hip_runtime_api.h:1285
size_t num_bytes
Definition hip_runtime_api.h:1289
Definition hip_runtime_api.h:1464
unsigned int level
For mipmapped arrays must be a valid mipmap level. For arrays must be zero.
Definition hip_runtime_api.h:1473
struct hipArrayMapInfo::@26::@28 sparseLevel
unsigned int flags
flags for future use, must be zero now.
Definition hip_runtime_api.h:1495
union hipArrayMapInfo::@25 resource
hipArraySparseSubresourceType subresourceType
Sparse subresource type.
Definition hip_runtime_api.h:1470
unsigned int extentDepth
Depth in elements.
Definition hip_runtime_api.h:1480
unsigned int offsetX
X offset in elements.
Definition hip_runtime_api.h:1475
hipArray_t array
Definition hip_runtime_api.h:1468
hipResourceType resourceType
Resource type.
Definition hip_runtime_api.h:1465
hipMemOperationType memOperationType
Memory operation type.
Definition hip_runtime_api.h:1488
unsigned int reserved[2]
Reserved for future use, must be zero now.
Definition hip_runtime_api.h:1496
unsigned int extentWidth
Width in elements.
Definition hip_runtime_api.h:1478
union hipArrayMapInfo::@26 subresource
unsigned int extentHeight
Height in elements.
Definition hip_runtime_api.h:1479
unsigned int offsetY
Y offset in elements.
Definition hip_runtime_api.h:1476
hipMemHandleType memHandleType
Memory handle type.
Definition hip_runtime_api.h:1489
struct hipArrayMapInfo::@26::@29 miptail
hipMemGenericAllocationHandle_t memHandle
Definition hip_runtime_api.h:1491
hipMipmappedArray mipmap
Definition hip_runtime_api.h:1467
unsigned int layer
For layered arrays must be a valid layer index. Otherwise, must be zero.
Definition hip_runtime_api.h:1474
unsigned int deviceBitMask
Device ordinal bit mask.
Definition hip_runtime_api.h:1494
unsigned long long size
Extent in bytes.
Definition hip_runtime_api.h:1485
unsigned long long offset
Offset within mip tail.
Definition hip_runtime_api.h:1484
unsigned int offsetZ
Z offset in elements.
Definition hip_runtime_api.h:1477
Definition driver_types.h:46
Definition hip_runtime_api.h:53
unsigned hasSharedInt64Atomics
64-bit integer atomics for shared memory.
Definition hip_runtime_api.h:63
unsigned hasSharedInt32Atomics
32-bit integer atomics for shared memory.
Definition hip_runtime_api.h:57
unsigned hasFloatAtomicAdd
32-bit float atomic add in global and shared memory.
Definition hip_runtime_api.h:59
unsigned hasDoubles
Double-precision floating point.
Definition hip_runtime_api.h:66
unsigned hasWarpVote
Warp vote instructions (__any, __all).
Definition hip_runtime_api.h:69
unsigned hasWarpShuffle
Warp shuffle operations. (__shfl_*).
Definition hip_runtime_api.h:71
unsigned hasGlobalInt32Atomics
32-bit integer atomics for global memory.
Definition hip_runtime_api.h:55
unsigned hasGlobalFloatAtomicExch
32-bit float atomic exch for global memory.
Definition hip_runtime_api.h:56
unsigned hasDynamicParallelism
Dynamic parallelism.
Definition hip_runtime_api.h:81
unsigned hasSurfaceFuncs
Surface functions.
Definition hip_runtime_api.h:79
unsigned has3dGrid
Grid and group dims are 3D (rather than 2D).
Definition hip_runtime_api.h:80
unsigned hasFunnelShift
Funnel two words into one with shift&mask caps.
Definition hip_runtime_api.h:72
unsigned hasThreadFenceSystem
__threadfence_system.
Definition hip_runtime_api.h:75
unsigned hasGlobalInt64Atomics
64-bit integer atomics for global memory.
Definition hip_runtime_api.h:62
unsigned hasSyncThreadsExt
__syncthreads_count, syncthreads_and, syncthreads_or.
Definition hip_runtime_api.h:76
unsigned hasWarpBallot
Warp ballot instructions (__ballot).
Definition hip_runtime_api.h:70
unsigned hasSharedFloatAtomicExch
32-bit float atomic exch for shared memory.
Definition hip_runtime_api.h:58
Definition hip_runtime_api.h:98
int ECCEnabled
Device has ECC support enabled.
Definition hip_runtime_api.h:151
int ipcEventSupported
Device supports IPC events.
Definition hip_runtime_api.h:206
int computePreemptionSupported
Is compute preemption supported on the device.
Definition hip_runtime_api.h:177
int maxTexture1DLinear
Maximum size for 1D textures bound to linear memory.
Definition hip_runtime_api.h:130
int timelineSemaphoreInteropSupported
Indicates external timeline semaphore support.
Definition hip_runtime_api.h:196
int pciBusID
PCI Bus ID.
Definition hip_runtime_api.h:152
int maxTexture1D
Maximum number of elements in 1D images.
Definition hip_runtime_api.h:128
int memoryBusWidth
Global memory bus width in bits.
Definition hip_runtime_api.h:159
int maxTexture2DMipmap[2]
Maximum number of elements in 2D array mipmap of images.
Definition hip_runtime_api.h:132
int clockRate
Max clock frequency of the multiProcessors in khz.
Definition hip_runtime_api.h:112
int maxThreadsPerMultiProcessor
Maximum resident threads per multi-processor.
Definition hip_runtime_api.h:162
int l2CacheSize
L2 cache size.
Definition hip_runtime_api.h:160
int deferredMappingHipArraySupported
Definition hip_runtime_api.h:204
int asyncEngineCount
Number of async engines.
Definition hip_runtime_api.h:156
int accessPolicyMaxWindowSize
Max value of access policy window.
Definition hip_runtime_api.h:190
size_t totalConstMem
Size of shared memory region (in bytes).
Definition hip_runtime_api.h:113
int memoryPoolsSupported
Indicates if device supports hipMallocAsync and hipMemPool APIs.
Definition hip_runtime_api.h:197
int unifiedFunctionPointers
Indicates device supports unified function pointers.
Definition hip_runtime_api.h:208
int maxTexture2DGather[2]
Maximum 2D tex dimensions if gather has to be performed.
Definition hip_runtime_api.h:134
size_t memPitch
Definition hip_runtime_api.h:107
int gpuDirectRDMAWritesOrdering
value of hipGPUDirectRDMAWritesOrdering
Definition hip_runtime_api.h:201
hipUUID uuid
UUID of a device.
Definition hip_runtime_api.h:100
size_t sharedMemPerBlock
Size of shared memory region (in bytes).
Definition hip_runtime_api.h:104
unsigned int gpuDirectRDMAFlushWritesOptions
Definition hip_runtime_api.h:199
size_t surfaceAlignment
Alignment requirement for surface.
Definition hip_runtime_api.h:149
int reserved[63]
CUDA Reserved.
Definition hip_runtime_api.h:209
int maxTexture2DLayered[3]
Maximum number of elements in 2D array images.
Definition hip_runtime_api.h:140
int streamPrioritiesSupported
Device supports stream priority.
Definition hip_runtime_api.h:163
int cooperativeMultiDeviceLaunch
Definition hip_runtime_api.h:181
int hostRegisterSupported
Device supports hipHostRegister.
Definition hip_runtime_api.h:192
int pageableMemoryAccess
Definition hip_runtime_api.h:173
char name[256]
Device name.
Definition hip_runtime_api.h:99
size_t textureAlignment
Alignment requirement for textures.
Definition hip_runtime_api.h:120
int globalL1CacheSupported
Indicates globals are cached in L1.
Definition hip_runtime_api.h:164
int hostNativeAtomicSupported
Link between host and device supports native atomics.
Definition hip_runtime_api.h:171
int maxSurfaceCubemapLayered[2]
Maximum cubemap layered surface size.
Definition hip_runtime_api.h:148
int maxTextureCubemapLayered[2]
Maximum cubemaps layered texture dims.
Definition hip_runtime_api.h:141
size_t sharedMemPerBlockOptin
Per device m ax shared mem per block usable by special opt in.
Definition hip_runtime_api.h:184
size_t sharedMemPerMultiprocessor
Amount of shared memory available per multiprocessor.
Definition hip_runtime_api.h:166
int singleToDoublePrecisionPerfRatio
Deprecated. CUDA only.
Definition hip_runtime_api.h:172
int maxSurface2D[2]
Maximum 2D surface size.
Definition hip_runtime_api.h:143
int memoryClockRate
Max global memory clock frequency in khz.
Definition hip_runtime_api.h:158
int maxTexture2DLinear[3]
Maximum 2D tex dimensions if tex are bound to pitched memory.
Definition hip_runtime_api.h:133
int sparseHipArraySupported
Indicates if device supports sparse hip arrays.
Definition hip_runtime_api.h:193
int clockInstructionRate
Definition hip_runtime_api.h:216
int localL1CacheSupported
Locals are cahced in L1.
Definition hip_runtime_api.h:165
int regsPerMultiprocessor
registers available per multiprocessor
Definition hip_runtime_api.h:167
int regsPerBlock
Registers per block.
Definition hip_runtime_api.h:105
int maxTexture2D[2]
Maximum dimensions (width, height) of 2D images, in image elements.
Definition hip_runtime_api.h:131
int cooperativeLaunch
HIP device supports cooperative launch.
Definition hip_runtime_api.h:180
int maxTexture3D[3]
elements
Definition hip_runtime_api.h:135
int directManagedMemAccessFromHost
Definition hip_runtime_api.h:187
int cooperativeMultiDeviceUnmatchedFunc
Definition hip_runtime_api.h:221
int deviceOverlap
Deprecated. Use asyncEngineCount instead.
Definition hip_runtime_api.h:122
int pageableMemoryAccessUsesHostPageTables
Definition hip_runtime_api.h:185
unsigned int * hdpRegFlushCntl
Addres of HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:220
int maxThreadsDim[3]
Max number of threads in each dimension (XYZ) of a block.
Definition hip_runtime_api.h:110
int unifiedAddressing
Does device and host share unified address space.
Definition hip_runtime_api.h:157
int multiGpuBoardGroupID
Unique identifier for a group of devices on same multiboard GPU.
Definition hip_runtime_api.h:170
int isMultiGpuBoard
1 if device is on a multi-GPU board, 0 if not.
Definition hip_runtime_api.h:169
int canUseHostPointerForRegisteredMem
Definition hip_runtime_api.h:178
int maxTexture1DLayered[2]
Maximum number of elements in 1D array images.
Definition hip_runtime_api.h:139
int pciDomainID
PCI Domain ID.
Definition hip_runtime_api.h:154
size_t maxSharedMemoryPerMultiProcessor
Maximum Shared Memory Per CU. HIP Only.
Definition hip_runtime_api.h:215
int maxTextureCubemap
Maximum cubemap texture dims.
Definition hip_runtime_api.h:138
int hipReserved[32]
Reserved for adding new entries for HIP/CUDA.
Definition hip_runtime_api.h:211
int cooperativeMultiDeviceUnmatchedGridDim
Definition hip_runtime_api.h:224
int gpuDirectRDMASupported
Indicates device support of RDMA APIs.
Definition hip_runtime_api.h:198
int minor
Definition hip_runtime_api.h:117
char gcnArchName[256]
AMD GCN Arch Name. HIP Only.
Definition hip_runtime_api.h:214
char luid[8]
8-byte unique identifier. Only valid on windows
Definition hip_runtime_api.h:101
int kernelExecTimeoutEnabled
Run time limit for kernels executed on the device.
Definition hip_runtime_api.h:124
unsigned int memoryPoolSupportedHandleTypes
Bitmask of handle types support with mempool based IPC.
Definition hip_runtime_api.h:203
unsigned int * hdpMemFlushCntl
Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:219
int concurrentManagedAccess
Definition hip_runtime_api.h:175
int integrated
APU vs dGPU.
Definition hip_runtime_api.h:125
int canMapHostMemory
Check whether HIP can map host memory.
Definition hip_runtime_api.h:126
size_t reservedSharedMemPerBlock
Shared memory reserved by driver per block.
Definition hip_runtime_api.h:191
int maxSurfaceCubemap
Maximum cubemap surface size.
Definition hip_runtime_api.h:147
int maxSurface3D[3]
Maximum 3D surface size.
Definition hip_runtime_api.h:144
int asicRevision
Revision of the GPU in this device.
Definition hip_runtime_api.h:234
size_t totalGlobalMem
Size of global memory region (in bytes).
Definition hip_runtime_api.h:103
int cooperativeMultiDeviceUnmatchedBlockDim
Definition hip_runtime_api.h:227
int maxSurface1DLayered[2]
Maximum 1D layered surface size.
Definition hip_runtime_api.h:145
int persistingL2CacheMaxSize
Device's max L2 persisting lines in bytes.
Definition hip_runtime_api.h:161
int maxSurface1D
Maximum 1D surface size.
Definition hip_runtime_api.h:142
int concurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition hip_runtime_api.h:150
int isLargeBar
1: if it is a large PCI bar device, else 0
Definition hip_runtime_api.h:233
int clusterLaunch
Device supports cluster launch.
Definition hip_runtime_api.h:207
int maxTexture1DMipmap
Maximum 1D mipmap texture size.
Definition hip_runtime_api.h:129
int multiProcessorCount
Number of multi-processors (compute units).
Definition hip_runtime_api.h:123
int maxTexture3DAlt[3]
Maximum alternate 3D texture dims.
Definition hip_runtime_api.h:137
int maxGridSize[3]
Max grid dimensions (XYZ).
Definition hip_runtime_api.h:111
int pciDeviceID
PCI Device ID.
Definition hip_runtime_api.h:153
int maxBlocksPerMultiProcessor
Max number of blocks on CU.
Definition hip_runtime_api.h:189
int computeMode
Compute mode.
Definition hip_runtime_api.h:127
int maxSurface2DLayered[3]
Maximum 2D layared surface size.
Definition hip_runtime_api.h:146
int major
Definition hip_runtime_api.h:114
int warpSize
Warp size.
Definition hip_runtime_api.h:106
int tccDriver
1:If device is Tesla device using TCC driver, else 0
Definition hip_runtime_api.h:155
unsigned int luidDeviceNodeMask
LUID node mask.
Definition hip_runtime_api.h:102
int hostRegisterReadOnlySupported
Definition hip_runtime_api.h:194
int cooperativeMultiDeviceUnmatchedSharedMem
Definition hip_runtime_api.h:230
int maxThreadsPerBlock
Max work items per work group or workgroup max size.
Definition hip_runtime_api.h:109
hipDeviceArch_t arch
Architectural feature flags. New for HIP.
Definition hip_runtime_api.h:218
int managedMemory
Device supports allocating managed memory on this system.
Definition hip_runtime_api.h:168
size_t texturePitchAlignment
Pitch alignment requirement for texture references bound to.
Definition hip_runtime_api.h:121
Definition driver_types.h:348
Definition hip_runtime_api.h:1096
unsigned int flags
Definition hip_runtime_api.h:1099
unsigned long long offset
Definition hip_runtime_api.h:1097
unsigned long long size
Definition hip_runtime_api.h:1098
Definition hip_runtime_api.h:1082
unsigned int flags
Definition hip_runtime_api.h:1093
const void * name
Definition hip_runtime_api.h:1088
int fd
Definition hip_runtime_api.h:1085
unsigned long long size
Definition hip_runtime_api.h:1092
hipExternalMemoryHandleType type
Definition hip_runtime_api.h:1083
const void * nvSciBufObject
Definition hip_runtime_api.h:1090
void * handle
Definition hip_runtime_api.h:1087
Definition hip_runtime_api.h:1102
hipExtent extent
Definition hip_runtime_api.h:1105
unsigned int numLevels
Definition hip_runtime_api.h:1107
unsigned int flags
Definition hip_runtime_api.h:1106
unsigned long long offset
Definition hip_runtime_api.h:1103
hipChannelFormatDesc formatDesc
Definition hip_runtime_api.h:1104
Definition hip_runtime_api.h:1122
unsigned int flags
Definition hip_runtime_api.h:1132
const void * name
Definition hip_runtime_api.h:1128
const void * NvSciSyncObj
Definition hip_runtime_api.h:1130
hipExternalSemaphoreHandleType type
Definition hip_runtime_api.h:1123
void * handle
Definition hip_runtime_api.h:1127
int fd
Definition hip_runtime_api.h:1125
Definition hip_runtime_api.h:1404
const hipExternalSemaphoreSignalParams * paramsArray
Total number of handles and parameters contained in extSemArray and paramsArray.
Definition hip_runtime_api.h:1408
hipExternalSemaphore_t * extSemArray
< Array containing external semaphore handles.
Definition hip_runtime_api.h:1406
unsigned int numExtSems
Definition hip_runtime_api.h:1410
Definition hip_runtime_api.h:1136
unsigned long long reserved
Definition hip_runtime_api.h:1143
unsigned long long value
Definition hip_runtime_api.h:1139
void * fence
Definition hip_runtime_api.h:1142
unsigned int flags
Definition hip_runtime_api.h:1150
unsigned long long key
Definition hip_runtime_api.h:1146
Definition hip_runtime_api.h:1416
unsigned int numExtSems
Definition hip_runtime_api.h:1422
const hipExternalSemaphoreWaitParams * paramsArray
Total number of handles and parameters contained in extSemArray and paramsArray.
Definition hip_runtime_api.h:1420
hipExternalSemaphore_t * extSemArray
< Array containing external semaphore handles.
Definition hip_runtime_api.h:1418
Definition hip_runtime_api.h:1156
unsigned long long value
Definition hip_runtime_api.h:1159
void * fence
Definition hip_runtime_api.h:1162
unsigned int timeoutMs
Definition hip_runtime_api.h:1167
unsigned long long key
Definition hip_runtime_api.h:1166
unsigned int flags
Definition hip_runtime_api.h:1171
unsigned long long reserved
Definition hip_runtime_api.h:1163
Definition hip_runtime_api.h:624
int cacheModeCA
Definition hip_runtime_api.h:626
int binaryVersion
Definition hip_runtime_api.h:625
size_t constSizeBytes
Definition hip_runtime_api.h:627
int preferredShmemCarveout
Definition hip_runtime_api.h:632
size_t sharedSizeBytes
Definition hip_runtime_api.h:634
int maxDynamicSharedSizeBytes
Definition hip_runtime_api.h:629
int ptxVersion
Definition hip_runtime_api.h:633
int numRegs
Definition hip_runtime_api.h:631
size_t localSizeBytes
Definition hip_runtime_api.h:628
int maxThreadsPerBlock
Definition hip_runtime_api.h:630
Definition hip_runtime_api.h:1060
unsigned int gridDimX
Width(X) of grid in blocks.
Definition hip_runtime_api.h:1062
unsigned int blockDimX
X dimension of each thread block.
Definition hip_runtime_api.h:1065
hipFunction_t function
Kernel to launch.
Definition hip_runtime_api.h:1061
hipStream_t hStream
Stream identifier.
Definition hip_runtime_api.h:1069
unsigned int blockDimY
Y dimension of each thread block.
Definition hip_runtime_api.h:1066
unsigned int gridDimY
Height(Y) of grid in blocks.
Definition hip_runtime_api.h:1063
unsigned int gridDimZ
Depth(Z) of grid in blocks.
Definition hip_runtime_api.h:1064
unsigned int sharedMemBytes
Shared memory.
Definition hip_runtime_api.h:1068
unsigned int blockDimZ
Z dimension of each thread block.
Definition hip_runtime_api.h:1067
void ** kernelParams
Kernel parameters.
Definition hip_runtime_api.h:1070
Definition hip_runtime_api.h:1241
hipHostFn_t fn
Definition hip_runtime_api.h:1242
void * userData
Definition hip_runtime_api.h:1243
Definition hip_runtime_api.h:614
Definition hip_runtime_api.h:611
Definition hip_runtime_api.h:1245
dim3 gridDim
Definition hip_runtime_api.h:1249
unsigned int sharedMemBytes
Definition hip_runtime_api.h:1251
dim3 blockDim
Definition hip_runtime_api.h:1246
void ** kernelParams
Definition hip_runtime_api.h:1250
void ** extra
Definition hip_runtime_api.h:1247
void * func
Definition hip_runtime_api.h:1248
Definition hip_runtime_api.h:1049
size_t sharedMem
Shared memory.
Definition hip_runtime_api.h:1054
void ** args
Arguments.
Definition hip_runtime_api.h:1053
dim3 blockDim
Block dimentions.
Definition hip_runtime_api.h:1052
dim3 gridDim
Grid dimentions.
Definition hip_runtime_api.h:1051
void * func
Device function symbol.
Definition hip_runtime_api.h:1050
hipStream_t stream
Stream identifier.
Definition hip_runtime_api.h:1055
Definition hip_runtime_api.h:940
hipMemAccessFlags flags
Accessibility flags to set.
Definition hip_runtime_api.h:942
hipMemLocation location
Location on which the accessibility has to change.
Definition hip_runtime_api.h:941
Definition hip_runtime_api.h:1262
const hipMemAccessDesc * accessDescs
Definition hip_runtime_api.h:1265
size_t bytesize
The size of the requested allocation in bytes.
Definition hip_runtime_api.h:1268
hipMemPoolProps poolProps
Definition hip_runtime_api.h:1263
size_t accessDescCount
The number of access descriptors.
Definition hip_runtime_api.h:1267
void * dptr
Returned device address of the allocation.
Definition hip_runtime_api.h:1269
Definition hip_runtime_api.h:1389
void * win32HandleMetaData
Metadata for Win32 handles.
Definition hip_runtime_api.h:1393
hipMemAllocationType type
Memory allocation type.
Definition hip_runtime_api.h:1390
unsigned char gpuDirectRDMACapable
RDMA capable.
Definition hip_runtime_api.h:1396
struct hipMemAllocationProp::@24 allocFlags
unsigned short usage
Usage.
Definition hip_runtime_api.h:1397
hipMemAllocationHandleType requestedHandleType
Requested handle type.
Definition hip_runtime_api.h:1391
hipMemLocation location
Memory location.
Definition hip_runtime_api.h:1392
unsigned char compressionType
Compression type.
Definition hip_runtime_api.h:1395
Definition hip_runtime_api.h:924
int id
Identifier for the provided location type hipMemLocationType.
Definition hip_runtime_api.h:926
hipMemLocationType type
Specifies the location type, which describes the meaning of id.
Definition hip_runtime_api.h:925
Definition hip_runtime_api.h:968
hipMemLocation location
Location where allocations should reside.
Definition hip_runtime_api.h:971
hipMemAllocationHandleType handleTypes
Handle types that will be supported by allocations from the pool.
Definition hip_runtime_api.h:970
hipMemAllocationType allocType
Allocation type. Currently must be specified as hipMemAllocationTypePinned.
Definition hip_runtime_api.h:969
unsigned char reserved[64]
Reserved for future use, must be 0.
Definition hip_runtime_api.h:976
void * win32SecurityAttributes
Definition hip_runtime_api.h:975
Definition hip_runtime_api.h:981
unsigned char reserved[64]
Definition hip_runtime_api.h:982
Definition driver_types.h:359
Definition hip_runtime_api.h:1253
void * dst
Definition hip_runtime_api.h:1254
unsigned int value
Definition hip_runtime_api.h:1258
unsigned int elementSize
Definition hip_runtime_api.h:1255
size_t width
Definition hip_runtime_api.h:1259
size_t pitch
Definition hip_runtime_api.h:1257
size_t height
Definition hip_runtime_api.h:1256
Definition driver_types.h:104
Definition driver_types.h:342
Definition hip_runtime_api.h:260
int device
Definition hip_runtime_api.h:262
void * hostPointer
Definition hip_runtime_api.h:264
enum hipMemoryType type
Definition hip_runtime_api.h:261
int isManaged
Definition hip_runtime_api.h:265
void * devicePointer
Definition hip_runtime_api.h:263
unsigned allocationFlags
Definition hip_runtime_api.h:266
Definition driver_types.h:247
Definition driver_types.h:303
Definition texture_types.h:117
Definition hip_runtime_api.h:84
Definition texture_types.h:96
Defines surface types for HIP runtime.
struct __hip_surface * hipSurfaceObject_t
Definition surface_types.h:41
struct __hip_texture * hipTextureObject_t
Definition texture_types.h:71
hipTextureAddressMode
Definition texture_types.h:76
hipTextureFilterMode
Definition texture_types.h:86
Definition hip_runtime_api.h:1291
int cooperative
Definition hip_runtime_api.h:1293
hipAccessPolicyWindow accessPolicyWindow
Definition hip_runtime_api.h:1292