HIP: Heterogenous-computing Interface for Portability
Loading...
Searching...
No Matches
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
34#include <string.h> // for getDeviceProp
35#include <hip/hip_version.h>
36#include <hip/hip_common.h>
37
38enum {
39 HIP_SUCCESS = 0,
40 HIP_ERROR_INVALID_VALUE,
41 HIP_ERROR_NOT_INITIALIZED,
42 HIP_ERROR_LAUNCH_OUT_OF_RESOURCES
43};
44
45typedef struct {
46 // 32-bit Atomics
47 unsigned hasGlobalInt32Atomics : 1;
49 unsigned hasSharedInt32Atomics : 1;
51 unsigned hasFloatAtomicAdd : 1;
52
53 // 64-bit Atomics
54 unsigned hasGlobalInt64Atomics : 1;
55 unsigned hasSharedInt64Atomics : 1;
56
57 // Doubles
58 unsigned hasDoubles : 1;
59
60 // Warp cross-lane operations
61 unsigned hasWarpVote : 1;
62 unsigned hasWarpBallot : 1;
63 unsigned hasWarpShuffle : 1;
64 unsigned hasFunnelShift : 1;
65
66 // Sync
67 unsigned hasThreadFenceSystem : 1;
68 unsigned hasSyncThreadsExt : 1;
69
70 // Misc
71 unsigned hasSurfaceFuncs : 1;
72 unsigned has3dGrid : 1;
73 unsigned hasDynamicParallelism : 1;
75
76typedef struct hipUUID_t {
77 char bytes[16];
78} hipUUID;
79
80//---
81// Common headers for both NVCC and HCC paths:
82
87typedef struct hipDeviceProp_t {
88 char name[256];
95 int maxGridSize[3];
100 int major;
103 int minor;
121 char gcnArchName[256];
129 unsigned int* hdpMemFlushCntl;
130 unsigned int* hdpRegFlushCntl;
131 size_t memPitch;
154
155
156 /*
157 * @brief HIP Memory type (for pointer attributes)
158 * @enum
159 * @ingroup Enumerations
160 */
161typedef enum hipMemoryType {
171
175typedef struct hipPointerAttribute_t {
176 union {
177 // Deprecated, use instead type
178 enum hipMemoryType memoryType;
179 enum hipMemoryType type;
180 };
181 int device;
182 void* devicePointer;
183 void* hostPointer;
184 int isManaged;
185 unsigned allocationFlags; /* flags specified when memory was allocated*/
186 /* peers? */
188
189
190// hack to get these to show up in Doxygen:
197// Ignoring error-code return values from hip APIs is discouraged. On C++17,
198// we can make that yield a warning
199#if __cplusplus >= 201703L
200#define __HIP_NODISCARD [[nodiscard]]
201#else
202#define __HIP_NODISCARD
203#endif
204
205/*
206 * @brief hipError_t
207 * @enum
208 * @ingroup Enumerations
209 */
210// Developer note - when updating these, update the hipErrorName and hipErrorString functions in
211// NVCC and HCC paths Also update the hipCUDAErrorTohipError function in NVCC path.
212
213typedef enum __HIP_NODISCARD hipError_t {
217 hipErrorOutOfMemory = 2,
218 // Deprecated
220 hipErrorNotInitialized = 3,
221 // Deprecated
222 hipErrorInitializationError = 3,
223 hipErrorDeinitialized = 4,
224 hipErrorProfilerDisabled = 5,
225 hipErrorProfilerNotInitialized = 6,
226 hipErrorProfilerAlreadyStarted = 7,
227 hipErrorProfilerAlreadyStopped = 8,
228 hipErrorInvalidConfiguration = 9,
229 hipErrorInvalidPitchValue = 12,
230 hipErrorInvalidSymbol = 13,
233 hipErrorInsufficientDriver = 35,
234 hipErrorMissingConfiguration = 52,
235 hipErrorPriorLaunchFailure = 53,
236 hipErrorInvalidDeviceFunction = 98,
239 hipErrorInvalidImage = 200,
241 hipErrorContextAlreadyCurrent = 202,
242 hipErrorMapFailed = 205,
243 // Deprecated
245 hipErrorUnmapFailed = 206,
246 hipErrorArrayIsMapped = 207,
247 hipErrorAlreadyMapped = 208,
248 hipErrorNoBinaryForGpu = 209,
249 hipErrorAlreadyAcquired = 210,
250 hipErrorNotMapped = 211,
251 hipErrorNotMappedAsArray = 212,
252 hipErrorNotMappedAsPointer = 213,
253 hipErrorECCNotCorrectable = 214,
254 hipErrorUnsupportedLimit = 215,
255 hipErrorContextAlreadyInUse = 216,
256 hipErrorPeerAccessUnsupported = 217,
258 hipErrorInvalidGraphicsContext = 219,
259 hipErrorInvalidSource = 300,
260 hipErrorFileNotFound = 301,
261 hipErrorSharedObjectSymbolNotFound = 302,
262 hipErrorSharedObjectInitFailed = 303,
263 hipErrorOperatingSystem = 304,
264 hipErrorInvalidHandle = 400,
265 // Deprecated
268 hipErrorNotFound = 500,
273 hipErrorIllegalAddress = 700,
275 hipErrorLaunchTimeOut = 702,
277 704,
279 705,
280 hipErrorSetOnActiveProcess = 708,
281 hipErrorContextIsDestroyed = 709,
284 712,
286 713,
288 719,
290 720,
320 hipErrorUnknown = 999, //< Unknown error.
321 // HSA Runtime Error Codes start here.
326 hipErrorTbd
327} hipError_t;
328
329#undef __HIP_NODISCARD
330
331/*
332 * @brief hipDeviceAttribute_t
333 * @enum
334 * @ingroup Enumerations
335 */
337 hipDeviceAttributeCudaCompatibleBegin = 0,
338
339 hipDeviceAttributeEccEnabled = hipDeviceAttributeCudaCompatibleBegin,
435
436 hipDeviceAttributeCudaCompatibleEnd = 9999,
437 hipDeviceAttributeAmdSpecificBegin = 10000,
438
439 hipDeviceAttributeClockInstructionRate = hipDeviceAttributeAmdSpecificBegin,
463
464 hipDeviceAttributeAmdSpecificEnd = 19999,
465 hipDeviceAttributeVendorSpecificBegin = 20000,
466 // Extended attributes for vendors
468
469enum hipComputeMode {
470 hipComputeModeDefault = 0,
471 hipComputeModeExclusive = 1,
472 hipComputeModeProhibited = 2,
473 hipComputeModeExclusiveProcess = 3
474};
475
480#if (defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && !(defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
481
482#include <stdint.h>
483#include <stddef.h>
484#ifndef GENERIC_GRID_LAUNCH
485#define GENERIC_GRID_LAUNCH 1
486#endif
487#include <hip/amd_detail/host_defines.h>
488#include <hip/driver_types.h>
489#include <hip/texture_types.h>
490#include <hip/surface_types.h>
491#if defined(_MSC_VER)
492#define DEPRECATED(msg) __declspec(deprecated(msg))
493#else // !defined(_MSC_VER)
494#define DEPRECATED(msg) __attribute__ ((deprecated(msg)))
495#endif // !defined(_MSC_VER)
496#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"
497#define HIP_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
498#define HIP_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
499#define HIP_LAUNCH_PARAM_END ((void*)0x03)
500#ifdef __cplusplus
501 #define __dparm(x) \
502 = x
503#else
504 #define __dparm(x)
505#endif
506#ifdef __GNUC__
507#pragma GCC visibility push (default)
508#endif
509#ifdef __cplusplus
510namespace hip_impl {
511hipError_t hip_init();
512} // namespace hip_impl
513#endif
514// Structure definitions:
515#ifdef __cplusplus
516extern "C" {
517#endif
518//---
519// API-visible structures
520typedef struct ihipCtx_t* hipCtx_t;
521// Note many APIs also use integer deviceIds as an alternative to the device pointer:
522typedef int hipDevice_t;
523typedef enum hipDeviceP2PAttr {
524 hipDevP2PAttrPerformanceRank = 0,
525 hipDevP2PAttrAccessSupported,
526 hipDevP2PAttrNativeAtomicSupported,
527 hipDevP2PAttrHipArrayAccessSupported
528} hipDeviceP2PAttr;
529typedef struct ihipStream_t* hipStream_t;
530#define hipIpcMemLazyEnablePeerAccess 0
531#define HIP_IPC_HANDLE_SIZE 64
532typedef struct hipIpcMemHandle_st {
533 char reserved[HIP_IPC_HANDLE_SIZE];
535typedef struct hipIpcEventHandle_st {
536 char reserved[HIP_IPC_HANDLE_SIZE];
538typedef struct ihipModule_t* hipModule_t;
539typedef struct ihipModuleSymbol_t* hipFunction_t;
543typedef struct ihipMemPoolHandle_t* hipMemPool_t;
544
545typedef struct hipFuncAttributes {
546 int binaryVersion;
547 int cacheModeCA;
548 size_t constSizeBytes;
549 size_t localSizeBytes;
550 int maxDynamicSharedSizeBytes;
551 int maxThreadsPerBlock;
552 int numRegs;
553 int preferredShmemCarveout;
554 int ptxVersion;
555 size_t sharedSizeBytes;
557typedef struct ihipEvent_t* hipEvent_t;
558enum hipLimit_t {
559 hipLimitStackSize = 0x0, // limit device stack size
560 hipLimitPrintfFifoSize = 0x01, // limit printf fifo size
561 hipLimitMallocHeapSize = 0x02, // limit heap size
562 hipLimitRange // supported limit range
563};
568//Flags that can be used with hipStreamCreateWithFlags.
570#define hipStreamDefault 0x00
571
573#define hipStreamNonBlocking 0x01
574
575//Flags that can be used with hipEventCreateWithFlags.
577#define hipEventDefault 0x0
578
580#define hipEventBlockingSync 0x1
581
583#define hipEventDisableTiming 0x2
584
586#define hipEventInterprocess 0x4
587
596#define hipEventDisableSystemFence 0x20000000
597
600#define hipEventReleaseToDevice 0x40000000
601
604#define hipEventReleaseToSystem 0x80000000
605
606//Flags that can be used with hipHostMalloc.
608#define hipHostMallocDefault 0x0
609
611#define hipHostMallocPortable 0x1
612
615#define hipHostMallocMapped 0x2
616
620#define hipHostMallocWriteCombined 0x4
621
626#define hipHostMallocNumaUser 0x20000000
627
629#define hipHostMallocCoherent 0x40000000
630
632#define hipHostMallocNonCoherent 0x80000000
633
635#define hipMemAttachGlobal 0x01
636
638#define hipMemAttachHost 0x02
639
641#define hipMemAttachSingle 0x04
642
643#define hipDeviceMallocDefault 0x0
644
646#define hipDeviceMallocFinegrained 0x1
647
649#define hipMallocSignalMemory 0x2
650
652#define hipDeviceMallocUncached 0x3
653
654//Flags that can be used with hipHostRegister.
656#define hipHostRegisterDefault 0x0
657
659#define hipHostRegisterPortable 0x1
660
663#define hipHostRegisterMapped 0x2
664
666#define hipHostRegisterIoMemory 0x4
667
669#define hipHostRegisterReadOnly 0x08
670
672#define hipExtHostRegisterCoarseGrained 0x8
673
675#define hipDeviceScheduleAuto 0x0
676
679#define hipDeviceScheduleSpin 0x1
680
683#define hipDeviceScheduleYield 0x2
684#define hipDeviceScheduleBlockingSync 0x4
685#define hipDeviceScheduleMask 0x7
686#define hipDeviceMapHost 0x8
687#define hipDeviceLmemResizeToMax 0x10
689#define hipArrayDefault 0x00
690#define hipArrayLayered 0x01
691#define hipArraySurfaceLoadStore 0x02
692#define hipArrayCubemap 0x04
693#define hipArrayTextureGather 0x08
694#define hipOccupancyDefault 0x00
695#define hipOccupancyDisableCachingOverride 0x01
696#define hipCooperativeLaunchMultiDeviceNoPreSync 0x01
697#define hipCooperativeLaunchMultiDeviceNoPostSync 0x02
698#define hipCpuDeviceId ((int)-1)
699#define hipInvalidDeviceId ((int)-2)
700//Flags that can be used with hipExtLaunch Set of APIs.
702#define hipExtAnyOrderLaunch 0x01
703// Flags to be used with hipStreamWaitValue32 and hipStreamWaitValue64.
704#define hipStreamWaitValueGte 0x0
705#define hipStreamWaitValueEq 0x1
706#define hipStreamWaitValueAnd 0x2
707#define hipStreamWaitValueNor 0x3
708// Stream per thread
710#define hipStreamPerThread ((hipStream_t)2)
711
712// Indicates that the external memory object is a dedicated resource
713#define hipExternalMemoryDedicated 0x1
714/*
715 * @brief HIP Memory Advise values
716 * @enum
717 * @ingroup Enumerations
718 */
719typedef enum hipMemoryAdvise {
737/*
738 * @brief HIP Coherency Mode
739 * @enum
740 * @ingroup Enumerations
741 */
751/*
752 * @brief HIP range attributes
753 * @enum
754 * @ingroup Enumerations
755 */
767
773typedef enum hipMemPoolAttr
774{
834 typedef enum hipMemLocationType {
835 hipMemLocationTypeInvalid = 0,
843typedef struct hipMemLocation {
845 int id;
852typedef enum hipMemAccessFlags {
860typedef struct hipMemAccessDesc {
870 hipMemAllocationTypeInvalid = 0x0,
875 hipMemAllocationTypeMax = 0x7FFFFFFF
891typedef struct hipMemPoolProps {
899 unsigned char reserved[64];
905 unsigned char reserved[64];
907
908/*
909 * @brief hipJitOption
910 * @enum
911 * @ingroup Enumerations
912 */
913typedef enum hipJitOption {
914 hipJitOptionMaxRegisters = 0,
915 hipJitOptionThreadsPerBlock,
916 hipJitOptionWallTime,
917 hipJitOptionInfoLogBuffer,
918 hipJitOptionInfoLogBufferSizeBytes,
919 hipJitOptionErrorLogBuffer,
920 hipJitOptionErrorLogBufferSizeBytes,
921 hipJitOptionOptimizationLevel,
922 hipJitOptionTargetFromContext,
923 hipJitOptionTarget,
924 hipJitOptionFallbackStrategy,
925 hipJitOptionGenerateDebugInfo,
926 hipJitOptionLogVerbose,
927 hipJitOptionGenerateLineInfo,
928 hipJitOptionCacheMode,
929 hipJitOptionSm3xOpt,
930 hipJitOptionFastCompile,
931 hipJitOptionNumOptions
932} hipJitOption;
936typedef enum hipFuncAttribute {
937 hipFuncAttributeMaxDynamicSharedMemorySize = 8,
938 hipFuncAttributePreferredSharedMemoryCarveout = 9,
939 hipFuncAttributeMax
944typedef enum hipFuncCache_t {
953typedef enum hipSharedMemConfig {
964typedef struct dim3 {
965 uint32_t x;
966 uint32_t y;
967 uint32_t z;
968#ifdef __cplusplus
969 constexpr __host__ __device__ dim3(uint32_t _x = 1, uint32_t _y = 1, uint32_t _z = 1) : x(_x), y(_y), z(_z){};
970#endif
972typedef struct hipLaunchParams_t {
973 void* func;
976 void **args;
977 size_t sharedMem;
978 hipStream_t stream;
981 hipFunction_t function;
982 unsigned int gridDimX;
983 unsigned int gridDimY;
984 unsigned int gridDimZ;
985 unsigned int blockDimX;
986 unsigned int blockDimY;
987 unsigned int blockDimZ;
988 unsigned int sharedMemBytes;
989 hipStream_t hStream;
992typedef enum hipExternalMemoryHandleType_enum {
993 hipExternalMemoryHandleTypeOpaqueFd = 1,
994 hipExternalMemoryHandleTypeOpaqueWin32 = 2,
995 hipExternalMemoryHandleTypeOpaqueWin32Kmt = 3,
996 hipExternalMemoryHandleTypeD3D12Heap = 4,
997 hipExternalMemoryHandleTypeD3D12Resource = 5,
998 hipExternalMemoryHandleTypeD3D11Resource = 6,
999 hipExternalMemoryHandleTypeD3D11ResourceKmt = 7,
1000} hipExternalMemoryHandleType;
1002 hipExternalMemoryHandleType type;
1003 union {
1004 int fd;
1005 struct {
1006 void *handle;
1007 const void *name;
1008 } win32;
1009 } handle;
1010 unsigned long long size;
1011 unsigned int flags;
1014 unsigned long long offset;
1015 unsigned long long size;
1016 unsigned int flags;
1018typedef void* hipExternalMemory_t;
1019typedef enum hipExternalSemaphoreHandleType_enum {
1020 hipExternalSemaphoreHandleTypeOpaqueFd = 1,
1021 hipExternalSemaphoreHandleTypeOpaqueWin32 = 2,
1022 hipExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3,
1023 hipExternalSemaphoreHandleTypeD3D12Fence = 4
1024} hipExternalSemaphoreHandleType;
1026 hipExternalSemaphoreHandleType type;
1027 union {
1028 int fd;
1029 struct {
1030 void* handle;
1031 const void* name;
1032 } win32;
1033 } handle;
1034 unsigned int flags;
1036typedef void* hipExternalSemaphore_t;
1038 struct {
1039 struct {
1040 unsigned long long value;
1041 } fence;
1042 struct {
1043 unsigned long long key;
1044 } keyedMutex;
1045 unsigned int reserved[12];
1046 } params;
1047 unsigned int flags;
1048 unsigned int reserved[16];
1054 struct {
1055 struct {
1056 unsigned long long value;
1057 } fence;
1058 struct {
1059 unsigned long long key;
1060 unsigned int timeoutMs;
1061 } keyedMutex;
1062 unsigned int reserved[10];
1063 } params;
1064 unsigned int flags;
1065 unsigned int reserved[16];
1067
1068#if __HIP_HAS_GET_PCH
1074 void __hipGetPCH(const char** pch, unsigned int*size);
1075#endif
1076
1077/*
1078 * @brief HIP Devices used by current OpenGL Context.
1079 * @enum
1080 * @ingroup Enumerations
1081 */
1082typedef enum hipGLDeviceList {
1089
1090/*
1091 * @brief HIP Access falgs for Interop resources.
1092 * @enum
1093 * @ingroup Enumerations
1094 */
1096 hipGraphicsRegisterFlagsNone = 0,
1099 2,
1102 8
1104
1105typedef struct _hipGraphicsResource hipGraphicsResource;
1106
1107typedef hipGraphicsResource* hipGraphicsResource_t;
1108
1112typedef struct ihipGraph* hipGraph_t;
1116typedef struct hipGraphNode* hipGraphNode_t;
1120typedef struct hipGraphExec* hipGraphExec_t;
1121
1125typedef struct hipUserObject* hipUserObject_t;
1126
1127
1133typedef enum hipGraphNodeType {
1148 hipGraphNodeTypeCount
1150
1151typedef void (*hipHostFn_t)(void* userData);
1152typedef struct hipHostNodeParams {
1153 hipHostFn_t fn;
1154 void* userData;
1156typedef struct hipKernelNodeParams {
1157 dim3 blockDim;
1158 void** extra;
1159 void* func;
1160 dim3 gridDim;
1161 void** kernelParams;
1162 unsigned int sharedMemBytes;
1164typedef struct hipMemsetParams {
1165 void* dst;
1166 unsigned int elementSize;
1167 size_t height;
1168 size_t pitch;
1169 unsigned int value;
1170 size_t width;
1172
1179 size_t bytesize;
1180 void* dptr;
1182
1188typedef enum hipKernelNodeAttrID {
1189 hipKernelNodeAttributeAccessPolicyWindow = 1,
1190 hipKernelNodeAttributeCooperative = 2,
1191} hipKernelNodeAttrID;
1192typedef enum hipAccessProperty {
1193 hipAccessPropertyNormal = 0,
1194 hipAccessPropertyStreaming = 1,
1195 hipAccessPropertyPersisting = 2,
1196} hipAccessProperty;
1198 void* base_ptr;
1199 hipAccessProperty hitProp;
1200 float hitRatio;
1201 hipAccessProperty missProp;
1202 size_t num_bytes;
1205 hipAccessPolicyWindow accessPolicyWindow;
1206 int cooperative;
1208
1221 0x4,
1223 0x5,
1225 0x6,
1226 hipGraphExecUpdateErrorUnsupportedFunctionChange = 0x7
1228
1229typedef enum hipStreamCaptureMode {
1230 hipStreamCaptureModeGlobal = 0,
1231 hipStreamCaptureModeThreadLocal,
1232 hipStreamCaptureModeRelaxed
1233} hipStreamCaptureMode;
1240
1245
1255
1259
1262 1,
1264 2,
1266 4,
1268 8,
1270
1273 << 0,
1279 << 6,
1281 << 7,
1283 << 8,
1285 << 9,
1287 << 10
1292typedef struct hipMemAllocationProp {
1297 struct {
1298 unsigned char compressionType;
1299 unsigned char gpuDirectRDMACapable;
1300 unsigned short usage;
1301 } allocFlags;
1303
1307typedef struct ihipMemGenericAllocationHandle* hipMemGenericAllocationHandle_t;
1308
1318
1324typedef enum hipMemHandleType {
1327
1337
1347
1351typedef struct hipArrayMapInfo {
1352 hipResourceType resourceType;
1353 union {
1354 hipMipmappedArray mipmap;
1355 hipArray_t array;
1356 } resource;
1358 union {
1359 struct {
1360 unsigned int level;
1361 unsigned int layer;
1362 unsigned int offsetX;
1363 unsigned int offsetY;
1364 unsigned int offsetZ;
1365 unsigned int extentWidth;
1366 unsigned int extentHeight;
1367 unsigned int extentDepth;
1368 } sparseLevel;
1369 struct {
1370 unsigned int layer;
1371 unsigned long long offset;
1372 unsigned long long size;
1373 } miptail;
1374 } subresource;
1377 union {
1379 } memHandle;
1380 unsigned long long offset;
1381 unsigned int deviceBitMask;
1382 unsigned int flags;
1383 unsigned int reserved[2];
1385// Doxygen end group GlobalDefs
1387//-------------------------------------------------------------------------------------------------
1388// The handle allows the async commands to use the stream even if the parent hipStream_t goes
1389// out-of-scope.
1390// typedef class ihipStream_t * hipStream_t;
1391/*
1392 * Opaque structure allows the true event (pointed at by the handle) to remain "live" even if the
1393 * surrounding hipEvent_t goes out-of-scope. This is handy for cases where the hipEvent_t goes
1394 * out-of-scope but the true event is being written by some async queue or device */
1395// typedef struct hipEvent_t {
1396// struct ihipEvent_t *_handle;
1397//} hipEvent_t;
1416// TODO-ctx - more description on error codes.
1417hipError_t hipInit(unsigned int flags);
1433hipError_t hipDriverGetVersion(int* driverVersion);
1448hipError_t hipRuntimeGetVersion(int* runtimeVersion);
1456hipError_t hipDeviceGet(hipDevice_t* device, int ordinal);
1457
1466hipError_t hipDeviceComputeCapability(int* major, int* minor, hipDevice_t device);
1475hipError_t hipDeviceGetName(char* name, int len, hipDevice_t device);
1487hipError_t hipDeviceGetUuid(hipUUID* uuid, hipDevice_t device);
1497hipError_t hipDeviceGetP2PAttribute(int* value, hipDeviceP2PAttr attr,
1498 int srcDevice, int dstDevice);
1507hipError_t hipDeviceGetPCIBusId(char* pciBusId, int len, int device);
1515hipError_t hipDeviceGetByPCIBusId(int* device, const char* pciBusId);
1523hipError_t hipDeviceTotalMem(size_t* bytes, hipDevice_t device);
1524// doxygen end initialization
1543hipError_t hipDeviceSynchronize(void);
1555hipError_t hipDeviceReset(void);
1587hipError_t hipSetDevice(int deviceId);
1601hipError_t hipGetDevice(int* deviceId);
1614hipError_t hipGetDeviceCount(int* count);
1624hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t attr, int deviceId);
1639hipError_t hipDeviceGetDefaultMemPool(hipMemPool_t* mem_pool, int device);
1661hipError_t hipDeviceSetMemPool(int device, hipMemPool_t mem_pool);
1681hipError_t hipDeviceGetMemPool(hipMemPool_t* mem_pool, int device);
1695hipError_t hipGetDeviceProperties(hipDeviceProp_t* prop, int deviceId);
1730hipError_t hipDeviceGetLimit(size_t* pValue, enum hipLimit_t limit);
1743hipError_t hipDeviceSetLimit ( enum hipLimit_t limit, size_t value );
1763hipError_t hipGetDeviceFlags(unsigned int* flags);
1800hipError_t hipSetDeviceFlags(unsigned flags);
1809hipError_t hipChooseDevice(int* device, const hipDeviceProp_t* prop);
1822hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t* linktype, uint32_t* hopcount);
1823// TODO: implement IPC apis
1851hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t* handle, void* devPtr);
1890hipError_t hipIpcOpenMemHandle(void** devPtr, hipIpcMemHandle_t handle, unsigned int flags);
1911hipError_t hipIpcCloseMemHandle(void* devPtr);
1912
1929hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t* handle, hipEvent_t event);
1930
1948hipError_t hipIpcOpenEventHandle(hipEvent_t* event, hipIpcEventHandle_t handle);
1949
1950// end doxygen Device
1974hipError_t hipFuncSetAttribute(const void* func, hipFuncAttribute attr, int value);
1986hipError_t hipFuncSetCacheConfig(const void* func, hipFuncCache_t config);
1999hipError_t hipFuncSetSharedMemConfig(const void* func, hipSharedMemConfig config);
2000//doxygen end execution
2022hipError_t hipGetLastError(void);
2033hipError_t hipPeekAtLastError(void);
2042const char* hipGetErrorName(hipError_t hip_error);
2051const char* hipGetErrorString(hipError_t hipError);
2061hipError_t hipDrvGetErrorName(hipError_t hipError, const char** errorString);
2071hipError_t hipDrvGetErrorString(hipError_t hipError, const char** errorString);
2072// end doxygen Error
2102hipError_t hipStreamCreate(hipStream_t* stream);
2119hipError_t hipStreamCreateWithFlags(hipStream_t* stream, unsigned int flags);
2137hipError_t hipStreamCreateWithPriority(hipStream_t* stream, unsigned int flags, int priority);
2151hipError_t hipDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
2169hipError_t hipStreamDestroy(hipStream_t stream);
2185hipError_t hipStreamQuery(hipStream_t stream);
2205hipError_t hipStreamSynchronize(hipStream_t stream);
2225hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
2239hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int* flags);
2253hipError_t hipStreamGetPriority(hipStream_t stream, int* priority);
2264hipError_t hipStreamGetDevice(hipStream_t stream, hipDevice_t* device);
2284hipError_t hipExtStreamCreateWithCUMask(hipStream_t* stream, uint32_t cuMaskSize, const uint32_t* cuMask);
2297hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t* cuMask);
2301typedef void (*hipStreamCallback_t)(hipStream_t stream, hipError_t status, void* userData);
2317hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void* userData,
2318 unsigned int flags);
2319// end doxygen Stream
2362hipError_t hipStreamWaitValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags,
2363 uint32_t mask __dparm(0xFFFFFFFF));
2396hipError_t hipStreamWaitValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags,
2397 uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF));
2417hipError_t hipStreamWriteValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags);
2437hipError_t hipStreamWriteValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags);
2438// end doxygen Stream Memory Operations
2474hipError_t hipEventCreateWithFlags(hipEvent_t* event, unsigned flags);
2486hipError_t hipEventCreate(hipEvent_t* event);
2514#ifdef __cplusplus
2515hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
2516#else
2517hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream);
2518#endif
2535hipError_t hipEventDestroy(hipEvent_t event);
2553hipError_t hipEventSynchronize(hipEvent_t event);
2582hipError_t hipEventElapsedTime(float* ms, hipEvent_t start, hipEvent_t stop);
2598hipError_t hipEventQuery(hipEvent_t event);
2599// end doxygen Events
2630hipError_t hipPointerSetAttribute(const void* value, hipPointer_attribute attribute,
2631 hipDeviceptr_t ptr);
2632
2633
2647hipError_t hipPointerGetAttributes(hipPointerAttribute_t* attributes, const void* ptr);
2662hipError_t hipPointerGetAttribute(void* data, hipPointer_attribute attribute,
2663 hipDeviceptr_t ptr);
2680hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute* attributes,
2681 void** data, hipDeviceptr_t ptr);
2702hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t* extSem_out,
2703 const hipExternalSemaphoreHandleDesc* semHandleDesc);
2716hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t* extSemArray,
2717 const hipExternalSemaphoreSignalParams* paramsArray,
2718 unsigned int numExtSems, hipStream_t stream);
2731hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t* extSemArray,
2732 const hipExternalSemaphoreWaitParams* paramsArray,
2733 unsigned int numExtSems, hipStream_t stream);
2743hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem);
2744
2755hipError_t hipImportExternalMemory(hipExternalMemory_t* extMem_out, const hipExternalMemoryHandleDesc* memHandleDesc);
2767hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc);
2777hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem);
2778// end of external resource
2795hipError_t hipMalloc(void** ptr, size_t size);
2810hipError_t hipExtMallocWithFlags(void** ptr, size_t sizeBytes, unsigned int flags);
2823DEPRECATED("use hipHostMalloc instead")
2824hipError_t hipMallocHost(void** ptr, size_t size);
2837DEPRECATED("use hipHostMalloc instead")
2838hipError_t hipMemAllocHost(void** ptr, size_t size);
2870hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags);
2903hipError_t hipMallocManaged(void** dev_ptr,
2904 size_t size,
2905 unsigned int flags __dparm(hipMemAttachGlobal));
2918hipError_t hipMemPrefetchAsync(const void* dev_ptr,
2919 size_t count,
2920 int device,
2921 hipStream_t stream __dparm(0));
2934hipError_t hipMemAdvise(const void* dev_ptr,
2935 size_t count,
2936 hipMemoryAdvise advice,
2937 int device);
2952hipError_t hipMemRangeGetAttribute(void* data,
2953 size_t data_size,
2954 hipMemRangeAttribute attribute,
2955 const void* dev_ptr,
2956 size_t count);
2973hipError_t hipMemRangeGetAttributes(void** data,
2974 size_t* data_sizes,
2975 hipMemRangeAttribute* attributes,
2976 size_t num_attributes,
2977 const void* dev_ptr,
2978 size_t count);
2993hipError_t hipStreamAttachMemAsync(hipStream_t stream,
2994 void* dev_ptr,
2995 size_t length __dparm(0),
2996 unsigned int flags __dparm(hipMemAttachSingle));
2997// end doxygen Managed Memory
3057hipError_t hipMallocAsync(void** dev_ptr, size_t size, hipStream_t stream);
3082hipError_t hipFreeAsync(void* dev_ptr, hipStream_t stream);
3110hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold);
3149hipError_t hipMemPoolSetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void* value);
3188hipError_t hipMemPoolGetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void* value);
3206hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc* desc_list, size_t count);
3250hipError_t hipMemPoolCreate(hipMemPool_t* mem_pool, const hipMemPoolProps* pool_props);
3277hipError_t hipMemPoolDestroy(hipMemPool_t mem_pool);
3311hipError_t hipMallocFromPoolAsync(void** dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream);
3339 void* shared_handle,
3340 hipMemPool_t mem_pool,
3341 hipMemAllocationHandleType handle_type,
3342 unsigned int flags);
3367 hipMemPool_t* mem_pool,
3368 void* shared_handle,
3369 hipMemAllocationHandleType handle_type,
3370 unsigned int flags);
3390hipError_t hipMemPoolExportPointer(hipMemPoolPtrExportData* export_data, void* dev_ptr);
3420 void** dev_ptr,
3421 hipMemPool_t mem_pool,
3422 hipMemPoolPtrExportData* export_data);
3423// Doxygen end of ordered memory allocator
3441DEPRECATED("use hipHostMalloc instead")
3442hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags);
3454hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags);
3464hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr);
3501hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags);
3510hipError_t hipHostUnregister(void* hostPtr);
3529hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
3551hipError_t hipMemAllocPitch(hipDeviceptr_t* dptr, size_t* pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes);
3565hipError_t hipFree(void* ptr);
3575DEPRECATED("use hipHostFree instead")
3576hipError_t hipFreeHost(void* ptr);
3590hipError_t hipHostFree(void* ptr);
3620hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
3635hipError_t hipMemcpyWithStream(void* dst, const void* src, size_t sizeBytes,
3636 hipMemcpyKind kind, hipStream_t stream);
3654hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void* src, size_t sizeBytes);
3672hipError_t hipMemcpyDtoH(void* dst, hipDeviceptr_t src, size_t sizeBytes);
3690hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes);
3708hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void* src, size_t sizeBytes, hipStream_t stream);
3726hipError_t hipMemcpyDtoHAsync(void* dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
3744hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes,
3745 hipStream_t stream);
3746
3761hipError_t hipModuleGetGlobal(hipDeviceptr_t* dptr, size_t* bytes,
3762 hipModule_t hmod, const char* name);
3763
3773hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
3774
3784hipError_t hipGetSymbolSize(size_t* size, const void* symbol);
3785
3804hipError_t hipMemcpyToSymbol(const void* symbol, const void* src,
3805 size_t sizeBytes, size_t offset __dparm(0),
3806 hipMemcpyKind kind __dparm(hipMemcpyHostToDevice));
3807
3821hipError_t hipMemcpyToSymbolAsync(const void* symbol, const void* src,
3822 size_t sizeBytes, size_t offset,
3823 hipMemcpyKind kind, hipStream_t stream __dparm(0));
3824
3837hipError_t hipMemcpyFromSymbol(void* dst, const void* symbol,
3838 size_t sizeBytes, size_t offset __dparm(0),
3839 hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost));
3840
3854hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbol,
3855 size_t sizeBytes, size_t offset,
3856 hipMemcpyKind kind,
3857 hipStream_t stream __dparm(0));
3886hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind,
3887 hipStream_t stream __dparm(0));
3897hipError_t hipMemset(void* dst, int value, size_t sizeBytes);
3907hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count);
3923hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0));
3933hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count);
3949hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0));
3959hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count);
3975hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0));
3991hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count,
3992 hipStream_t stream __dparm(0));
4003hipError_t hipMemset2D(void* dst, size_t pitch, int value, size_t width, size_t height);
4015hipError_t hipMemset2DAsync(void* dst, size_t pitch, int value, size_t width, size_t height,hipStream_t stream __dparm(0));
4024hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent );
4034hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent ,hipStream_t stream __dparm(0));
4051hipError_t hipMemGetInfo(size_t* free, size_t* total);
4052
4064hipError_t hipMemPtrGetInfo(void* ptr, size_t* size);
4077hipError_t hipMallocArray(hipArray** array, const hipChannelFormatDesc* desc, size_t width,
4078 size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault));
4089hipError_t hipArrayCreate(hipArray** pHandle, const HIP_ARRAY_DESCRIPTOR* pAllocateArray);
4099hipError_t hipArrayDestroy(hipArray* array);
4110hipError_t hipArray3DCreate(hipArray** array, const HIP_ARRAY3D_DESCRIPTOR* pAllocateArray);
4121hipError_t hipMalloc3D(hipPitchedPtr* pitchedDevPtr, hipExtent extent);
4130hipError_t hipFreeArray(hipArray* array);
4150hipError_t hipMalloc3DArray(hipArray** array, const struct hipChannelFormatDesc* desc,
4151 struct hipExtent extent, unsigned int flags);
4164 hipMipmappedArray_t *mipmappedArray,
4165 const struct hipChannelFormatDesc* desc,
4166 struct hipExtent extent,
4167 unsigned int numLevels,
4168 unsigned int flags __dparm(0));
4179 hipArray_t *levelArray,
4180 hipMipmappedArray_const_t mipmappedArray,
4181 unsigned int level);
4194hipError_t hipArrayGetInfo(hipChannelFormatDesc* desc, hipExtent* extent, unsigned int* flags,
4195 hipArray* array);
4213hipError_t hipArrayGetDescriptor(HIP_ARRAY_DESCRIPTOR* pArrayDescriptor, hipArray* array);
4231hipError_t hipArray3DGetDescriptor(HIP_ARRAY3D_DESCRIPTOR* pArrayDescriptor, hipArray* array);
4248hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
4249 size_t height, hipMemcpyKind kind);
4259hipError_t hipMemcpyParam2D(const hip_Memcpy2D* pCopy);
4270hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D* pCopy, hipStream_t stream __dparm(0));
4288hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
4289 size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
4307hipError_t hipMemcpy2DToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
4308 size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
4327hipError_t hipMemcpy2DToArrayAsync(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
4328 size_t spitch, size_t width, size_t height, hipMemcpyKind kind,
4329 hipStream_t stream __dparm(0));
4347DEPRECATED(DEPRECATED_MSG)
4348hipError_t hipMemcpyToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
4349 size_t count, hipMemcpyKind kind);
4367DEPRECATED(DEPRECATED_MSG)
4368hipError_t hipMemcpyFromArray(void* dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset,
4369 size_t count, hipMemcpyKind kind);
4387hipError_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);
4406hipError_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));
4420hipError_t hipMemcpyAtoH(void* dst, hipArray* srcArray, size_t srcOffset, size_t count);
4434hipError_t hipMemcpyHtoA(hipArray* dstArray, size_t dstOffset, const void* srcHost, size_t count);
4445hipError_t hipMemcpy3D(const struct hipMemcpy3DParms* p);
4457hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms* p, hipStream_t stream __dparm(0));
4468hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D* pCopy);
4480hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D* pCopy, hipStream_t stream);
4481// doxygen end Memory
4509hipError_t hipDeviceCanAccessPeer(int* canAccessPeer, int deviceId, int peerDeviceId);
4526hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags);
4538hipError_t hipDeviceDisablePeerAccess(int peerDeviceId);
4551hipError_t hipMemGetAddressRange(hipDeviceptr_t* pbase, size_t* psize, hipDeviceptr_t dptr);
4552#ifndef USE_PEER_NON_UNIFIED
4553#define USE_PEER_NON_UNIFIED 1
4554#endif
4555#if USE_PEER_NON_UNIFIED == 1
4567hipError_t hipMemcpyPeer(void* dst, int dstDeviceId, const void* src, int srcDeviceId,
4568 size_t sizeBytes);
4581hipError_t hipMemcpyPeerAsync(void* dst, int dstDeviceId, const void* src, int srcDevice,
4582 size_t sizeBytes, hipStream_t stream __dparm(0));
4583#endif
4584// doxygen end PeerToPeer
4616DEPRECATED(DEPRECATED_MSG)
4617hipError_t hipCtxCreate(hipCtx_t* ctx, unsigned int flags, hipDevice_t device);
4630DEPRECATED(DEPRECATED_MSG)
4631hipError_t hipCtxDestroy(hipCtx_t ctx);
4644DEPRECATED(DEPRECATED_MSG)
4645hipError_t hipCtxPopCurrent(hipCtx_t* ctx);
4658DEPRECATED(DEPRECATED_MSG)
4659hipError_t hipCtxPushCurrent(hipCtx_t ctx);
4672DEPRECATED(DEPRECATED_MSG)
4673hipError_t hipCtxSetCurrent(hipCtx_t ctx);
4686DEPRECATED(DEPRECATED_MSG)
4687hipError_t hipCtxGetCurrent(hipCtx_t* ctx);
4700DEPRECATED(DEPRECATED_MSG)
4701hipError_t hipCtxGetDevice(hipDevice_t* device);
4721DEPRECATED(DEPRECATED_MSG)
4722hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int* apiVersion);
4738DEPRECATED(DEPRECATED_MSG)
4739hipError_t hipCtxGetCacheConfig(hipFuncCache_t* cacheConfig);
4755DEPRECATED(DEPRECATED_MSG)
4756hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig);
4772DEPRECATED(DEPRECATED_MSG)
4789DEPRECATED(DEPRECATED_MSG)
4804DEPRECATED(DEPRECATED_MSG)
4805hipError_t hipCtxSynchronize(void);
4818DEPRECATED(DEPRECATED_MSG)
4819hipError_t hipCtxGetFlags(unsigned int* flags);
4841DEPRECATED(DEPRECATED_MSG)
4842hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags);
4861DEPRECATED(DEPRECATED_MSG)
4862hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx);
4863// doxygen end Context deprecated
4879hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int* flags, int* active);
4892hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev);
4905hipError_t hipDevicePrimaryCtxRetain(hipCtx_t* pctx, hipDevice_t dev);
4916hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev);
4928hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags);
4929// doxygen end Context Management
4956hipError_t hipModuleLoad(hipModule_t* module, const char* fname);
4966hipError_t hipModuleUnload(hipModule_t module);
4977hipError_t hipModuleGetFunction(hipFunction_t* function, hipModule_t module, const char* kname);
4986hipError_t hipFuncGetAttributes(struct hipFuncAttributes* attr, const void* func);
4996hipError_t hipFuncGetAttribute(int* value, hipFunction_attribute attrib, hipFunction_t hfunc);
5006hipError_t hipModuleGetTexRef(textureReference** texRef, hipModule_t hmod, const char* name);
5016hipError_t hipModuleLoadData(hipModule_t* module, const void* image);
5029hipError_t hipModuleLoadDataEx(hipModule_t* module, const void* image, unsigned int numOptions,
5030 hipJitOption* options, void** optionValues);
5059hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY,
5060 unsigned int gridDimZ, unsigned int blockDimX,
5061 unsigned int blockDimY, unsigned int blockDimZ,
5062 unsigned int sharedMemBytes, hipStream_t stream,
5063 void** kernelParams, void** extra);
5089hipError_t hipModuleLaunchCooperativeKernel(hipFunction_t f, unsigned int gridDimX,
5090 unsigned int gridDimY, unsigned int gridDimZ,
5091 unsigned int blockDimX, unsigned int blockDimY,
5092 unsigned int blockDimZ, unsigned int sharedMemBytes,
5093 hipStream_t stream, void** kernelParams);
5109 unsigned int numDevices,
5110 unsigned int flags);
5129hipError_t hipLaunchCooperativeKernel(const void* f, dim3 gridDim, dim3 blockDimX,
5130 void** kernelParams, unsigned int sharedMemBytes,
5131 hipStream_t stream);
5143 int numDevices, unsigned int flags);
5156 int numDevices, unsigned int flags);
5157// doxygen end Module
5184//TODO - Match CUoccupancyB2DSize
5185hipError_t hipModuleOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
5186 hipFunction_t f, size_t dynSharedMemPerBlk,
5187 int blockSizeLimit);
5203//TODO - Match CUoccupancyB2DSize
5204hipError_t hipModuleOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
5205 hipFunction_t f, size_t dynSharedMemPerBlk,
5206 int blockSizeLimit, unsigned int flags);
5216 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk);
5227 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags);
5237 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk);
5248 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault));
5263hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
5264 const void* f, size_t dynSharedMemPerBlk,
5265 int blockSizeLimit);
5266// doxygen end Occupancy
5280// TODO - expand descriptions:
5286DEPRECATED("use roctracer/rocTX instead")
5287hipError_t hipProfilerStart();
5293DEPRECATED("use roctracer/rocTX instead")
5294hipError_t hipProfilerStop();
5295// doxygen end profiler
5322hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0));
5333hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
5342hipError_t hipLaunchByPtr(const void* func);
5360 dim3 blockDim,
5361 size_t sharedMem __dparm(0),
5362 hipStream_t stream __dparm(0));
5383 dim3 *blockDim,
5384 size_t *sharedMem,
5385 hipStream_t *stream);
5401hipError_t hipLaunchKernel(const void* function_address,
5402 dim3 numBlocks,
5403 dim3 dimBlocks,
5404 void** args,
5405 size_t sharedMemBytes __dparm(0),
5406 hipStream_t stream __dparm(0));
5407
5419hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void* userData);
5420
5428hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D* pCopy);
5429//TODO: Move this to hip_ext.h
5450hipError_t hipExtLaunchKernel(const void* function_address, dim3 numBlocks, dim3 dimBlocks,
5451 void** args, size_t sharedMemBytes, hipStream_t stream,
5452 hipEvent_t startEvent, hipEvent_t stopEvent, int flags);
5453// doxygen end Clang launch
5476 const textureReference* tex,
5477 hipMipmappedArray_const_t mipmappedArray,
5478 const hipChannelFormatDesc* desc);
5479
5495 hipTextureObject_t* pTexObject,
5496 const hipResourceDesc* pResDesc,
5497 const hipTextureDesc* pTexDesc,
5498 const struct hipResourceViewDesc* pResViewDesc);
5499
5508hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject);
5509
5521 hipArray_const_t array);
5522
5533 hipResourceDesc* pResDesc,
5534 hipTextureObject_t textureObject);
5535
5546 struct hipResourceViewDesc* pResViewDesc,
5547 hipTextureObject_t textureObject);
5548
5559 hipTextureDesc* pTexDesc,
5560 hipTextureObject_t textureObject);
5561
5574 hipTextureObject_t* pTexObject,
5575 const HIP_RESOURCE_DESC* pResDesc,
5576 const HIP_TEXTURE_DESC* pTexDesc,
5577 const HIP_RESOURCE_VIEW_DESC* pResViewDesc);
5578
5588 hipTextureObject_t texObject);
5589
5600 HIP_RESOURCE_DESC* pResDesc,
5601 hipTextureObject_t texObject);
5602
5613 HIP_RESOURCE_VIEW_DESC* pResViewDesc,
5614 hipTextureObject_t texObject);
5615
5626 HIP_TEXTURE_DESC* pTexDesc,
5627 hipTextureObject_t texObject);
5628
5646DEPRECATED(DEPRECATED_MSG)
5648 const textureReference** texref,
5649 const void* symbol);
5661DEPRECATED(DEPRECATED_MSG)
5663 textureReference* texRef,
5664 int dim,
5665 enum hipTextureAddressMode am);
5678DEPRECATED(DEPRECATED_MSG)
5680 textureReference* tex,
5681 hipArray_const_t array,
5682 unsigned int flags);
5694DEPRECATED(DEPRECATED_MSG)
5696 textureReference* texRef,
5697 enum hipTextureFilterMode fm);
5709DEPRECATED(DEPRECATED_MSG)
5711 textureReference* texRef,
5712 unsigned int Flags);
5725DEPRECATED(DEPRECATED_MSG)
5727 textureReference* texRef,
5728 hipArray_Format fmt,
5729 int NumPackedComponents);
5742DEPRECATED(DEPRECATED_MSG)
5744 size_t* offset,
5745 const textureReference* tex,
5746 const void* devPtr,
5747 const hipChannelFormatDesc* desc,
5748 size_t size __dparm(UINT_MAX));
5763DEPRECATED(DEPRECATED_MSG)
5765 size_t* offset,
5766 const textureReference* tex,
5767 const void* devPtr,
5768 const hipChannelFormatDesc* desc,
5769 size_t width,
5770 size_t height,
5771 size_t pitch);
5782DEPRECATED(DEPRECATED_MSG)
5784 const textureReference* tex,
5785 hipArray_const_t array,
5786 const hipChannelFormatDesc* desc);
5796DEPRECATED(DEPRECATED_MSG)
5798 size_t* offset,
5799 const textureReference* texref);
5808DEPRECATED(DEPRECATED_MSG)
5809hipError_t hipUnbindTexture(const textureReference* tex);
5819DEPRECATED(DEPRECATED_MSG)
5821 hipDeviceptr_t* dev_ptr,
5822 const textureReference* texRef);
5833DEPRECATED(DEPRECATED_MSG)
5835 enum hipTextureAddressMode* pam,
5836 const textureReference* texRef,
5837 int dim);
5847DEPRECATED(DEPRECATED_MSG)
5849 enum hipTextureFilterMode* pfm,
5850 const textureReference* texRef);
5860DEPRECATED(DEPRECATED_MSG)
5862 unsigned int* pFlags,
5863 const textureReference* texRef);
5874DEPRECATED(DEPRECATED_MSG)
5876 hipArray_Format* pFormat,
5877 int* pNumChannels,
5878 const textureReference* texRef);
5888DEPRECATED(DEPRECATED_MSG)
5890 int* pmaxAnsio,
5891 const textureReference* texRef);
5901DEPRECATED(DEPRECATED_MSG)
5903 enum hipTextureFilterMode* pfm,
5904 const textureReference* texRef);
5905DEPRECATED(DEPRECATED_MSG)
5916 float* pbias,
5917 const textureReference* texRef);
5928DEPRECATED(DEPRECATED_MSG)
5930 float* pminMipmapLevelClamp,
5931 float* pmaxMipmapLevelClamp,
5932 const textureReference* texRef);
5942DEPRECATED(DEPRECATED_MSG)
5944 hipMipmappedArray_t* pArray,
5945 const textureReference* texRef);
5957DEPRECATED(DEPRECATED_MSG)
5959 size_t* ByteOffset,
5960 textureReference* texRef,
5961 hipDeviceptr_t dptr,
5962 size_t bytes);
5974DEPRECATED(DEPRECATED_MSG)
5976 textureReference* texRef,
5977 const HIP_ARRAY_DESCRIPTOR* desc,
5978 hipDeviceptr_t dptr,
5979 size_t Pitch);
5989DEPRECATED(DEPRECATED_MSG)
5991 textureReference* texRef,
5992 unsigned int maxAniso);
6002DEPRECATED(DEPRECATED_MSG)
6004 textureReference* texRef,
6005 float* pBorderColor);
6015DEPRECATED(DEPRECATED_MSG)
6017 textureReference* texRef,
6018 enum hipTextureFilterMode fm);
6028DEPRECATED(DEPRECATED_MSG)
6030 textureReference* texRef,
6031 float bias);
6042DEPRECATED(DEPRECATED_MSG)
6044 textureReference* texRef,
6045 float minMipMapLevelClamp,
6046 float maxMipMapLevelClamp);
6057DEPRECATED(DEPRECATED_MSG)
6059 textureReference* texRef,
6060 struct hipMipmappedArray* mipmappedArray,
6061 unsigned int Flags);
6062
6063// doxygen end deprecated texture management
6079 hipMipmappedArray_t* pHandle,
6080 HIP_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc,
6081 unsigned int numMipmapLevels);
6102 hipArray_t* pLevelArray,
6103 hipMipmappedArray_t hMipMappedArray,
6104 unsigned int level);
6105
6106// doxygen end Texture management
6118// This group is for HIPrtc
6119
6120// doxygen end Runtime
6139const char* hipApiName(uint32_t id);
6148const char* hipKernelNameRef(const hipFunction_t f);
6158const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream);
6167int hipGetStreamDeviceId(hipStream_t stream);
6168
6169// doxygen end Callback
6194hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode);
6195
6208hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t* pGraph);
6209
6223hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus,
6224 unsigned long long* pId);
6225
6242hipError_t hipStreamGetCaptureInfo_v2(hipStream_t stream, hipStreamCaptureStatus* captureStatus_out,
6243 unsigned long long* id_out __dparm(0),
6244 hipGraph_t* graph_out __dparm(0),
6245 const hipGraphNode_t** dependencies_out __dparm(0),
6246 size_t* numDependencies_out __dparm(0));
6247
6260hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus);
6261
6274hipError_t hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t* dependencies,
6275 size_t numDependencies,
6276 unsigned int flags __dparm(0));
6277
6288hipError_t hipThreadExchangeStreamCaptureMode(hipStreamCaptureMode* mode);
6289
6302hipError_t hipGraphCreate(hipGraph_t* pGraph, unsigned int flags);
6303
6315hipError_t hipGraphDestroy(hipGraph_t graph);
6316
6331 const hipGraphNode_t* to, size_t numDependencies);
6332
6347 const hipGraphNode_t* to, size_t numDependencies);
6348
6367 size_t* numEdges);
6368
6385hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t* nodes, size_t* numNodes);
6386
6403hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t* pRootNodes,
6404 size_t* pNumRootNodes);
6405
6423 size_t* pNumDependencies);
6424
6443 size_t* pNumDependentNodes);
6444
6457
6469
6481hipError_t hipGraphClone(hipGraph_t* pGraphClone, hipGraph_t originalGraph);
6482
6496 hipGraph_t clonedGraph);
6497
6514hipError_t hipGraphInstantiate(hipGraphExec_t* pGraphExec, hipGraph_t graph,
6515 hipGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
6516
6530 unsigned long long flags);
6531
6542hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream);
6543
6554hipError_t hipGraphUpload(hipGraphExec_t graphExec, hipStream_t stream);
6555
6567
6568// Check whether an executable graph can be updated with a graph and perform the update if possible.
6582hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph,
6583 hipGraphNode_t* hErrorNode_out,
6584 hipGraphExecUpdateResult* updateResult_out);
6585
6599 const hipGraphNode_t* pDependencies, size_t numDependencies,
6600 const hipKernelNodeParams* pNodeParams);
6601
6612
6623
6635 const hipKernelNodeParams* pNodeParams);
6636
6650 const hipGraphNode_t* pDependencies, size_t numDependencies,
6651 const hipMemcpy3DParms* pCopyParams);
6662
6673
6684hipError_t hipGraphKernelNodeSetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr,
6685 const hipKernelNodeAttrValue* value);
6696hipError_t hipGraphKernelNodeGetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr,
6697 hipKernelNodeAttrValue* value);
6709 hipMemcpy3DParms* pNodeParams);
6710
6727 const hipGraphNode_t* pDependencies, size_t numDependencies,
6728 void* dst, const void* src, size_t count, hipMemcpyKind kind);
6729
6742hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void* dst, const void* src,
6743 size_t count, hipMemcpyKind kind);
6744
6760 void* dst, const void* src, size_t count,
6761 hipMemcpyKind kind);
6762
6780 const hipGraphNode_t* pDependencies,
6781 size_t numDependencies, void* dst, const void* symbol,
6782 size_t count, size_t offset, hipMemcpyKind kind);
6783
6797hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void* dst, const void* symbol,
6798 size_t count, size_t offset, hipMemcpyKind kind);
6799
6816 void* dst, const void* symbol, size_t count,
6817 size_t offset, hipMemcpyKind kind);
6818
6836 const hipGraphNode_t* pDependencies,
6837 size_t numDependencies, const void* symbol,
6838 const void* src, size_t count, size_t offset,
6839 hipMemcpyKind kind);
6840
6854hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void* symbol,
6855 const void* src, size_t count, size_t offset,
6856 hipMemcpyKind kind);
6857
6858
6874 const void* symbol, const void* src,
6875 size_t count, size_t offset, hipMemcpyKind kind);
6876
6890 const hipGraphNode_t* pDependencies, size_t numDependencies,
6891 const hipMemsetParams* pMemsetParams);
6892
6903
6914
6926 const hipMemsetParams* pNodeParams);
6927
6940hipError_t hipGraphAddHostNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
6941 const hipGraphNode_t* pDependencies, size_t numDependencies,
6942 const hipHostNodeParams* pNodeParams);
6943
6954
6965
6977 const hipHostNodeParams* pNodeParams);
6978
6992 const hipGraphNode_t* pDependencies, size_t numDependencies,
6993 hipGraph_t childGraph);
6994
7005
7017 hipGraph_t childGraph);
7018
7030hipError_t hipGraphAddEmptyNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
7031 const hipGraphNode_t* pDependencies, size_t numDependencies);
7032
7033
7047 const hipGraphNode_t* pDependencies, size_t numDependencies,
7048 hipEvent_t event);
7049
7059hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t* event_out);
7060
7070hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event);
7071
7083 hipEvent_t event);
7084
7098 const hipGraphNode_t* pDependencies, size_t numDependencies,
7099 hipEvent_t event);
7100
7101
7111hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t* event_out);
7112
7122hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event);
7123
7135 hipEvent_t event);
7136
7150 const hipGraphNode_t* pDependencies, size_t numDependencies, hipMemAllocNodeParams* pNodeParams);
7151
7162
7176 const hipGraphNode_t* pDependencies, size_t numDependencies, void* dev_ptr);
7177
7187hipError_t hipGraphMemFreeNodeGetParams(hipGraphNode_t node, void* dev_ptr);
7188
7199hipError_t hipDeviceGetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void* value);
7200
7211hipError_t hipDeviceSetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void* value);
7212
7220hipError_t hipDeviceGraphMemTrim(int device);
7221
7234hipError_t hipUserObjectCreate(hipUserObject_t* object_out, void* ptr, hipHostFn_t destroy,
7235 unsigned int initialRefcount, unsigned int flags);
7236
7246hipError_t hipUserObjectRelease(hipUserObject_t object, unsigned int count __dparm(1));
7247
7257hipError_t hipUserObjectRetain(hipUserObject_t object, unsigned int count __dparm(1));
7258
7271 unsigned int count __dparm(1), unsigned int flags __dparm(0));
7272
7284 unsigned int count __dparm(1));
7285
7296hipError_t hipGraphDebugDotPrint(hipGraph_t graph, const char* path, unsigned int flags);
7297
7313
7337 unsigned int isEnabled);
7359 unsigned int* isEnabled);
7360
7361// doxygen end graph API
7389hipError_t hipMemAddressFree(void* devPtr, size_t size);
7390
7405hipError_t hipMemAddressReserve(void** ptr, size_t size, size_t alignment, void* addr, unsigned long long flags);
7406
7420hipError_t hipMemCreate(hipMemGenericAllocationHandle_t* handle, size_t size, const hipMemAllocationProp* prop, unsigned long long flags);
7421
7435hipError_t hipMemExportToShareableHandle(void* shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags);
7436
7449hipError_t hipMemGetAccess(unsigned long long* flags, const hipMemLocation* location, void* ptr);
7450
7465
7478
7492
7507hipError_t hipMemMap(void* ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags);
7508
7521hipError_t hipMemMapArrayAsync(hipArrayMapInfo* mapInfoList, unsigned int count, hipStream_t stream);
7522
7534
7547
7561hipError_t hipMemSetAccess(void* ptr, size_t size, const hipMemAccessDesc* desc, size_t count);
7562
7574hipError_t hipMemUnmap(void* ptr, size_t size);
7575
7576// doxygen end virtual memory management API
7589typedef unsigned int GLuint;
7591typedef unsigned int GLenum;
7592
7606hipError_t hipGLGetDevices(unsigned int* pHipDeviceCount, int* pHipDevices,
7607 unsigned int hipDeviceCount, hipGLDeviceList deviceList);
7618hipError_t hipGraphicsGLRegisterBuffer(hipGraphicsResource** resource, GLuint buffer,
7619 unsigned int flags);
7631hipError_t hipGraphicsGLRegisterImage(hipGraphicsResource** resource, GLuint image,
7632 GLenum target, unsigned int flags);
7643hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t* resources,
7644 hipStream_t stream __dparm(0) );
7656hipError_t hipGraphicsSubResourceGetMappedArray(hipArray_t* array, hipGraphicsResource_t resource,
7657 unsigned int arrayIndex, unsigned int mipLevel);
7668hipError_t hipGraphicsResourceGetMappedPointer(void** devPtr, size_t* size,
7669 hipGraphicsResource_t resource);
7680hipError_t hipGraphicsUnmapResources(int count, hipGraphicsResource_t* resources,
7681 hipStream_t stream __dparm(0));
7690hipError_t hipGraphicsUnregisterResource(hipGraphicsResource_t resource);
7691// doxygen end GL Interop
7697#ifdef __cplusplus
7698} /* extern "c" */
7699#endif
7700#ifdef __cplusplus
7701#if defined(__clang__) && defined(__HIP__)
7702template <typename T>
7703static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
7704 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0) {
7705 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
7706}
7707template <typename T>
7708static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
7709 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0, unsigned int flags = 0 ) {
7710 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
7711}
7712#endif // defined(__clang__) && defined(__HIP__)
7713
7723template <typename T>
7724hipError_t hipGetSymbolAddress(void** devPtr, const T &symbol) {
7725 return ::hipGetSymbolAddress(devPtr, (const void *)&symbol);
7726}
7737template <typename T>
7738hipError_t hipGetSymbolSize(size_t* size, const T &symbol) {
7739 return ::hipGetSymbolSize(size, (const void *)&symbol);
7740}
7741
7750template <typename T>
7751hipError_t hipMemcpyToSymbol(const T& symbol, const void* src, size_t sizeBytes,
7752 size_t offset __dparm(0),
7753 hipMemcpyKind kind __dparm(hipMemcpyHostToDevice)) {
7754 return ::hipMemcpyToSymbol((const void*)&symbol, src, sizeBytes, offset, kind);
7755}
7764template <typename T>
7765hipError_t hipMemcpyToSymbolAsync(const T& symbol, const void* src, size_t sizeBytes, size_t offset,
7766 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
7767 return ::hipMemcpyToSymbolAsync((const void*)&symbol, src, sizeBytes, offset, kind, stream);
7768}
7776template <typename T>
7777hipError_t hipMemcpyFromSymbol(void* dst, const T &symbol,
7778 size_t sizeBytes, size_t offset __dparm(0),
7779 hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost)) {
7780 return ::hipMemcpyFromSymbol(dst, (const void*)&symbol, sizeBytes, offset, kind);
7781}
7789template <typename T>
7790hipError_t hipMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t sizeBytes, size_t offset,
7791 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
7792 return ::hipMemcpyFromSymbolAsync(dst, (const void*)&symbol, sizeBytes, offset, kind, stream);
7793}
7794
7806template <class T>
7808 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk) {
7810 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk);
7811}
7825template <class T>
7827 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags) {
7829 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk, flags);
7830}
7851template<typename UnaryFunction, class T>
7852static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(
7853 int* min_grid_size,
7854 int* block_size,
7855 T func,
7856 UnaryFunction block_size_to_dynamic_smem_size,
7857 int block_size_limit = 0,
7858 unsigned int flags = 0) {
7859 if (min_grid_size == nullptr || block_size == nullptr ||
7860 reinterpret_cast<const void*>(func) == nullptr) {
7861 return hipErrorInvalidValue;
7862 }
7863
7864 int dev;
7865 hipError_t status;
7866 if ((status = hipGetDevice(&dev)) != hipSuccess) {
7867 return status;
7868 }
7869
7870 int max_threads_per_cu;
7871 if ((status = hipDeviceGetAttribute(&max_threads_per_cu,
7873 return status;
7874 }
7875
7876 int warp_size;
7877 if ((status = hipDeviceGetAttribute(&warp_size,
7879 return status;
7880 }
7881
7882 int max_cu_count;
7883 if ((status = hipDeviceGetAttribute(&max_cu_count,
7885 return status;
7886 }
7887
7888 struct hipFuncAttributes attr;
7889 if ((status = hipFuncGetAttributes(&attr, reinterpret_cast<const void*>(func))) != hipSuccess) {
7890 return status;
7891 }
7892
7893 // Initial limits for the execution
7894 const int func_max_threads_per_block = attr.maxThreadsPerBlock;
7895 if (block_size_limit == 0) {
7896 block_size_limit = func_max_threads_per_block;
7897 }
7898
7899 if (func_max_threads_per_block < block_size_limit) {
7900 block_size_limit = func_max_threads_per_block;
7901 }
7902
7903 const int block_size_limit_aligned =
7904 ((block_size_limit + (warp_size - 1)) / warp_size) * warp_size;
7905
7906 // For maximum search
7907 int max_threads = 0;
7908 int max_block_size{};
7909 int max_num_blocks{};
7910 for (int block_size_check_aligned = block_size_limit_aligned;
7911 block_size_check_aligned > 0;
7912 block_size_check_aligned -= warp_size) {
7913 // Make sure the logic uses the requested limit and not aligned
7914 int block_size_check = (block_size_limit < block_size_check_aligned) ?
7915 block_size_limit : block_size_check_aligned;
7916
7917 size_t dyn_smem_size = block_size_to_dynamic_smem_size(block_size_check);
7918 int optimal_blocks;
7920 &optimal_blocks, func, block_size_check, dyn_smem_size, flags)) != hipSuccess) {
7921 return status;
7922 }
7923
7924 int total_threads = block_size_check * optimal_blocks;
7925 if (total_threads > max_threads) {
7926 max_block_size = block_size_check;
7927 max_num_blocks = optimal_blocks;
7928 max_threads = total_threads;
7929 }
7930
7931 // Break if the logic reached possible maximum
7932 if (max_threads_per_cu == max_threads) {
7933 break;
7934 }
7935 }
7936
7937 // Grid size is the number of blocks per CU * CU count
7938 *min_grid_size = max_num_blocks * max_cu_count;
7939 *block_size = max_block_size;
7940
7941 return status;
7942}
7943
7963template<typename UnaryFunction, class T>
7964static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeVariableSMem(
7965 int* min_grid_size,
7966 int* block_size,
7967 T func,
7968 UnaryFunction block_size_to_dynamic_smem_size,
7969 int block_size_limit = 0)
7970{
7971 return hipOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(min_grid_size, block_size, func,
7972 block_size_to_dynamic_smem_size, block_size_limit);
7973}
7988template <typename F>
7989inline hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
7990 F kernel, size_t dynSharedMemPerBlk, uint32_t blockSizeLimit) {
7991return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize,(hipFunction_t)kernel, dynSharedMemPerBlk, blockSizeLimit);
7992}
8009template <class T>
8010inline hipError_t hipLaunchCooperativeKernel(T f, dim3 gridDim, dim3 blockDim,
8011 void** kernelParams, unsigned int sharedMemBytes, hipStream_t stream) {
8012 return hipLaunchCooperativeKernel(reinterpret_cast<const void*>(f), gridDim,
8013 blockDim, kernelParams, sharedMemBytes, stream);
8014}
8029template <class T>
8030inline hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams* launchParamsList,
8031 unsigned int numDevices, unsigned int flags = 0) {
8032 return hipLaunchCooperativeKernelMultiDevice(launchParamsList, numDevices, flags);
8033}
8048template <class T>
8049inline hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams* launchParamsList,
8050 unsigned int numDevices, unsigned int flags = 0) {
8051 return hipExtLaunchMultiKernelMultiDevice(launchParamsList, numDevices, flags);
8052}
8053
8075hipError_t hipCreateSurfaceObject(hipSurfaceObject_t* pSurfObject, const hipResourceDesc* pResDesc);
8083hipError_t hipDestroySurfaceObject(hipSurfaceObject_t surfaceObject);
8084// end of surface
8100template <class T, int dim, enum hipTextureReadMode readMode>
8101DEPRECATED(DEPRECATED_MSG)
8102static inline hipError_t hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex,
8103 const void* devPtr, size_t size = UINT_MAX) {
8104 return hipBindTexture(offset, &tex, devPtr, &tex.channelDesc, size);
8105}
8118template <class T, int dim, enum hipTextureReadMode readMode>
8119DEPRECATED(DEPRECATED_MSG)
8120static inline hipError_t
8121 hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex, const void* devPtr,
8122 const struct hipChannelFormatDesc& desc, size_t size = UINT_MAX) {
8123 return hipBindTexture(offset, &tex, devPtr, &desc, size);
8124}
8138template<class T, int dim, enum hipTextureReadMode readMode>
8139DEPRECATED(DEPRECATED_MSG)
8140static inline hipError_t hipBindTexture2D(
8141 size_t *offset,
8142 const struct texture<T, dim, readMode> &tex,
8143 const void *devPtr,
8144 size_t width,
8145 size_t height,
8146 size_t pitch)
8147{
8148 return hipBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch);
8149}
8164template<class T, int dim, enum hipTextureReadMode readMode>
8165DEPRECATED(DEPRECATED_MSG)
8166static inline hipError_t hipBindTexture2D(
8167 size_t *offset,
8168 const struct texture<T, dim, readMode> &tex,
8169 const void *devPtr,
8170 const struct hipChannelFormatDesc &desc,
8171 size_t width,
8172 size_t height,
8173 size_t pitch)
8174{
8175 return hipBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch);
8176}
8186template<class T, int dim, enum hipTextureReadMode readMode>
8187DEPRECATED(DEPRECATED_MSG)
8188static inline hipError_t hipBindTextureToArray(
8189 const struct texture<T, dim, readMode> &tex,
8190 hipArray_const_t array)
8191{
8192 struct hipChannelFormatDesc desc;
8193 hipError_t err = hipGetChannelDesc(&desc, array);
8194 return (err == hipSuccess) ? hipBindTextureToArray(&tex, array, &desc) : err;
8195}
8206template<class T, int dim, enum hipTextureReadMode readMode>
8207DEPRECATED(DEPRECATED_MSG)
8208static inline hipError_t hipBindTextureToArray(
8209 const struct texture<T, dim, readMode> &tex,
8210 hipArray_const_t array,
8211 const struct hipChannelFormatDesc &desc)
8212{
8213 return hipBindTextureToArray(&tex, array, &desc);
8214}
8222template<class T, int dim, enum hipTextureReadMode readMode>
8223static inline hipError_t hipBindTextureToMipmappedArray(
8224 const struct texture<T, dim, readMode> &tex,
8225 hipMipmappedArray_const_t mipmappedArray)
8226{
8227 struct hipChannelFormatDesc desc;
8228 hipArray_t levelArray;
8229 hipError_t err = hipGetMipmappedArrayLevel(&levelArray, mipmappedArray, 0);
8230 if (err != hipSuccess) {
8231 return err;
8232 }
8233 err = hipGetChannelDesc(&desc, levelArray);
8234 return (err == hipSuccess) ? hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc) : err;
8235}
8244template<class T, int dim, enum hipTextureReadMode readMode>
8245static inline hipError_t hipBindTextureToMipmappedArray(
8246 const struct texture<T, dim, readMode> &tex,
8247 hipMipmappedArray_const_t mipmappedArray,
8248 const struct hipChannelFormatDesc &desc)
8249{
8250 return hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc);
8251}
8260template<class T, int dim, enum hipTextureReadMode readMode>
8261DEPRECATED(DEPRECATED_MSG)
8262static inline hipError_t hipUnbindTexture(
8263 const struct texture<T, dim, readMode> &tex)
8264{
8265 return hipUnbindTexture(&tex);
8266}
8290static inline hipError_t hipMallocAsync(
8291 void** dev_ptr,
8292 size_t size,
8293 hipMemPool_t mem_pool,
8294 hipStream_t stream) {
8295 return hipMallocFromPoolAsync(dev_ptr, size, mem_pool, stream);
8296}
8307template<class T>
8308static inline hipError_t hipMallocAsync(
8309 T** dev_ptr,
8310 size_t size,
8311 hipMemPool_t mem_pool,
8312 hipStream_t stream) {
8313 return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
8314}
8325template<class T>
8326static inline hipError_t hipMallocAsync(
8327 T** dev_ptr,
8328 size_t size,
8329 hipStream_t stream) {
8330 return hipMallocAsync(reinterpret_cast<void**>(dev_ptr), size, stream);
8331}
8342template<class T>
8343static inline hipError_t hipMallocFromPoolAsync(
8344 T** dev_ptr,
8345 size_t size,
8346 hipMemPool_t mem_pool,
8347 hipStream_t stream) {
8348 return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
8349}
8353#endif // __cplusplus
8354
8355#ifdef __GNUC__
8356#pragma GCC visibility pop
8357#endif
8358
8359
8360#elif !(defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && (defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
8361#include "hip/nvidia_detail/nvidia_hip_runtime_api.h"
8362#else
8363#error("Must define exactly one of __HIP_PLATFORM_AMD__ or __HIP_PLATFORM_NVIDIA__");
8364#endif
8365
8366
8378#if defined(__cplusplus) && !defined(__HIP_DISABLE_CPP_FUNCTIONS__)
8379template <class T>
8380static inline hipError_t hipMalloc(T** devPtr, size_t size) {
8381 return hipMalloc((void**)devPtr, size);
8382}
8395template <class T>
8396static inline hipError_t hipHostMalloc(T** ptr, size_t size,
8397 unsigned int flags = hipHostMallocDefault) {
8398 return hipHostMalloc((void**)ptr, size, flags);
8399}
8414template <class T>
8415static inline hipError_t hipMallocManaged(T** devPtr, size_t size,
8416 unsigned int flags = hipMemAttachGlobal) {
8417 return hipMallocManaged((void**)devPtr, size, flags);
8418}
8419
8420#endif
8421#endif
8422// doxygen end HIP API
8426#include <hip/amd_detail/amd_hip_runtime_pt_api.h>
8427
8428#if USE_PROF_API
8429#include <hip/amd_detail/hip_prof_str.h>
8430#endif
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. [Deprecated].
hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration. [Deprecated].
hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
Get the handle of the current/ default context. [Deprecated].
hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition. [Deprecated].
hipError_t hipCtxSetCurrent(hipCtx_t ctx)
Set the passed context as current/default. [Deprecated].
hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
Enables direct access to memory allocations in a peer context. [Deprecated].
hipError_t hipCtxGetDevice(hipDevice_t *device)
Get the handle of the device associated with current/default context. [Deprecated].
hipError_t hipCtxDestroy(hipCtx_t ctx)
Destroy a HIP context. [Deprecated].
hipError_t hipCtxPushCurrent(hipCtx_t ctx)
Push the context to be set as current/ default context. [Deprecated].
hipError_t hipCtxGetCacheConfig(hipFuncCache_t *cacheConfig)
Get Cache configuration for a specific function. [Deprecated].
hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
Create a context and set it as current/default context [Deprecated].
hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion)
Returns the approximate HIP api version. [Deprecated].
hipError_t hipCtxSynchronize(void)
Blocks until the default context has completed all preceding requested tasks. [Deprecated].
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 hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId)
Returns device properties.
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 The funtion querys the size of limit value,...
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 As the input enum limit, hipLimitStackSize sets the limit valu...
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 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 hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc)
Maps a buffer onto an imported memory object.
hipError_t hipGLGetDevices(unsigned int *pHipDeviceCount, int *pHipDevices, unsigned int hipDeviceCount, hipGLDeviceList deviceList)
Queries devices associated with the current OpenGL context.
hipError_t hipGraphicsGLRegisterImage(hipGraphicsResource **resource, GLuint image, GLenum target, unsigned int flags)
Register a GL Image for interop and returns the corresponding graphic resource.
hipError_t hipGraphicsUnregisterResource(hipGraphicsResource_t resource)
Unregisters a graphics resource.
hipError_t hipGraphicsGLRegisterBuffer(hipGraphicsResource **resource, GLuint buffer, unsigned int flags)
Registers a GL Buffer for interop and returns corresponding graphics resource.
hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream __dparm(0))
Maps a graphics resource for access.
unsigned int GLenum
Definition hip_runtime_api.h:7591
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.
unsigned int GLuint
Definition hip_runtime_api.h:7589
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.
hipMemAllocationHandleType
Definition hip_runtime_api.h:882
hipGLDeviceList
Definition hip_runtime_api.h:1082
hipMemRangeAttribute
Definition hip_runtime_api.h:756
#define hipMemAttachSingle
Definition hip_runtime_api.h:641
hipMemoryAdvise
Definition hip_runtime_api.h:719
#define hipArrayDefault
Definition hip_runtime_api.h:689
hipSharedMemConfig
Definition hip_runtime_api.h:953
hipGraphNodeType
Definition hip_runtime_api.h:1133
#define hipMemAttachGlobal
Definition hip_runtime_api.h:635
hipFuncAttribute
Definition hip_runtime_api.h:936
hipGraphDebugDotFlags
Definition hip_runtime_api.h:1271
hipUserObjectRetainFlags
Definition hip_runtime_api.h:1256
hipStreamUpdateCaptureDependenciesFlags
Definition hip_runtime_api.h:1241
struct ihipGraph * hipGraph_t
Definition hip_runtime_api.h:1112
hipMemHandleType
Definition hip_runtime_api.h:1324
hipFuncCache_t
Definition hip_runtime_api.h:944
hipUserObjectFlags
Definition hip_runtime_api.h:1252
hipGraphMemAttributeType
Definition hip_runtime_api.h:1246
struct hipExternalSemaphoreWaitParams_st hipExternalSemaphoreWaitParams
hipMemPoolAttr
Definition hip_runtime_api.h:774
struct hipUserObject * hipUserObject_t
Definition hip_runtime_api.h:1125
hipMemOperationType
Definition hip_runtime_api.h:1333
hipGraphicsRegisterFlags
Definition hip_runtime_api.h:1095
hipMemRangeCoherencyMode
Definition hip_runtime_api.h:742
hipMemAccessFlags
Definition hip_runtime_api.h:852
hipMemAllocationGranularity_flags
Definition hip_runtime_api.h:1314
struct hipGraphExec * hipGraphExec_t
Definition hip_runtime_api.h:1120
hipGraphExecUpdateResult
Definition hip_runtime_api.h:1214
hipStreamCaptureStatus
Definition hip_runtime_api.h:1234
hipDeviceAttribute_t
Definition hip_runtime_api.h:336
#define hipHostMallocDefault
Definition hip_runtime_api.h:608
hipMemAllocationType
Definition hip_runtime_api.h:869
struct hipGraphNode * hipGraphNode_t
Definition hip_runtime_api.h:1116
struct ihipMemGenericAllocationHandle * hipMemGenericAllocationHandle_t
Definition hip_runtime_api.h:1307
hipGraphInstantiateFlags
Definition hip_runtime_api.h:1260
hipMemLocationType
Definition hip_runtime_api.h:834
hipArraySparseSubresourceType
Definition hip_runtime_api.h:1343
@ hipMemHandleTypeWin32
Allows a Win32 NT handle for exporting. (HANDLE)
Definition hip_runtime_api.h:885
@ hipMemHandleTypeWin32Kmt
Allows a Win32 KMT handle for exporting. (D3DKMT_HANDLE)
Definition hip_runtime_api.h:886
@ hipMemHandleTypeNone
Does not allow any export mechanism.
Definition hip_runtime_api.h:883
@ hipMemHandleTypePosixFileDescriptor
Allows a file descriptor for exporting. Permitted only on POSIX systems.
Definition hip_runtime_api.h:884
@ hipGLDeviceListNextFrame
frame.
Definition hip_runtime_api.h:1086
@ hipGLDeviceListAll
All hip devices used by current OpenGL context.
Definition hip_runtime_api.h:1083
@ hipGLDeviceListCurrentFrame
frame
Definition hip_runtime_api.h:1084
@ hipMemRangeAttributeLastPrefetchLocation
prefetched
Definition hip_runtime_api.h:762
@ hipMemRangeAttributePreferredLocation
The preferred location of the range.
Definition hip_runtime_api.h:759
@ hipMemRangeAttributeAccessedBy
Definition hip_runtime_api.h:760
@ hipMemRangeAttributeReadMostly
Definition hip_runtime_api.h:757
@ hipMemRangeAttributeCoherencyMode
Definition hip_runtime_api.h:764
@ hipMemAdviseUnsetAccessedBy
Definition hip_runtime_api.h:728
@ hipMemAdviseUnsetCoarseGrain
Restores cache coherency policy back to fine-grain.
Definition hip_runtime_api.h:735
@ hipMemAdviseSetCoarseGrain
Definition hip_runtime_api.h:730
@ hipMemAdviseUnsetPreferredLocation
Clear the preferred location for the data.
Definition hip_runtime_api.h:725
@ hipMemAdviseSetAccessedBy
Definition hip_runtime_api.h:726
@ hipMemAdviseSetPreferredLocation
Definition hip_runtime_api.h:723
@ hipMemAdviseSetReadMostly
Definition hip_runtime_api.h:720
@ hipMemAdviseUnsetReadMostly
Undo the effect of hipMemAdviseSetReadMostly.
Definition hip_runtime_api.h:722
@ hipSharedMemBankSizeFourByte
Definition hip_runtime_api.h:955
@ hipSharedMemBankSizeEightByte
Definition hip_runtime_api.h:957
@ hipSharedMemBankSizeDefault
The compiler selects a device-specific value for the banking.
Definition hip_runtime_api.h:954
@ hipGraphNodeTypeGraph
Node which executes an embedded graph.
Definition hip_runtime_api.h:1138
@ hipGraphNodeTypeMemset
Memset node.
Definition hip_runtime_api.h:1136
@ hipGraphNodeTypeEventRecord
External event record node.
Definition hip_runtime_api.h:1141
@ hipGraphNodeTypeExtSemaphoreSignal
External Semaphore signal node.
Definition hip_runtime_api.h:1142
@ hipGraphNodeTypeMemcpy
Memcpy node.
Definition hip_runtime_api.h:1135
@ hipGraphNodeTypeWaitEvent
External event wait node.
Definition hip_runtime_api.h:1140
@ hipGraphNodeTypeKernel
GPU kernel node.
Definition hip_runtime_api.h:1134
@ hipGraphNodeTypeHost
Host (executable) node.
Definition hip_runtime_api.h:1137
@ hipGraphNodeTypeMemAlloc
Memory alloc node.
Definition hip_runtime_api.h:1144
@ hipGraphNodeTypeMemFree
Memory free node.
Definition hip_runtime_api.h:1145
@ hipGraphNodeTypeMemcpyFromSymbol
MemcpyFromSymbol node.
Definition hip_runtime_api.h:1146
@ hipGraphNodeTypeMemcpyToSymbol
MemcpyToSymbol node.
Definition hip_runtime_api.h:1147
@ hipGraphNodeTypeEmpty
Empty (no-op) node.
Definition hip_runtime_api.h:1139
@ hipGraphNodeTypeExtSemaphoreWait
External Semaphore wait node.
Definition hip_runtime_api.h:1143
@ hipGraphDebugDotFlagsKernelNodeAttributes
Definition hip_runtime_api.h:1284
@ hipGraphDebugDotFlagsMemsetNodeParams
Definition hip_runtime_api.h:1276
@ hipGraphDebugDotFlagsKernelNodeParams
Definition hip_runtime_api.h:1274
@ hipGraphDebugDotFlagsExtSemasWaitNodeParams
Definition hip_runtime_api.h:1282
@ hipGraphDebugDotFlagsHandles
Definition hip_runtime_api.h:1286
@ hipGraphDebugDotFlagsExtSemasSignalNodeParams
Definition hip_runtime_api.h:1280
@ hipGraphDebugDotFlagsHostNodeParams
Definition hip_runtime_api.h:1277
@ hipGraphDebugDotFlagsEventNodeParams
Definition hip_runtime_api.h:1278
@ hipGraphDebugDotFlagsVerbose
Definition hip_runtime_api.h:1272
@ hipGraphDebugDotFlagsMemcpyNodeParams
Definition hip_runtime_api.h:1275
@ hipGraphUserObjectMove
Add new reference or retain.
Definition hip_runtime_api.h:1257
@ hipStreamAddCaptureDependencies
Add new nodes to the dependency set.
Definition hip_runtime_api.h:1242
@ hipStreamSetCaptureDependencies
Replace the dependency set with the new nodes.
Definition hip_runtime_api.h:1243
@ hipMemHandleTypeGeneric
Generic handle type.
Definition hip_runtime_api.h:1325
@ hipFuncCachePreferNone
no preference for shared memory or L1 (default)
Definition hip_runtime_api.h:945
@ hipFuncCachePreferEqual
prefer equal size L1 cache and shared memory
Definition hip_runtime_api.h:948
@ hipFuncCachePreferL1
prefer larger L1 cache and smaller shared memory
Definition hip_runtime_api.h:947
@ hipFuncCachePreferShared
prefer larger shared memory and smaller L1 cache
Definition hip_runtime_api.h:946
@ hipUserObjectNoDestructorSync
Destructor execution is not synchronized.
Definition hip_runtime_api.h:1253
@ hipGraphMemAttrReservedMemHigh
High watermark of memory, in bytes, currently allocated for graphs.
Definition hip_runtime_api.h:1250
@ hipGraphMemAttrUsedMemCurrent
Amount of memory, in bytes, currently associated with graphs.
Definition hip_runtime_api.h:1247
@ hipGraphMemAttrUsedMemHigh
High watermark of memory, in bytes, associated with graphs since the last time.
Definition hip_runtime_api.h:1248
@ hipGraphMemAttrReservedMemCurrent
Amount of memory, in bytes, currently allocated for graphs.
Definition hip_runtime_api.h:1249
@ hipMemPoolAttrUsedMemCurrent
Definition hip_runtime_api.h:821
@ hipMemPoolAttrReservedMemHigh
Definition hip_runtime_api.h:816
@ hipMemPoolAttrReservedMemCurrent
Definition hip_runtime_api.h:810
@ hipMemPoolAttrReleaseThreshold
Definition hip_runtime_api.h:805
@ hipMemPoolAttrUsedMemHigh
Definition hip_runtime_api.h:827
@ hipMemPoolReuseAllowInternalDependencies
Definition hip_runtime_api.h:796
@ hipMemPoolReuseFollowEventDependencies
Definition hip_runtime_api.h:783
@ hipMemPoolReuseAllowOpportunistic
Definition hip_runtime_api.h:789
@ hipMemOperationTypeMap
Map operation.
Definition hip_runtime_api.h:1334
@ hipMemOperationTypeUnmap
Unmap operation.
Definition hip_runtime_api.h:1335
@ hipGraphicsRegisterFlagsReadOnly
HIP will not write to this registered resource.
Definition hip_runtime_api.h:1097
@ hipGraphicsRegisterFlagsTextureGather
HIP will perform texture gather operations on this registered resource.
Definition hip_runtime_api.h:1101
@ hipGraphicsRegisterFlagsWriteDiscard
HIP will only write and will not read from this registered resource.
Definition hip_runtime_api.h:1098
@ hipGraphicsRegisterFlagsSurfaceLoadStore
HIP will bind this resource to a surface.
Definition hip_runtime_api.h:1100
@ hipMemRangeCoherencyModeFineGrain
Definition hip_runtime_api.h:743
@ hipMemRangeCoherencyModeIndeterminate
Definition hip_runtime_api.h:747
@ hipMemRangeCoherencyModeCoarseGrain
Definition hip_runtime_api.h:745
@ hipMemAccessFlagsProtRead
Set the address range read accessible.
Definition hip_runtime_api.h:854
@ hipMemAccessFlagsProtNone
Default, make the address range not accessible.
Definition hip_runtime_api.h:853
@ hipMemAccessFlagsProtReadWrite
Set the address range read-write accessible.
Definition hip_runtime_api.h:855
@ hipMemAllocationGranularityMinimum
Minimum granularity.
Definition hip_runtime_api.h:1315
@ hipMemAllocationGranularityRecommended
Recommended granularity for performance.
Definition hip_runtime_api.h:1316
@ hipGraphExecUpdateErrorNotSupported
The update failed because something about the node is not supported.
Definition hip_runtime_api.h:1224
@ hipGraphExecUpdateErrorNodeTypeChanged
The update failed because a node type changed.
Definition hip_runtime_api.h:1219
@ hipGraphExecUpdateErrorTopologyChanged
The update failed because the topology changed.
Definition hip_runtime_api.h:1218
@ hipGraphExecUpdateError
Definition hip_runtime_api.h:1216
@ hipGraphExecUpdateErrorFunctionChanged
The update failed because the function of a kernel node changed.
Definition hip_runtime_api.h:1220
@ hipGraphExecUpdateSuccess
The update succeeded.
Definition hip_runtime_api.h:1215
@ hipGraphExecUpdateErrorParametersChanged
The update failed because the parameters changed in a way that is not supported.
Definition hip_runtime_api.h:1222
@ hipStreamCaptureStatusInvalidated
Definition hip_runtime_api.h:1237
@ hipStreamCaptureStatusNone
Stream is not capturing.
Definition hip_runtime_api.h:1235
@ hipStreamCaptureStatusActive
Stream is actively capturing.
Definition hip_runtime_api.h:1236
@ hipDeviceAttributeDirectManagedMemAccessFromHost
Definition hip_runtime_api.h:354
@ hipDeviceAttributeSurfaceAlignment
Cuda only. Alignment requirement for surfaces.
Definition hip_runtime_api.h:424
@ hipDeviceAttributeMaxGridDimX
Max grid size in width.
Definition hip_runtime_api.h:371
@ hipDeviceAttributeMaxSurfaceCubemapLayered
Cuda only. Maximum dimension of Cubemap layered surface.
Definition hip_runtime_api.h:380
@ hipDeviceAttributeMaxSurface3D
Maximum dimension (width, height, depth) of 3D surface.
Definition hip_runtime_api.h:378
@ hipDeviceAttributeMaxPitch
Maximum pitch in bytes allowed by memory copies.
Definition hip_runtime_api.h:401
@ hipDeviceAttributeTccDriver
Cuda only. Whether device is a Tesla device using TCC driver.
Definition hip_runtime_api.h:425
@ hipDeviceAttributeHostNativeAtomicSupported
Cuda only. Link between the device and the host supports native atomic operations.
Definition hip_runtime_api.h:357
@ hipDeviceAttributePageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition hip_runtime_api.h:410
@ hipDeviceAttributeMaxBlockDimY
Max block size in height.
Definition hip_runtime_api.h:369
@ hipDeviceAttributeMaxSurfaceCubemap
Cuda only. Maximum dimensions of Cubemap surface.
Definition hip_runtime_api.h:379
@ hipDeviceAttributeName
Device name.
Definition hip_runtime_api.h:407
@ hipDeviceAttributePageableMemoryAccess
Definition hip_runtime_api.h:408
@ hipDeviceAttributeClockRate
Peak clock frequency in kilohertz.
Definition hip_runtime_api.h:345
@ hipDeviceAttributeMaxTexture1DMipmap
Cuda only. Maximum size of 1D mipmapped texture.
Definition hip_runtime_api.h:385
@ hipDeviceAttributeComputeCapabilityMajor
Major compute capability version number.
Definition hip_runtime_api.h:365
@ hipDeviceAttributeGlobalL1CacheSupported
Cuda only. Device supports caching globals in L1.
Definition hip_runtime_api.h:356
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem
Definition hip_runtime_api.h:452
@ hipDeviceAttributeAccessPolicyMaxWindowSize
Cuda only. The maximum size of the window policy in bytes.
Definition hip_runtime_api.h:340
@ hipDeviceAttributeMaxTexture3DHeight
Maximum dimension height of 3D texture.
Definition hip_runtime_api.h:393
@ hipDeviceAttributeComputeCapabilityMinor
Minor compute capability version number.
Definition hip_runtime_api.h:404
@ hipDeviceAttributeMaxTextureCubemap
Cuda only. Maximum dimensions of Cubemap texture.
Definition hip_runtime_api.h:396
@ hipDeviceAttributeDeviceOverlap
Definition hip_runtime_api.h:352
@ hipDeviceAttributeMaxTexture2DLinear
Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory.
Definition hip_runtime_api.h:390
@ hipDeviceAttributeMaxSurface2D
Maximum dimension (width, height) of 2D surface.
Definition hip_runtime_api.h:376
@ hipDeviceAttributeMaxSurface1DLayered
Cuda only. Maximum dimensions of 1D layered surface.
Definition hip_runtime_api.h:375
@ hipDeviceAttributeHdpRegFlushCntl
Address of the HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:445
@ hipDeviceAttributeComputeMode
Compute mode that device is currently in.
Definition hip_runtime_api.h:346
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc
Definition hip_runtime_api.h:446
@ hipDeviceAttributeAsicRevision
Revision of the GPU in this device.
Definition hip_runtime_api.h:455
@ hipDeviceAttributeCooperativeMultiDeviceLaunch
Support cooperative launch on multiple devices.
Definition hip_runtime_api.h:351
@ hipDeviceAttributeMaxTexture2DHeight
Maximum dimension hight of 2D texture.
Definition hip_runtime_api.h:387
@ hipDeviceAttributePersistingL2CacheMaxSize
Cuda11 only. Maximum l2 persisting lines capacity in bytes.
Definition hip_runtime_api.h:414
@ hipDeviceAttributeEccEnabled
Whether ECC support is enabled.
Definition hip_runtime_api.h:339
@ hipDeviceAttributeCanUseHostPointerForRegisteredMem
Definition hip_runtime_api.h:343
@ hipDeviceAttributePciBusId
PCI Bus ID.
Definition hip_runtime_api.h:411
@ hipDeviceAttributeL2CacheSize
Size of L2 cache in bytes. 0 if the device doesn't have L2 cache.
Definition hip_runtime_api.h:361
@ hipDeviceAttributeKernelExecTimeout
Run time limit for kernels executed on the device.
Definition hip_runtime_api.h:360
@ hipDeviceAttributeMaxThreadsDim
Maximum dimension of a block.
Definition hip_runtime_api.h:398
@ hipDeviceAttributeSingleToDoublePrecisionPerfRatio
Cuda only. Performance ratio of single precision to double precision.
Definition hip_runtime_api.h:422
@ hipDeviceAttributeMaxGridDimY
Max grid size in height.
Definition hip_runtime_api.h:372
@ hipDeviceAttributeMultiprocessorCount
Number of multiprocessors on the device.
Definition hip_runtime_api.h:406
@ hipDeviceAttributeUuid
Cuda only. Unique ID in 16 byte.
Definition hip_runtime_api.h:431
@ hipDeviceAttributeMaxRegistersPerMultiprocessor
32-bit registers available per block.
Definition hip_runtime_api.h:417
@ hipDeviceAttributeGcnArchName
Device gcnArch name in 256 bytes.
Definition hip_runtime_api.h:443
@ hipDeviceAttributeIsMultiGpuBoard
Multiple GPU devices.
Definition hip_runtime_api.h:359
@ hipDeviceAttributeSharedMemPerBlockOptin
Cuda only. Maximum shared memory per block usable by special opt in.
Definition hip_runtime_api.h:420
@ hipDeviceAttributeMaxSurface2DLayered
Cuda only. Maximum dimensions of 2D layered surface.
Definition hip_runtime_api.h:377
@ hipDeviceAttributeMemoryClockRate
Peak memory clock frequency in kilohertz.
Definition hip_runtime_api.h:403
@ hipDeviceAttributeGcnArch
Device gcn architecture.
Definition hip_runtime_api.h:442
@ hipDeviceAttributeMaxGridDimZ
Max grid size in depth.
Definition hip_runtime_api.h:373
@ hipDeviceAttributeHdpMemFlushCntl
Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:444
@ hipDeviceAttributeFineGrainSupport
'1' if Device supports fine grain, '0' otherwise
Definition hip_runtime_api.h:461
@ hipDeviceAttributeCooperativeLaunch
Support cooperative launch.
Definition hip_runtime_api.h:350
@ hipDeviceAttributeUnifiedAddressing
Cuda only. An unified address space shared with the host.
Definition hip_runtime_api.h:430
@ hipDeviceAttributeAsyncEngineCount
Cuda only. Asynchronous engines number.
Definition hip_runtime_api.h:341
@ hipDeviceAttributeMultiGpuBoardGroupID
Cuda only. Unique ID of device group on the same multi-GPU board.
Definition hip_runtime_api.h:405
@ hipDeviceAttributeStreamPrioritiesSupported
Cuda only. Whether to support stream priorities.
Definition hip_runtime_api.h:423
@ hipDeviceAttributeMaxSharedMemoryPerBlock
Maximum shared memory available per block in bytes.
Definition hip_runtime_api.h:419
@ hipDeviceAttributeLocalL1CacheSupported
caching locals in L1 is supported
Definition hip_runtime_api.h:362
@ hipDeviceAttributeCanUseStreamWaitValue
Definition hip_runtime_api.h:456
@ hipDeviceAttributeMaxRegistersPerBlock
Definition hip_runtime_api.h:415
@ hipDeviceAttributeMaxThreadsPerBlock
Maximum number of threads per block.
Definition hip_runtime_api.h:399
@ hipDeviceAttributeMemoryBusWidth
Global memory bus width in bits.
Definition hip_runtime_api.h:402
@ hipDeviceAttributeComputePreemptionSupported
Cuda only. Device supports Compute Preemption.
Definition hip_runtime_api.h:347
@ hipDeviceAttributeMaxSurface1D
Maximum size of 1D surface.
Definition hip_runtime_api.h:374
@ hipDeviceAttributeMaxTexture3DAlt
Cuda only. Maximum dimensions of alternate 3D texture.
Definition hip_runtime_api.h:395
@ hipDeviceAttributeMaxTexture1DLinear
Definition hip_runtime_api.h:383
@ hipDeviceAttributeMaxTexture2DGather
Cuda only. Maximum dimensions of 2D texture if gather operations performed.
Definition hip_runtime_api.h:388
@ hipDeviceAttributeWallClockRate
Constant frequency of wall clock in kilohertz.
Definition hip_runtime_api.h:462
@ hipDeviceAttributePciDeviceId
PCI Device ID.
Definition hip_runtime_api.h:412
@ hipDeviceAttributeCanMapHostMemory
Whether host memory can be mapped into device address space.
Definition hip_runtime_api.h:342
@ hipDeviceAttributeMaxTexture1DWidth
Maximum size of 1D texture.
Definition hip_runtime_api.h:381
@ hipDeviceAttributeConcurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition hip_runtime_api.h:349
@ hipDeviceAttributeArch
Device architecture.
Definition hip_runtime_api.h:440
@ hipDeviceAttributeManagedMemory
Device supports allocating managed memory on this system.
Definition hip_runtime_api.h:366
@ hipDeviceAttributeIntegrated
Device is integrated GPU.
Definition hip_runtime_api.h:358
@ hipDeviceAttributeMaxTexture2DLayered
Cuda only. Maximum dimensions of 2D layered texture.
Definition hip_runtime_api.h:389
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim
Definition hip_runtime_api.h:448
@ hipDeviceAttributeMaxTexture3DDepth
Maximum dimension depth of 3D texture.
Definition hip_runtime_api.h:394
@ hipDeviceAttributeImageSupport
'1' if Device supports image, '0' otherwise.
Definition hip_runtime_api.h:458
@ hipDeviceAttributeTotalGlobalMem
Global memory available on devicice.
Definition hip_runtime_api.h:429
@ hipDeviceAttributeMaxBlocksPerMultiProcessor
Cuda only. Max block size per multiprocessor.
Definition hip_runtime_api.h:367
@ hipDeviceAttributeIsLargeBar
Whether it is LargeBar.
Definition hip_runtime_api.h:454
@ hipDeviceAttributeMaxTexture2DWidth
Maximum dimension width of 2D texture.
Definition hip_runtime_api.h:386
@ hipDeviceAttributeMaxBlockDimX
Max block size in width.
Definition hip_runtime_api.h:368
@ hipDeviceAttributeMaxTexture3DWidth
Maximum dimension width of 3D texture.
Definition hip_runtime_api.h:392
@ hipDeviceAttributeTotalConstantMemory
Constant memory size in bytes.
Definition hip_runtime_api.h:428
@ hipDeviceAttributeTextureAlignment
Alignment requirement for textures.
Definition hip_runtime_api.h:426
@ hipDeviceAttributeMaxTexture1DLayered
Cuda only. Maximum dimensions of 1D layered texture.
Definition hip_runtime_api.h:382
@ hipDeviceAttributeMaxSharedMemoryPerMultiprocessor
Maximum Shared Memory PerMultiprocessor.
Definition hip_runtime_api.h:441
@ hipDeviceAttributeReservedSharedMemPerBlock
Cuda11 only. Shared memory reserved by CUDA driver per block.
Definition hip_runtime_api.h:418
@ hipDeviceAttributeConcurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition hip_runtime_api.h:348
@ hipDeviceAttributeLuid
Cuda only. 8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms.
Definition hip_runtime_api.h:363
@ hipDeviceAttributePciDomainID
PCI Domain ID.
Definition hip_runtime_api.h:413
@ hipDeviceAttributeMaxThreadsPerMultiProcessor
Maximum resident threads per multiprocessor.
Definition hip_runtime_api.h:400
@ hipDeviceAttributeTexturePitchAlignment
Pitch alignment requirement for 2D texture references bound to pitched memory;.
Definition hip_runtime_api.h:427
@ hipDeviceAttributePhysicalMultiProcessorCount
Definition hip_runtime_api.h:459
@ hipDeviceAttributeSharedMemPerMultiprocessor
Cuda only. Shared memory available per multiprocessor.
Definition hip_runtime_api.h:421
@ hipDeviceAttributeLuidDeviceNodeMask
Cuda only. Luid device node mask. Undefined on TCC and non-Windows platforms.
Definition hip_runtime_api.h:364
@ hipDeviceAttributeMaxTextureCubemapLayered
Cuda only. Maximum dimensions of Cubemap layered texture.
Definition hip_runtime_api.h:397
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim
Definition hip_runtime_api.h:450
@ hipDeviceAttributeVirtualMemoryManagementSupported
Device supports HIP virtual memory management.
Definition hip_runtime_api.h:434
@ hipDeviceAttributeMemoryPoolsSupported
Device supports HIP Stream Ordered Memory Allocator.
Definition hip_runtime_api.h:433
@ hipDeviceAttributeClockInstructionRate
Frequency in khz of the timer used by the device-side "clock*".
Definition hip_runtime_api.h:439
@ hipDeviceAttributeMaxTexture2DMipmap
Cuda only. Maximum dimensions of 2D mipmapped texture.
Definition hip_runtime_api.h:391
@ hipDeviceAttributeMaxBlockDimZ
Max block size in depth.
Definition hip_runtime_api.h:370
@ hipDeviceAttributeWarpSize
Warp size in threads.
Definition hip_runtime_api.h:432
@ hipMemAllocationTypePinned
Definition hip_runtime_api.h:874
@ hipGraphInstantiateFlagAutoFreeOnLaunch
Automatically free memory allocated in a graph before relaunching.
Definition hip_runtime_api.h:1261
@ 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:1267
@ hipGraphInstantiateFlagUpload
Automatically upload the graph after instantiaton.
Definition hip_runtime_api.h:1263
@ hipGraphInstantiateFlagDeviceLaunch
Instantiate the graph to be launchable from the device.
Definition hip_runtime_api.h:1265
@ hipMemLocationTypeDevice
Device location, thus it's HIP device ID.
Definition hip_runtime_api.h:836
@ hipArraySparseSubresourceTypeSparseLevel
Sparse level.
Definition hip_runtime_api.h:1344
@ hipArraySparseSubresourceTypeMiptail
Miptail.
Definition hip_runtime_api.h:1345
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 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 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 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 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 hipGraphUpload(hipGraphExec_t graphExec, hipStream_t stream)
uploads an executable graph in a stream
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 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 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 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 hipGraphClone(hipGraph_t *pGraphClone, hipGraph_t originalGraph)
Clones 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 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 hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray)
Frees a mipmapped array on the device.
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 hipMemcpyAtoH(void *dst, hipArray *srcArray, size_t srcOffset, size_t count)
Copies data between host and device.
hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory [Deprecated].
hipError_t hipMemcpy2DToArrayAsync(hipArray *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 hipGetMipmappedArrayLevel(hipArray_t *levelArray, hipMipmappedArray_const_t mipmappedArray, unsigned int level)
Gets a mipmap level of a HIP mipmapped array.
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 hipMemcpyToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
Copies data between host and device. [Deprecated].
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 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 hipArrayGetDescriptor(HIP_ARRAY_DESCRIPTOR *pArrayDescriptor, hipArray *array)
Gets a 1D or 2D array descriptor.
hipError_t hipMalloc3DArray(hipArray **array, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int flags)
Allocate an array on the device.
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 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. [Deprecated].
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 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 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 hipMemcpy2DToArray(hipArray *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 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 hipArray3DCreate(hipArray **array, const HIP_ARRAY3D_DESCRIPTOR *pAllocateArray)
Create a 3D array memory pointer on the device.
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 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 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 hipMallocArray(hipArray **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 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 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 hipArrayGetInfo(hipChannelFormatDesc *desc, hipExtent *extent, unsigned int *flags, hipArray *array)
Gets info about the specified array.
hipError_t hipArray3DGetDescriptor(HIP_ARRAY3D_DESCRIPTOR *pArrayDescriptor, hipArray *array)
Gets a 3D array descriptor.
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 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 hipFreeArray(hipArray *array)
Frees an array on the device.
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 hipArrayCreate(hipArray **pHandle, const HIP_ARRAY_DESCRIPTOR *pAllocateArray)
Create an array memory pointer 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 hipArrayDestroy(hipArray *array)
Destroy an array memory pointer on the device.
hipError_t hipMemcpyHtoA(hipArray *dstArray, size_t dstOffset, const void *srcHost, size_t count)
Copies data between host and device.
hipError_t hipMemPtrGetInfo(void *ptr, size_t *size)
Get allocated memory size via memory pointer.
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 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 hipMemcpyPeer(void *dst, int dstDeviceId, const void *src, int srcDeviceId, size_t sizeBytes)
Copies memory from one device to memory on another device.
hipError_t hipMemcpyPeerAsync(void *dst, int dstDeviceId, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream __dparm(0))
Copies memory from one device to memory on another device.
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. [Deprecated] When using this API, start the profiler with p...
hipError_t hipProfilerStop()
Stop recording of profiling information. [Deprecated] When using this API, start the profiler with pr...
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 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:2301
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 hipTexRefGetFilterMode(enum hipTextureFilterMode *pfm, const textureReference *texRef)
Gets filter mode for a texture reference. [Deprecated].
hipError_t hipTexRefGetMipmapLevelClamp(float *pminMipmapLevelClamp, float *pmaxMipmapLevelClamp, const textureReference *texRef)
Gets the minimum and maximum mipmap level clamps for a texture reference. [Deprecated].
hipError_t hipTexRefGetAddressMode(enum hipTextureAddressMode *pam, const textureReference *texRef, int dim)
Gets the address mode for a texture reference. [Deprecated].
hipError_t hipTexRefGetFlags(unsigned int *pFlags, const textureReference *texRef)
Gets flags for a texture reference. [Deprecated].
hipError_t hipTexRefSetAddress(size_t *ByteOffset, textureReference *texRef, hipDeviceptr_t dptr, size_t bytes)
Sets an bound address for a texture reference. [Deprecated].
hipError_t hipTexRefSetFilterMode(textureReference *texRef, enum hipTextureFilterMode fm)
Set filter mode for a texture reference. [Deprecated].
hipError_t hipTexRefSetMipmappedArray(textureReference *texRef, struct hipMipmappedArray *mipmappedArray, unsigned int Flags)
Binds mipmapped array to a texture reference. [Deprecated].
hipError_t hipTexRefGetMipmapFilterMode(enum hipTextureFilterMode *pfm, const textureReference *texRef)
Gets the mipmap filter mode for a texture reference. [Deprecated].
hipError_t hipGetTextureAlignmentOffset(size_t *offset, const textureReference *texref)
Get the offset of the alignment in a texture. [Deprecated].
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. [Deprecated].
hipError_t hipTexRefGetMaxAnisotropy(int *pmaxAnsio, const textureReference *texRef)
Gets the maximum anisotropy for a texture reference. [Deprecated].
hipError_t hipUnbindTexture(const textureReference *tex)
Unbinds a texture. [Deprecated].
hipError_t hipTexRefSetFormat(textureReference *texRef, hipArray_Format fmt, int NumPackedComponents)
Set format for a texture reference. [Deprecated].
hipError_t hipTexRefGetAddress(hipDeviceptr_t *dev_ptr, const textureReference *texRef)
Gets the the address for a texture reference. [Deprecated].
hipError_t hipTexRefSetFlags(textureReference *texRef, unsigned int Flags)
Set flags for a texture reference. [Deprecated].
hipError_t hipTexRefSetAddressMode(textureReference *texRef, int dim, enum hipTextureAddressMode am)
Sets address mode for a texture reference. [Deprecated].
hipError_t hipTexRefGetMipMappedArray(hipMipmappedArray_t *pArray, const textureReference *texRef)
Gets the mipmapped array bound to a texture reference. [Deprecated].
hipError_t hipTexRefSetMaxAnisotropy(textureReference *texRef, unsigned int maxAniso)
Sets the maximum anisotropy for a texture reference. [Deprecated].
hipError_t hipTexRefSetMipmapLevelClamp(textureReference *texRef, float minMipMapLevelClamp, float maxMipMapLevelClamp)
Sets mipmap level clamp for a texture reference. [Deprecated].
hipError_t hipTexRefSetBorderColor(textureReference *texRef, float *pBorderColor)
Sets border color for a texture reference. [Deprecated].
hipError_t hipTexRefSetArray(textureReference *tex, hipArray_const_t array, unsigned int flags)
Binds an array as a texture reference. [Deprecated].
hipError_t hipTexRefSetMipmapLevelBias(textureReference *texRef, float bias)
Sets mipmap level bias for a texture reference. [Deprecated].
hipError_t hipTexRefGetMipmapLevelBias(float *pbias, const textureReference *texRef)
Gets the mipmap level bias for a texture reference. [Deprecated].
hipError_t hipBindTextureToArray(const textureReference *tex, hipArray_const_t array, const hipChannelFormatDesc *desc)
Binds a memory area to a texture. [Deprecated].
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. [Deprecated].
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. [Deprecated].
hipError_t hipTexRefSetMipmapFilterMode(textureReference *texRef, enum hipTextureFilterMode fm)
Sets mipmap filter mode for a texture reference. [Deprecated].
hipError_t hipTexRefGetFormat(hipArray_Format *pFormat, int *pNumChannels, const textureReference *texRef)
Gets texture format for a texture reference. [Deprecated].
hipError_t hipBindTextureToMipmappedArray(const textureReference *tex, hipMipmappedArray_const_t mipmappedArray, const hipChannelFormatDesc *desc)
Binds a mipmapped array to a texture.
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 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.
hipErrorMemoryAllocation
Memory allocation error.
Definition hip_runtime_api.h:219
hipErrorInvalidDevicePointer
Invalid Device Pointer.
Definition hip_runtime_api.h:231
hipErrorRuntimeMemory
Definition hip_runtime_api.h:322
hipErrorStreamCaptureIsolation
Definition hip_runtime_api.h:303
hipErrorInvalidKernelFile
In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.
Definition hip_runtime_api.h:257
hipErrorGraphExecUpdateFailure
Definition hip_runtime_api.h:316
hipErrorInvalidResourceHandle
Resource handle (hipEvent_t or hipStream_t) invalid.
Definition hip_runtime_api.h:266
hipErrorInvalidContext
Produced when input context is invalid.
Definition hip_runtime_api.h:240
hipErrorStreamCaptureUnsupported
Definition hip_runtime_api.h:294
hipErrorPeerAccessNotEnabled
Peer access was never enabled from the current device.
Definition hip_runtime_api.h:278
hipErrorStreamCaptureUnjoined
Definition hip_runtime_api.h:301
hipErrorInvalidValue
Definition hip_runtime_api.h:215
hipErrorLaunchFailure
An exception occurred on the device while executing a kernel.
Definition hip_runtime_api.h:287
hipErrorInvalidDevice
DeviceID must be in range 0...#compute-devices.
Definition hip_runtime_api.h:238
hipErrorMapBufferObjectFailed
Produced when the IPC memory attach failed from ROCr.
Definition hip_runtime_api.h:244
hipErrorHostMemoryAlreadyRegistered
Produced when trying to lock a page-locked memory.
Definition hip_runtime_api.h:283
hipErrorStreamCaptureWrongThread
Definition hip_runtime_api.h:312
hipErrorAssert
Produced when the kernel calls assert.
Definition hip_runtime_api.h:282
hipErrorNotReady
Definition hip_runtime_api.h:269
hipErrorLaunchOutOfResources
Out of resources error.
Definition hip_runtime_api.h:274
hipErrorCooperativeLaunchTooLarge
Definition hip_runtime_api.h:289
hipErrorNoDevice
Call to hipGetDeviceCount returned 0 devices.
Definition hip_runtime_api.h:237
hipErrorStreamCaptureInvalidated
Definition hip_runtime_api.h:296
hipErrorPeerAccessAlreadyEnabled
Peer access was already enabled from the current device.
Definition hip_runtime_api.h:276
hipErrorNotSupported
Produced when the hip API is not supported/implemented.
Definition hip_runtime_api.h:293
hipErrorStreamCaptureImplicit
Definition hip_runtime_api.h:307
hipErrorStreamCaptureMerge
Definition hip_runtime_api.h:298
hipErrorIllegalState
Resource required is not in a valid state to perform operation.
Definition hip_runtime_api.h:267
hipSuccess
Successful completion.
Definition hip_runtime_api.h:214
hipMemoryType
Definition hip_runtime_api.h:161
@ hipMemoryTypeDevice
Definition hip_runtime_api.h:163
@ hipMemoryTypeHost
Memory is physically located on host.
Definition hip_runtime_api.h:162
@ hipMemoryTypeArray
Definition hip_runtime_api.h:165
@ hipMemoryTypeManaged
Definition hip_runtime_api.h:168
@ hipMemoryTypeUnified
Not used currently.
Definition hip_runtime_api.h:167
hipErrorStreamCaptureUnmatched
The capture was not initiated in this stream.
Definition hip_runtime_api.h:300
hipErrorCapturedEvent
Definition hip_runtime_api.h:310
hipErrorHostMemoryNotRegistered
Produced when trying to unlock a non-page-locked memory.
Definition hip_runtime_api.h:285
struct ihipMemPoolHandle_t * hipMemPool_t
Definition hip_runtime_api.h:543
hipErrorRuntimeOther
Definition hip_runtime_api.h:324
hipErrorInvalidMemcpyDirection
Invalid memory copy direction.
Definition hip_runtime_api.h:232
Definition driver_types.h:74
Definition driver_types.h:68
Definition driver_types.h:380
Definition driver_types.h:283
Definition driver_types.h:329
Definition driver_types.h:166
Definition hip_runtime_api.h:964
uint32_t y
y
Definition hip_runtime_api.h:966
uint32_t z
z
Definition hip_runtime_api.h:967
uint32_t x
x
Definition hip_runtime_api.h:965
Definition hip_runtime_api.h:1197
Definition hip_runtime_api.h:1351
unsigned int level
For mipmapped arrays must be a valid mipmap level. For arrays must be zero.
Definition hip_runtime_api.h:1360
unsigned int flags
flags for future use, must be zero now.
Definition hip_runtime_api.h:1382
hipArraySparseSubresourceType subresourceType
Sparse subresource type.
Definition hip_runtime_api.h:1357
unsigned int extentDepth
Depth in elements.
Definition hip_runtime_api.h:1367
unsigned int offsetX
X offset in elements.
Definition hip_runtime_api.h:1362
hipResourceType resourceType
Resource type.
Definition hip_runtime_api.h:1352
hipMemOperationType memOperationType
Memory operation type.
Definition hip_runtime_api.h:1375
unsigned int reserved[2]
Reserved for future use, must be zero now.
Definition hip_runtime_api.h:1383
unsigned int extentWidth
Width in elements.
Definition hip_runtime_api.h:1365
unsigned int extentHeight
Height in elements.
Definition hip_runtime_api.h:1366
unsigned int offsetY
Y offset in elements.
Definition hip_runtime_api.h:1363
hipMemHandleType memHandleType
Memory handle type.
Definition hip_runtime_api.h:1376
unsigned int layer
For layered arrays must be a valid layer index. Otherwise, must be zero.
Definition hip_runtime_api.h:1361
unsigned int deviceBitMask
Device ordinal bit mask.
Definition hip_runtime_api.h:1381
unsigned long long size
Extent in bytes.
Definition hip_runtime_api.h:1372
unsigned long long offset
Offset within mip tail.
Definition hip_runtime_api.h:1371
unsigned int offsetZ
Z offset in elements.
Definition hip_runtime_api.h:1364
Definition driver_types.h:82
Definition driver_types.h:47
Definition hip_runtime_api.h:45
unsigned hasSharedInt64Atomics
64-bit integer atomics for shared memory.
Definition hip_runtime_api.h:55
unsigned hasSharedInt32Atomics
32-bit integer atomics for shared memory.
Definition hip_runtime_api.h:49
unsigned hasFloatAtomicAdd
32-bit float atomic add in global and shared memory.
Definition hip_runtime_api.h:51
unsigned hasDoubles
Double-precision floating point.
Definition hip_runtime_api.h:58
unsigned hasWarpVote
Warp vote instructions (__any, __all).
Definition hip_runtime_api.h:61
unsigned hasWarpShuffle
Warp shuffle operations. (__shfl_*).
Definition hip_runtime_api.h:63
unsigned hasGlobalInt32Atomics
32-bit integer atomics for global memory.
Definition hip_runtime_api.h:47
unsigned hasGlobalFloatAtomicExch
32-bit float atomic exch for global memory.
Definition hip_runtime_api.h:48
unsigned hasDynamicParallelism
Dynamic parallelism.
Definition hip_runtime_api.h:73
unsigned hasSurfaceFuncs
Surface functions.
Definition hip_runtime_api.h:71
unsigned has3dGrid
Grid and group dims are 3D (rather than 2D).
Definition hip_runtime_api.h:72
unsigned hasFunnelShift
Funnel two words into one with shift&mask caps.
Definition hip_runtime_api.h:64
unsigned hasThreadFenceSystem
__threadfence_system.
Definition hip_runtime_api.h:67
unsigned hasGlobalInt64Atomics
64-bit integer atomics for global memory.
Definition hip_runtime_api.h:54
unsigned hasSyncThreadsExt
__syncthreads_count, syncthreads_and, syncthreads_or.
Definition hip_runtime_api.h:68
unsigned hasWarpBallot
Warp ballot instructions (__ballot).
Definition hip_runtime_api.h:62
unsigned hasSharedFloatAtomicExch
32-bit float atomic exch for shared memory.
Definition hip_runtime_api.h:50
Definition hip_runtime_api.h:87
int ECCEnabled
Device has ECC support enabled.
Definition hip_runtime_api.h:135
int maxTexture1DLinear
Maximum size for 1D textures bound to linear memory.
Definition hip_runtime_api.h:125
int pciBusID
PCI Bus ID.
Definition hip_runtime_api.h:115
int maxTexture1D
Maximum number of elements in 1D images.
Definition hip_runtime_api.h:126
int memoryBusWidth
Global memory bus width in bits.
Definition hip_runtime_api.h:98
int clockRate
Max clock frequency of the multiProcessors in khz.
Definition hip_runtime_api.h:96
int maxThreadsPerMultiProcessor
Maximum resident threads per multi-processor.
Definition hip_runtime_api.h:108
int l2CacheSize
L2 cache size.
Definition hip_runtime_api.h:107
size_t totalConstMem
Size of shared memory region (in bytes).
Definition hip_runtime_api.h:99
size_t memPitch
Maximum pitch in bytes allowed by memory copies.
Definition hip_runtime_api.h:131
size_t sharedMemPerBlock
Size of shared memory region (in bytes).
Definition hip_runtime_api.h:90
int cooperativeMultiDeviceLaunch
HIP device supports cooperative launch on multiple devices.
Definition hip_runtime_api.h:124
int pageableMemoryAccess
Definition hip_runtime_api.h:150
char name[256]
Device name.
Definition hip_runtime_api.h:88
size_t textureAlignment
Alignment requirement for textures.
Definition hip_runtime_api.h:132
int memoryClockRate
Max global memory clock frequency in khz.
Definition hip_runtime_api.h:97
int clockInstructionRate
Definition hip_runtime_api.h:110
int regsPerBlock
Registers per block.
Definition hip_runtime_api.h:91
int maxTexture2D[2]
Maximum dimensions (width, height) of 2D images, in image elements.
Definition hip_runtime_api.h:127
int cooperativeLaunch
HIP device supports cooperative launch.
Definition hip_runtime_api.h:123
int maxTexture3D[3]
Maximum dimensions (width, height, depth) of 3D images, in image elements.
Definition hip_runtime_api.h:128
int directManagedMemAccessFromHost
Host can directly access managed memory on the device without migration.
Definition hip_runtime_api.h:148
int cooperativeMultiDeviceUnmatchedFunc
Definition hip_runtime_api.h:137
int pageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition hip_runtime_api.h:152
unsigned int * hdpRegFlushCntl
Addres of HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:130
int maxThreadsDim[3]
Max number of threads in each dimension (XYZ) of a block.
Definition hip_runtime_api.h:94
int isMultiGpuBoard
1 if device is on a multi-GPU board, 0 if not.
Definition hip_runtime_api.h:118
int pciDomainID
PCI Domain ID.
Definition hip_runtime_api.h:114
size_t maxSharedMemoryPerMultiProcessor
Maximum Shared Memory Per Multiprocessor.
Definition hip_runtime_api.h:117
int cooperativeMultiDeviceUnmatchedGridDim
Definition hip_runtime_api.h:139
int minor
Definition hip_runtime_api.h:103
char gcnArchName[256]
AMD GCN Arch Name.
Definition hip_runtime_api.h:121
int kernelExecTimeoutEnabled
Run time limit for kernels executed on the device.
Definition hip_runtime_api.h:134
unsigned int * hdpMemFlushCntl
Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:129
int concurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition hip_runtime_api.h:149
int integrated
APU vs dGPU.
Definition hip_runtime_api.h:122
int canMapHostMemory
Check whether HIP can map host memory.
Definition hip_runtime_api.h:119
int asicRevision
Revision of the GPU in this device.
Definition hip_runtime_api.h:146
size_t totalGlobalMem
Size of global memory region (in bytes).
Definition hip_runtime_api.h:89
int cooperativeMultiDeviceUnmatchedBlockDim
Definition hip_runtime_api.h:141
int concurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition hip_runtime_api.h:113
int isLargeBar
1: if it is a large PCI bar device, else 0
Definition hip_runtime_api.h:145
int gcnArch
DEPRECATED: use gcnArchName instead.
Definition hip_runtime_api.h:120
int multiProcessorCount
Number of multi-processors (compute units).
Definition hip_runtime_api.h:106
int maxGridSize[3]
Max grid dimensions (XYZ).
Definition hip_runtime_api.h:95
int pciDeviceID
PCI Device ID.
Definition hip_runtime_api.h:116
int computeMode
Compute mode.
Definition hip_runtime_api.h:109
int major
Definition hip_runtime_api.h:100
int warpSize
Warp size.
Definition hip_runtime_api.h:92
int tccDriver
1:If device is Tesla device using TCC driver, else 0
Definition hip_runtime_api.h:136
int cooperativeMultiDeviceUnmatchedSharedMem
Definition hip_runtime_api.h:143
int maxThreadsPerBlock
Max work items per work group or workgroup max size.
Definition hip_runtime_api.h:93
hipDeviceArch_t arch
Architectural feature flags. New for HIP.
Definition hip_runtime_api.h:112
int managedMemory
Device supports allocating managed memory on this system.
Definition hip_runtime_api.h:147
size_t texturePitchAlignment
Pitch alignment requirement for texture references bound to pitched memory.
Definition hip_runtime_api.h:133
Definition driver_types.h:359
Definition hip_runtime_api.h:1013
Definition hip_runtime_api.h:1001
Definition hip_runtime_api.h:1025
Definition hip_runtime_api.h:1037
Definition hip_runtime_api.h:1053
Definition hip_runtime_api.h:545
Definition hip_runtime_api.h:980
hipFunction_t function
Kernel to launch.
Definition hip_runtime_api.h:981
void ** kernelParams
Kernel parameters.
Definition hip_runtime_api.h:990
unsigned int blockDimZ
Z dimension of each thread block.
Definition hip_runtime_api.h:987
unsigned int gridDimZ
Depth(Z) of grid in blocks.
Definition hip_runtime_api.h:984
unsigned int gridDimY
Height(Y) of grid in blocks.
Definition hip_runtime_api.h:983
unsigned int sharedMemBytes
Shared memory.
Definition hip_runtime_api.h:988
unsigned int blockDimX
X dimension of each thread block.
Definition hip_runtime_api.h:985
unsigned int blockDimY
Y dimension of each thread block.
Definition hip_runtime_api.h:986
unsigned int gridDimX
Width(X) of grid in blocks.
Definition hip_runtime_api.h:982
hipStream_t hStream
Stream identifier.
Definition hip_runtime_api.h:989
Definition hip_runtime_api.h:1152
Definition hip_runtime_api.h:535
Definition hip_runtime_api.h:532
Definition hip_runtime_api.h:1156
Definition hip_runtime_api.h:972
size_t sharedMem
Shared memory.
Definition hip_runtime_api.h:977
dim3 gridDim
Grid dimentions.
Definition hip_runtime_api.h:974
hipStream_t stream
Stream identifier.
Definition hip_runtime_api.h:978
void ** args
Arguments.
Definition hip_runtime_api.h:976
void * func
Device function symbol.
Definition hip_runtime_api.h:973
dim3 blockDim
Block dimentions.
Definition hip_runtime_api.h:975
Definition hip_runtime_api.h:860
hipMemAccessFlags flags
Accessibility flags to set.
Definition hip_runtime_api.h:862
hipMemLocation location
Location on which the accessibility has to change.
Definition hip_runtime_api.h:861
Definition hip_runtime_api.h:1173
const hipMemAccessDesc * accessDescs
Definition hip_runtime_api.h:1176
size_t bytesize
The size of the requested allocation in bytes.
Definition hip_runtime_api.h:1179
hipMemPoolProps poolProps
Definition hip_runtime_api.h:1174
size_t accessDescCount
The number of access descriptors.
Definition hip_runtime_api.h:1178
void * dptr
Returned device address of the allocation.
Definition hip_runtime_api.h:1180
Definition hip_runtime_api.h:1292
void * win32HandleMetaData
Metadata for Win32 handles.
Definition hip_runtime_api.h:1296
hipMemAllocationType type
Memory allocation type.
Definition hip_runtime_api.h:1293
unsigned char gpuDirectRDMACapable
RDMA capable.
Definition hip_runtime_api.h:1299
unsigned short usage
Usage.
Definition hip_runtime_api.h:1300
hipMemAllocationHandleType requestedHandleType
Requested handle type.
Definition hip_runtime_api.h:1294
hipMemLocation location
Memory location.
Definition hip_runtime_api.h:1295
unsigned char compressionType
Compression type.
Definition hip_runtime_api.h:1298
Definition hip_runtime_api.h:843
int id
Identifier for the provided location type hipMemLocationType.
Definition hip_runtime_api.h:845
hipMemLocationType type
Specifies the location type, which describes the meaning of id.
Definition hip_runtime_api.h:844
Definition hip_runtime_api.h:891
hipMemLocation location
Location where allocations should reside.
Definition hip_runtime_api.h:894
hipMemAllocationHandleType handleTypes
Handle types that will be supported by allocations from the pool.
Definition hip_runtime_api.h:893
hipMemAllocationType allocType
Allocation type. Currently must be specified as hipMemAllocationTypePinned.
Definition hip_runtime_api.h:892
unsigned char reserved[64]
Reserved for future use, must be 0.
Definition hip_runtime_api.h:899
void * win32SecurityAttributes
Definition hip_runtime_api.h:898
Definition hip_runtime_api.h:904
Definition driver_types.h:370
Definition hip_runtime_api.h:1164
Definition driver_types.h:118
Definition driver_types.h:353
Definition hip_runtime_api.h:175
Definition driver_types.h:259
Definition driver_types.h:315
Definition texture_types.h:109
Definition hip_runtime_api.h:76
Definition driver_types.h:96
Definition texture_types.h:88
Defines surface types for HIP runtime.
Definition hip_runtime_api.h:1204