HIP: Heterogenous-computing Interface for Portability
hip_runtime_api.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2015 - 2022 Advanced Micro Devices, Inc. All rights reserved.
3 
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10 
11 The above copyright notice and this permission notice shall be included in
12 all copies or substantial portions of the Software.
13 
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE 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 
38 enum {
39  HIP_SUCCESS = 0,
40  HIP_ERROR_INVALID_VALUE,
41  HIP_ERROR_NOT_INITIALIZED,
42  HIP_ERROR_LAUNCH_OUT_OF_RESOURCES
43 };
44 
45 typedef struct {
46  // 32-bit Atomics
47  unsigned hasGlobalInt32Atomics : 1;
48  unsigned hasGlobalFloatAtomicExch : 1;
49  unsigned hasSharedInt32Atomics : 1;
50  unsigned hasSharedFloatAtomicExch : 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 
76 typedef struct hipUUID_t {
77  char bytes[16];
78 } hipUUID;
79 
80 //---
81 // Common headers for both NVCC and HCC paths:
82 
87 typedef struct hipDeviceProp_t {
88  char name[256];
89  size_t totalGlobalMem;
92  int warpSize;
94  int maxThreadsDim[3];
95  int maxGridSize[3];
96  int clockRate;
99  size_t totalConstMem;
100  int major;
101  int minor;
104  int multiProcessorCount;
115  int pciBusID;
120  int gcnArch;
121  char gcnArchName[256];
127  int maxTexture2D[2];
128  int maxTexture3D[3];
129  unsigned int* hdpMemFlushCntl;
130  unsigned int* hdpRegFlushCntl;
131  size_t memPitch;
136  int tccDriver;
144  int isLargeBar;
154 
155 
156  /*
157  * @brief HIP Memory type (for pointer attributes)
158  * @enum
159  * @ingroup Enumerations
160  */
161 typedef enum hipMemoryType {
163  hipMemoryTypeDevice = 1,
169 } hipMemoryType;
171 
175 typedef 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 
213 typedef enum __HIP_NODISCARD hipError_t {
216  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,
270  hipErrorIllegalAddress = 700,
275  hipErrorLaunchTimeOut = 702,
277  704,
279  705,
280  hipErrorSetOnActiveProcess = 708,
281  hipErrorContextIsDestroyed = 709,
284  712,
286  713,
288  719,
290  720,
291  hipErrorNotSupported = 801,
308  hipErrorCapturedEvent = 907,
317  hipErrorUnknown = 999, //< Unknown error.
321  // HSA Runtime Error Codes start here.
323  hipErrorRuntimeOther = 1053,
325  hipErrorTbd
327 } hipError_t;
328 
329 #undef __HIP_NODISCARD
330 
331 /*
332  * @brief hipDeviceAttribute_t
333  * @enum
334  * @ingroup Enumerations
335  */
336 typedef enum hipDeviceAttribute_t {
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 
469 enum 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
510 namespace hip_impl {
511 hipError_t hip_init();
512 } // namespace hip_impl
513 #endif
514 // Structure definitions:
515 #ifdef __cplusplus
516 extern "C" {
517 #endif
518 //---
519 // API-visible structures
520 typedef struct ihipCtx_t* hipCtx_t;
521 // Note many APIs also use integer deviceIds as an alternative to the device pointer:
522 typedef int hipDevice_t;
523 typedef enum hipDeviceP2PAttr {
524  hipDevP2PAttrPerformanceRank = 0,
525  hipDevP2PAttrAccessSupported,
526  hipDevP2PAttrNativeAtomicSupported,
527  hipDevP2PAttrHipArrayAccessSupported
528 } hipDeviceP2PAttr;
529 typedef struct ihipStream_t* hipStream_t;
530 #define hipIpcMemLazyEnablePeerAccess 0
531 #define HIP_IPC_HANDLE_SIZE 64
532 typedef struct hipIpcMemHandle_st {
533  char reserved[HIP_IPC_HANDLE_SIZE];
535 typedef struct hipIpcEventHandle_st {
536  char reserved[HIP_IPC_HANDLE_SIZE];
538 typedef struct ihipModule_t* hipModule_t;
539 typedef struct ihipModuleSymbol_t* hipFunction_t;
543 typedef struct ihipMemPoolHandle_t* hipMemPool_t;
544 
545 typedef 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;
557 typedef struct ihipEvent_t* hipEvent_t;
558 enum 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 
590 #define hipEventReleaseToDevice 0x40000000
591 
594 #define hipEventReleaseToSystem 0x80000000
595 
596 //Flags that can be used with hipHostMalloc.
598 #define hipHostMallocDefault 0x0
599 
601 #define hipHostMallocPortable 0x1
602 
605 #define hipHostMallocMapped 0x2
606 
610 #define hipHostMallocWriteCombined 0x4
611 
613 #define hipHostMallocNumaUser 0x20000000
614 
616 #define hipHostMallocCoherent 0x40000000
617 
619 #define hipHostMallocNonCoherent 0x80000000
620 
622 #define hipMemAttachGlobal 0x01
623 
625 #define hipMemAttachHost 0x02
626 
628 #define hipMemAttachSingle 0x04
629 
630 #define hipDeviceMallocDefault 0x0
631 
633 #define hipDeviceMallocFinegrained 0x1
634 
636 #define hipMallocSignalMemory 0x2
637 
639 #define hipDeviceMallocUncached 0x3
640 
641 //Flags that can be used with hipHostRegister.
643 #define hipHostRegisterDefault 0x0
644 
646 #define hipHostRegisterPortable 0x1
647 
650 #define hipHostRegisterMapped 0x2
651 
653 #define hipHostRegisterIoMemory 0x4
654 
656 #define hipExtHostRegisterCoarseGrained 0x8
657 
659 #define hipDeviceScheduleAuto 0x0
660 
663 #define hipDeviceScheduleSpin 0x1
664 
667 #define hipDeviceScheduleYield 0x2
668 #define hipDeviceScheduleBlockingSync 0x4
669 #define hipDeviceScheduleMask 0x7
670 #define hipDeviceMapHost 0x8
671 #define hipDeviceLmemResizeToMax 0x10
672 
673 #define hipArrayDefault 0x00
674 #define hipArrayLayered 0x01
675 #define hipArraySurfaceLoadStore 0x02
676 #define hipArrayCubemap 0x04
677 #define hipArrayTextureGather 0x08
678 #define hipOccupancyDefault 0x00
679 #define hipOccupancyDisableCachingOverride 0x01
680 #define hipCooperativeLaunchMultiDeviceNoPreSync 0x01
681 #define hipCooperativeLaunchMultiDeviceNoPostSync 0x02
682 #define hipCpuDeviceId ((int)-1)
683 #define hipInvalidDeviceId ((int)-2)
684 //Flags that can be used with hipExtLaunch Set of APIs.
686 #define hipExtAnyOrderLaunch 0x01
687 // Flags to be used with hipStreamWaitValue32 and hipStreamWaitValue64.
688 #define hipStreamWaitValueGte 0x0
689 #define hipStreamWaitValueEq 0x1
690 #define hipStreamWaitValueAnd 0x2
691 #define hipStreamWaitValueNor 0x3
692 // Stream per thread
694 #define hipStreamPerThread ((hipStream_t)2)
695 
696 // Indicates that the external memory object is a dedicated resource
697 #define hipExternalMemoryDedicated 0x1
698 /*
699  * @brief HIP Memory Advise values
700  * @enum
701  * @ingroup Enumerations
702  */
703 typedef enum hipMemoryAdvise {
721 /*
722  * @brief HIP Coherency Mode
723  * @enum
724  * @ingroup Enumerations
725  */
735 /*
736  * @brief HIP range attributes
737  * @enum
738  * @ingroup Enumerations
739  */
740 typedef enum hipMemRangeAttribute {
751 
757 typedef enum hipMemPoolAttr
758 {
818  typedef enum hipMemLocationType {
819  hipMemLocationTypeInvalid = 0,
827 typedef struct hipMemLocation {
829  int id;
836 typedef enum hipMemAccessFlags {
844 typedef struct hipMemAccessDesc {
853 typedef enum hipMemAllocationType {
854  hipMemAllocationTypeInvalid = 0x0,
859  hipMemAllocationTypeMax = 0x7FFFFFFF
875 typedef struct hipMemPoolProps {
879 
883  unsigned char reserved[64];
888 typedef struct hipMemPoolPtrExportData {
889  unsigned char reserved[64];
891 
892 /*
893  * @brief hipJitOption
894  * @enum
895  * @ingroup Enumerations
896  */
897 typedef enum hipJitOption {
898  hipJitOptionMaxRegisters = 0,
899  hipJitOptionThreadsPerBlock,
900  hipJitOptionWallTime,
901  hipJitOptionInfoLogBuffer,
902  hipJitOptionInfoLogBufferSizeBytes,
903  hipJitOptionErrorLogBuffer,
904  hipJitOptionErrorLogBufferSizeBytes,
905  hipJitOptionOptimizationLevel,
906  hipJitOptionTargetFromContext,
907  hipJitOptionTarget,
908  hipJitOptionFallbackStrategy,
909  hipJitOptionGenerateDebugInfo,
910  hipJitOptionLogVerbose,
911  hipJitOptionGenerateLineInfo,
912  hipJitOptionCacheMode,
913  hipJitOptionSm3xOpt,
914  hipJitOptionFastCompile,
915  hipJitOptionNumOptions
916 } hipJitOption;
920 typedef enum hipFuncAttribute {
921  hipFuncAttributeMaxDynamicSharedMemorySize = 8,
922  hipFuncAttributePreferredSharedMemoryCarveout = 9,
923  hipFuncAttributeMax
928 typedef enum hipFuncCache_t {
937 typedef enum hipSharedMemConfig {
948 typedef struct dim3 {
949  uint32_t x;
950  uint32_t y;
951  uint32_t z;
952 #ifdef __cplusplus
953  constexpr __host__ __device__ dim3(uint32_t _x = 1, uint32_t _y = 1, uint32_t _z = 1) : x(_x), y(_y), z(_z){};
954 #endif
956 typedef struct hipLaunchParams_t {
957  void* func;
960  void **args;
961  size_t sharedMem;
962  hipStream_t stream;
965  hipFunction_t function;
966  unsigned int gridDimX;
967  unsigned int gridDimY;
968  unsigned int gridDimZ;
969  unsigned int blockDimX;
970  unsigned int blockDimY;
971  unsigned int blockDimZ;
972  unsigned int sharedMemBytes;
973  hipStream_t hStream;
974  void **kernelParams;
976 typedef enum hipExternalMemoryHandleType_enum {
977  hipExternalMemoryHandleTypeOpaqueFd = 1,
978  hipExternalMemoryHandleTypeOpaqueWin32 = 2,
979  hipExternalMemoryHandleTypeOpaqueWin32Kmt = 3,
980  hipExternalMemoryHandleTypeD3D12Heap = 4,
981  hipExternalMemoryHandleTypeD3D12Resource = 5,
982  hipExternalMemoryHandleTypeD3D11Resource = 6,
983  hipExternalMemoryHandleTypeD3D11ResourceKmt = 7,
984 } hipExternalMemoryHandleType;
986  hipExternalMemoryHandleType type;
987  union {
988  int fd;
989  struct {
990  void *handle;
991  const void *name;
992  } win32;
993  } handle;
994  unsigned long long size;
995  unsigned int flags;
998  unsigned long long offset;
999  unsigned long long size;
1000  unsigned int flags;
1002 typedef void* hipExternalMemory_t;
1003 typedef enum hipExternalSemaphoreHandleType_enum {
1004  hipExternalSemaphoreHandleTypeOpaqueFd = 1,
1005  hipExternalSemaphoreHandleTypeOpaqueWin32 = 2,
1006  hipExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3,
1007  hipExternalSemaphoreHandleTypeD3D12Fence = 4
1008 } hipExternalSemaphoreHandleType;
1010  hipExternalSemaphoreHandleType type;
1011  union {
1012  int fd;
1013  struct {
1014  void* handle;
1015  const void* name;
1016  } win32;
1017  } handle;
1018  unsigned int flags;
1020 typedef void* hipExternalSemaphore_t;
1022  struct {
1023  struct {
1024  unsigned long long value;
1025  } fence;
1026  struct {
1027  unsigned long long key;
1028  } keyedMutex;
1029  unsigned int reserved[12];
1030  } params;
1031  unsigned int flags;
1032  unsigned int reserved[16];
1038  struct {
1039  struct {
1040  unsigned long long value;
1041  } fence;
1042  struct {
1043  unsigned long long key;
1044  unsigned int timeoutMs;
1045  } keyedMutex;
1046  unsigned int reserved[10];
1047  } params;
1048  unsigned int flags;
1049  unsigned int reserved[16];
1051 
1052 #if __HIP_HAS_GET_PCH
1053 
1058  void __hipGetPCH(const char** pch, unsigned int*size);
1059 #endif
1060 
1061 /*
1062  * @brief HIP Devices used by current OpenGL Context.
1063  * @enum
1064  * @ingroup Enumerations
1065  */
1066 typedef enum hipGLDeviceList {
1071 } hipGLDeviceList;
1073 
1074 /*
1075  * @brief HIP Access falgs for Interop resources.
1076  * @enum
1077  * @ingroup Enumerations
1078  */
1080  hipGraphicsRegisterFlagsNone = 0,
1083  2,
1086  8
1088 
1089 typedef struct _hipGraphicsResource hipGraphicsResource;
1090 
1091 typedef hipGraphicsResource* hipGraphicsResource_t;
1092 
1096 typedef struct ihipGraph* hipGraph_t;
1100 typedef struct hipGraphNode* hipGraphNode_t;
1104 typedef struct hipGraphExec* hipGraphExec_t;
1105 
1109 typedef struct hipUserObject* hipUserObject_t;
1110 
1111 
1117 typedef enum hipGraphNodeType {
1132  hipGraphNodeTypeCount
1134 
1135 typedef void (*hipHostFn_t)(void* userData);
1136 typedef struct hipHostNodeParams {
1137  hipHostFn_t fn;
1138  void* userData;
1140 typedef struct hipKernelNodeParams {
1141  dim3 blockDim;
1142  void** extra;
1143  void* func;
1144  dim3 gridDim;
1145  void** kernelParams;
1146  unsigned int sharedMemBytes;
1148 typedef struct hipMemsetParams {
1149  void* dst;
1150  unsigned int elementSize;
1151  size_t height;
1152  size_t pitch;
1153  unsigned int value;
1154  size_t width;
1155 } hipMemsetParams;
1156 
1157 typedef struct hipMemAllocNodeParams {
1161  size_t accessDescCount;
1163  size_t bytesize;
1164  void* dptr;
1166 
1172 typedef enum hipKernelNodeAttrID {
1173  hipKernelNodeAttributeAccessPolicyWindow = 1,
1174  hipKernelNodeAttributeCooperative = 2,
1175 } hipKernelNodeAttrID;
1176 typedef enum hipAccessProperty {
1177  hipAccessPropertyNormal = 0,
1178  hipAccessPropertyStreaming = 1,
1179  hipAccessPropertyPersisting = 2,
1180 } hipAccessProperty;
1181 typedef struct hipAccessPolicyWindow {
1182  void* base_ptr;
1183  hipAccessProperty hitProp;
1184  float hitRatio;
1185  hipAccessProperty missProp;
1186  size_t num_bytes;
1188 typedef union hipKernelNodeAttrValue {
1189  hipAccessPolicyWindow accessPolicyWindow;
1190  int cooperative;
1192 
1200  hipGraphExecUpdateError = 0x1,
1205  0x4,
1207  0x5,
1209  0x6,
1210  hipGraphExecUpdateErrorUnsupportedFunctionChange = 0x7
1212 
1213 typedef enum hipStreamCaptureMode {
1214  hipStreamCaptureModeGlobal = 0,
1215  hipStreamCaptureModeThreadLocal,
1216  hipStreamCaptureModeRelaxed
1217 } hipStreamCaptureMode;
1224 
1229 
1236 typedef enum hipUserObjectFlags {
1239 
1243 
1246  1,
1248 
1251  << 0,
1257  << 6,
1259  << 7,
1261  << 8,
1263  << 9,
1265  << 10
1266 };
1270 typedef struct hipMemAllocationProp {
1275  struct {
1276  unsigned char compressionType;
1277  unsigned char gpuDirectRDMACapable;
1278  unsigned short usage;
1279  } allocFlags;
1281 
1285 typedef struct ihipMemGenericAllocationHandle* hipMemGenericAllocationHandle_t;
1286 
1296 
1302 typedef enum hipMemHandleType {
1305 
1311 typedef enum hipMemOperationType {
1315 
1325 
1329 typedef struct hipArrayMapInfo {
1330  hipResourceType resourceType;
1331  union {
1332  hipMipmappedArray mipmap;
1333  hipArray_t array;
1334  } resource;
1336  union {
1337  struct {
1338  unsigned int level;
1339  unsigned int layer;
1340  unsigned int offsetX;
1341  unsigned int offsetY;
1342  unsigned int offsetZ;
1343  unsigned int extentWidth;
1344  unsigned int extentHeight;
1345  unsigned int extentDepth;
1346  } sparseLevel;
1347  struct {
1348  unsigned int layer;
1349  unsigned long long offset;
1350  unsigned long long size;
1351  } miptail;
1352  } subresource;
1355  union {
1357  } memHandle;
1358  unsigned long long offset;
1359  unsigned int deviceBitMask;
1360  unsigned int flags;
1361  unsigned int reserved[2];
1363 // Doxygen end group GlobalDefs
1365 //-------------------------------------------------------------------------------------------------
1366 // The handle allows the async commands to use the stream even if the parent hipStream_t goes
1367 // out-of-scope.
1368 // typedef class ihipStream_t * hipStream_t;
1369 /*
1370  * Opaque structure allows the true event (pointed at by the handle) to remain "live" even if the
1371  * surrounding hipEvent_t goes out-of-scope. This is handy for cases where the hipEvent_t goes
1372  * out-of-scope but the true event is being written by some async queue or device */
1373 // typedef struct hipEvent_t {
1374 // struct ihipEvent_t *_handle;
1375 //} hipEvent_t;
1394 // TODO-ctx - more description on error codes.
1395 hipError_t hipInit(unsigned int flags);
1411 hipError_t hipDriverGetVersion(int* driverVersion);
1426 hipError_t hipRuntimeGetVersion(int* runtimeVersion);
1434 hipError_t hipDeviceGet(hipDevice_t* device, int ordinal);
1435 
1444 hipError_t hipDeviceComputeCapability(int* major, int* minor, hipDevice_t device);
1453 hipError_t hipDeviceGetName(char* name, int len, hipDevice_t device);
1465 hipError_t hipDeviceGetUuid(hipUUID* uuid, hipDevice_t device);
1475 hipError_t hipDeviceGetP2PAttribute(int* value, hipDeviceP2PAttr attr,
1476  int srcDevice, int dstDevice);
1485 hipError_t hipDeviceGetPCIBusId(char* pciBusId, int len, int device);
1493 hipError_t hipDeviceGetByPCIBusId(int* device, const char* pciBusId);
1501 hipError_t hipDeviceTotalMem(size_t* bytes, hipDevice_t device);
1502 // doxygen end initialization
1521 hipError_t hipDeviceSynchronize(void);
1533 hipError_t hipDeviceReset(void);
1565 hipError_t hipSetDevice(int deviceId);
1579 hipError_t hipGetDevice(int* deviceId);
1592 hipError_t hipGetDeviceCount(int* count);
1602 hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t attr, int deviceId);
1617 hipError_t hipDeviceGetDefaultMemPool(hipMemPool_t* mem_pool, int device);
1639 hipError_t hipDeviceSetMemPool(int device, hipMemPool_t mem_pool);
1659 hipError_t hipDeviceGetMemPool(hipMemPool_t* mem_pool, int device);
1673 hipError_t hipGetDeviceProperties(hipDeviceProp_t* prop, int deviceId);
1685 hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig);
1696 hipError_t hipDeviceGetCacheConfig(hipFuncCache_t* cacheConfig);
1708 hipError_t hipDeviceGetLimit(size_t* pValue, enum hipLimit_t limit);
1721 hipError_t hipDeviceSetLimit ( enum hipLimit_t limit, size_t value );
1741 hipError_t hipGetDeviceFlags(unsigned int* flags);
1778 hipError_t hipSetDeviceFlags(unsigned flags);
1787 hipError_t hipChooseDevice(int* device, const hipDeviceProp_t* prop);
1800 hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t* linktype, uint32_t* hopcount);
1801 // TODO: implement IPC apis
1827 hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t* handle, void* devPtr);
1865 hipError_t hipIpcOpenMemHandle(void** devPtr, hipIpcMemHandle_t handle, unsigned int flags);
1884 hipError_t hipIpcCloseMemHandle(void* devPtr);
1885 
1900 hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t* handle, hipEvent_t event);
1901 
1917 hipError_t hipIpcOpenEventHandle(hipEvent_t* event, hipIpcEventHandle_t handle);
1918 
1919 // end doxygen Device
1943 hipError_t hipFuncSetAttribute(const void* func, hipFuncAttribute attr, int value);
1954 hipError_t hipFuncSetCacheConfig(const void* func, hipFuncCache_t config);
1967 hipError_t hipFuncSetSharedMemConfig(const void* func, hipSharedMemConfig config);
1968 //doxygen end execution
1990 hipError_t hipGetLastError(void);
2001 hipError_t hipPeekAtLastError(void);
2010 const char* hipGetErrorName(hipError_t hip_error);
2019 const char* hipGetErrorString(hipError_t hipError);
2029 hipError_t hipDrvGetErrorName(hipError_t hipError, const char** errorString);
2039 hipError_t hipDrvGetErrorString(hipError_t hipError, const char** errorString);
2040 // end doxygen Error
2070 hipError_t hipStreamCreate(hipStream_t* stream);
2087 hipError_t hipStreamCreateWithFlags(hipStream_t* stream, unsigned int flags);
2105 hipError_t hipStreamCreateWithPriority(hipStream_t* stream, unsigned int flags, int priority);
2119 hipError_t hipDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
2137 hipError_t hipStreamDestroy(hipStream_t stream);
2153 hipError_t hipStreamQuery(hipStream_t stream);
2173 hipError_t hipStreamSynchronize(hipStream_t stream);
2193 hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
2207 hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int* flags);
2221 hipError_t hipStreamGetPriority(hipStream_t stream, int* priority);
2241 hipError_t hipExtStreamCreateWithCUMask(hipStream_t* stream, uint32_t cuMaskSize, const uint32_t* cuMask);
2254 hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t* cuMask);
2258 typedef void (*hipStreamCallback_t)(hipStream_t stream, hipError_t status, void* userData);
2274 hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void* userData,
2275  unsigned int flags);
2276 // end doxygen Stream
2319 hipError_t hipStreamWaitValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags,
2320  uint32_t mask __dparm(0xFFFFFFFF));
2353 hipError_t hipStreamWaitValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags,
2354  uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF));
2374 hipError_t hipStreamWriteValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags);
2394 hipError_t hipStreamWriteValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags);
2395 // end doxygen Stream Memory Operations
2428 hipError_t hipEventCreateWithFlags(hipEvent_t* event, unsigned flags);
2440 hipError_t hipEventCreate(hipEvent_t* event);
2468 #ifdef __cplusplus
2469 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
2470 #else
2471 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream);
2472 #endif
2473 
2489 hipError_t hipEventDestroy(hipEvent_t event);
2507 hipError_t hipEventSynchronize(hipEvent_t event);
2536 hipError_t hipEventElapsedTime(float* ms, hipEvent_t start, hipEvent_t stop);
2552 hipError_t hipEventQuery(hipEvent_t event);
2553 // end doxygen Events
2584 hipError_t hipPointerSetAttribute(const void* value, hipPointer_attribute attribute,
2585  hipDeviceptr_t ptr);
2586 
2587 
2601 hipError_t hipPointerGetAttributes(hipPointerAttribute_t* attributes, const void* ptr);
2616 hipError_t hipPointerGetAttribute(void* data, hipPointer_attribute attribute,
2617  hipDeviceptr_t ptr);
2634 hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute* attributes,
2635  void** data, hipDeviceptr_t ptr);
2646 hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t* extSem_out,
2647  const hipExternalSemaphoreHandleDesc* semHandleDesc);
2660 hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t* extSemArray,
2661  const hipExternalSemaphoreSignalParams* paramsArray,
2662  unsigned int numExtSems, hipStream_t stream);
2675 hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t* extSemArray,
2676  const hipExternalSemaphoreWaitParams* paramsArray,
2677  unsigned int numExtSems, hipStream_t stream);
2687 hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem);
2688 
2699 hipError_t hipImportExternalMemory(hipExternalMemory_t* extMem_out, const hipExternalMemoryHandleDesc* memHandleDesc);
2711 hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc);
2721 hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem);
2735 hipError_t hipMalloc(void** ptr, size_t size);
2750 hipError_t hipExtMallocWithFlags(void** ptr, size_t sizeBytes, unsigned int flags);
2763 DEPRECATED("use hipHostMalloc instead")
2764 hipError_t hipMallocHost(void** ptr, size_t size);
2777 DEPRECATED("use hipHostMalloc instead")
2778 hipError_t hipMemAllocHost(void** ptr, size_t size);
2793 hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags);
2813 hipError_t hipMallocManaged(void** dev_ptr,
2814  size_t size,
2815  unsigned int flags __dparm(hipMemAttachGlobal));
2826 hipError_t hipMemPrefetchAsync(const void* dev_ptr,
2827  size_t count,
2828  int device,
2829  hipStream_t stream __dparm(0));
2840 hipError_t hipMemAdvise(const void* dev_ptr,
2841  size_t count,
2842  hipMemoryAdvise advice,
2843  int device);
2856 hipError_t hipMemRangeGetAttribute(void* data,
2857  size_t data_size,
2858  hipMemRangeAttribute attribute,
2859  const void* dev_ptr,
2860  size_t count);
2875 hipError_t hipMemRangeGetAttributes(void** data,
2876  size_t* data_sizes,
2877  hipMemRangeAttribute* attributes,
2878  size_t num_attributes,
2879  const void* dev_ptr,
2880  size_t count);
2893 hipError_t hipStreamAttachMemAsync(hipStream_t stream,
2894  void* dev_ptr,
2895  size_t length __dparm(0),
2896  unsigned int flags __dparm(hipMemAttachSingle));
2897 // end doxygen Managed Memory
2953 hipError_t hipMallocAsync(void** dev_ptr, size_t size, hipStream_t stream);
2976 hipError_t hipFreeAsync(void* dev_ptr, hipStream_t stream);
3002 hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold);
3039 hipError_t hipMemPoolSetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void* value);
3076 hipError_t hipMemPoolGetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void* value);
3092 hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc* desc_list, size_t count);
3110 hipError_t hipMemPoolGetAccess(hipMemAccessFlags* flags, hipMemPool_t mem_pool, hipMemLocation* location);
3132 hipError_t hipMemPoolCreate(hipMemPool_t* mem_pool, const hipMemPoolProps* pool_props);
3157 hipError_t hipMemPoolDestroy(hipMemPool_t mem_pool);
3189 hipError_t hipMallocFromPoolAsync(void** dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream);
3215  void* shared_handle,
3216  hipMemPool_t mem_pool,
3217  hipMemAllocationHandleType handle_type,
3218  unsigned int flags);
3241  hipMemPool_t* mem_pool,
3242  void* shared_handle,
3243  hipMemAllocationHandleType handle_type,
3244  unsigned int flags);
3262 hipError_t hipMemPoolExportPointer(hipMemPoolPtrExportData* export_data, void* dev_ptr);
3290  void** dev_ptr,
3291  hipMemPool_t mem_pool,
3292  hipMemPoolPtrExportData* export_data);
3293 // Doxygen end of ordered memory allocator
3311 DEPRECATED("use hipHostMalloc instead")
3312 hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags);
3324 hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags);
3334 hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr);
3371 hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags);
3380 hipError_t hipHostUnregister(void* hostPtr);
3399 hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
3421 hipError_t hipMemAllocPitch(hipDeviceptr_t* dptr, size_t* pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes);
3435 hipError_t hipFree(void* ptr);
3445 DEPRECATED("use hipHostFree instead")
3446 hipError_t hipFreeHost(void* ptr);
3460 hipError_t hipHostFree(void* ptr);
3490 hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
3491 // TODO: Add description
3492 hipError_t hipMemcpyWithStream(void* dst, const void* src, size_t sizeBytes,
3493  hipMemcpyKind kind, hipStream_t stream);
3511 hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void* src, size_t sizeBytes);
3529 hipError_t hipMemcpyDtoH(void* dst, hipDeviceptr_t src, size_t sizeBytes);
3547 hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes);
3565 hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void* src, size_t sizeBytes, hipStream_t stream);
3583 hipError_t hipMemcpyDtoHAsync(void* dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
3601 hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes,
3602  hipStream_t stream);
3603 
3618 hipError_t hipModuleGetGlobal(hipDeviceptr_t* dptr, size_t* bytes,
3619  hipModule_t hmod, const char* name);
3620 
3630 hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
3631 
3641 hipError_t hipGetSymbolSize(size_t* size, const void* symbol);
3642 
3661 hipError_t hipMemcpyToSymbol(const void* symbol, const void* src,
3662  size_t sizeBytes, size_t offset __dparm(0),
3663  hipMemcpyKind kind __dparm(hipMemcpyHostToDevice));
3664 
3678 hipError_t hipMemcpyToSymbolAsync(const void* symbol, const void* src,
3679  size_t sizeBytes, size_t offset,
3680  hipMemcpyKind kind, hipStream_t stream __dparm(0));
3681 
3694 hipError_t hipMemcpyFromSymbol(void* dst, const void* symbol,
3695  size_t sizeBytes, size_t offset __dparm(0),
3696  hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost));
3697 
3711 hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbol,
3712  size_t sizeBytes, size_t offset,
3713  hipMemcpyKind kind,
3714  hipStream_t stream __dparm(0));
3743 hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind,
3744  hipStream_t stream __dparm(0));
3754 hipError_t hipMemset(void* dst, int value, size_t sizeBytes);
3764 hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count);
3780 hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0));
3790 hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count);
3806 hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0));
3816 hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count);
3832 hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0));
3848 hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count,
3849  hipStream_t stream __dparm(0));
3860 hipError_t hipMemset2D(void* dst, size_t pitch, int value, size_t width, size_t height);
3872 hipError_t hipMemset2DAsync(void* dst, size_t pitch, int value, size_t width, size_t height,hipStream_t stream __dparm(0));
3881 hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent );
3891 hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent ,hipStream_t stream __dparm(0));
3908 hipError_t hipMemGetInfo(size_t* free, size_t* total);
3909 
3910 hipError_t hipMemPtrGetInfo(void* ptr, size_t* size);
3923 hipError_t hipMallocArray(hipArray** array, const hipChannelFormatDesc* desc, size_t width,
3924  size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault));
3925 hipError_t hipArrayCreate(hipArray** pHandle, const HIP_ARRAY_DESCRIPTOR* pAllocateArray);
3926 hipError_t hipArrayDestroy(hipArray* array);
3927 hipError_t hipArray3DCreate(hipArray** array, const HIP_ARRAY3D_DESCRIPTOR* pAllocateArray);
3928 hipError_t hipMalloc3D(hipPitchedPtr* pitchedDevPtr, hipExtent extent);
3937 hipError_t hipFreeArray(hipArray* array);
3945 hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray);
3957 hipError_t hipMalloc3DArray(hipArray** array, const struct hipChannelFormatDesc* desc,
3958  struct hipExtent extent, unsigned int flags);
3971  hipMipmappedArray_t *mipmappedArray,
3972  const struct hipChannelFormatDesc* desc,
3973  struct hipExtent extent,
3974  unsigned int numLevels,
3975  unsigned int flags __dparm(0));
3986  hipArray_t *levelArray,
3987  hipMipmappedArray_const_t mipmappedArray,
3988  unsigned int level);
4005 hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
4006  size_t height, hipMemcpyKind kind);
4016 hipError_t hipMemcpyParam2D(const hip_Memcpy2D* pCopy);
4027 hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D* pCopy, hipStream_t stream __dparm(0));
4045 hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
4046  size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
4064 hipError_t hipMemcpy2DToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
4065  size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
4084 hipError_t hipMemcpy2DToArrayAsync(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
4085  size_t spitch, size_t width, size_t height, hipMemcpyKind kind,
4086  hipStream_t stream __dparm(0));
4102 DEPRECATED(DEPRECATED_MSG)
4103 hipError_t hipMemcpyToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
4104  size_t count, hipMemcpyKind kind);
4120 DEPRECATED(DEPRECATED_MSG)
4121 hipError_t hipMemcpyFromArray(void* dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset,
4122  size_t count, hipMemcpyKind kind);
4140 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);
4159 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));
4173 hipError_t hipMemcpyAtoH(void* dst, hipArray* srcArray, size_t srcOffset, size_t count);
4187 hipError_t hipMemcpyHtoA(hipArray* dstArray, size_t dstOffset, const void* srcHost, size_t count);
4198 hipError_t hipMemcpy3D(const struct hipMemcpy3DParms* p);
4210 hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms* p, hipStream_t stream __dparm(0));
4221 hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D* pCopy);
4233 hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D* pCopy, hipStream_t stream);
4234 // doxygen end Memory
4262 hipError_t hipDeviceCanAccessPeer(int* canAccessPeer, int deviceId, int peerDeviceId);
4279 hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags);
4291 hipError_t hipDeviceDisablePeerAccess(int peerDeviceId);
4304 hipError_t hipMemGetAddressRange(hipDeviceptr_t* pbase, size_t* psize, hipDeviceptr_t dptr);
4305 #ifndef USE_PEER_NON_UNIFIED
4306 #define USE_PEER_NON_UNIFIED 1
4307 #endif
4308 #if USE_PEER_NON_UNIFIED == 1
4309 
4320 hipError_t hipMemcpyPeer(void* dst, int dstDeviceId, const void* src, int srcDeviceId,
4321  size_t sizeBytes);
4334 hipError_t hipMemcpyPeerAsync(void* dst, int dstDeviceId, const void* src, int srcDevice,
4335  size_t sizeBytes, hipStream_t stream __dparm(0));
4336 #endif
4337 // doxygen end PeerToPeer
4367 DEPRECATED(DEPRECATED_MSG)
4368 hipError_t hipCtxCreate(hipCtx_t* ctx, unsigned int flags, hipDevice_t device);
4379 DEPRECATED(DEPRECATED_MSG)
4380 hipError_t hipCtxDestroy(hipCtx_t ctx);
4391 DEPRECATED(DEPRECATED_MSG)
4392 hipError_t hipCtxPopCurrent(hipCtx_t* ctx);
4403 DEPRECATED(DEPRECATED_MSG)
4404 hipError_t hipCtxPushCurrent(hipCtx_t ctx);
4415 DEPRECATED(DEPRECATED_MSG)
4416 hipError_t hipCtxSetCurrent(hipCtx_t ctx);
4427 DEPRECATED(DEPRECATED_MSG)
4428 hipError_t hipCtxGetCurrent(hipCtx_t* ctx);
4439 DEPRECATED(DEPRECATED_MSG)
4440 hipError_t hipCtxGetDevice(hipDevice_t* device);
4458 DEPRECATED(DEPRECATED_MSG)
4459 hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int* apiVersion);
4473 DEPRECATED(DEPRECATED_MSG)
4474 hipError_t hipCtxGetCacheConfig(hipFuncCache_t* cacheConfig);
4488 DEPRECATED(DEPRECATED_MSG)
4489 hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig);
4503 DEPRECATED(DEPRECATED_MSG)
4518 DEPRECATED(DEPRECATED_MSG)
4531 DEPRECATED(DEPRECATED_MSG)
4532 hipError_t hipCtxSynchronize(void);
4543 DEPRECATED(DEPRECATED_MSG)
4544 hipError_t hipCtxGetFlags(unsigned int* flags);
4564 DEPRECATED(DEPRECATED_MSG)
4565 hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags);
4582 DEPRECATED(DEPRECATED_MSG)
4583 hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx);
4584 // doxygen end Context deprecated
4600 hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int* flags, int* active);
4613 hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev);
4625 hipError_t hipDevicePrimaryCtxRetain(hipCtx_t* pctx, hipDevice_t dev);
4636 hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev);
4648 hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags);
4649 // doxygen end Context Management
4673 hipError_t hipModuleLoad(hipModule_t* module, const char* fname);
4683 hipError_t hipModuleUnload(hipModule_t module);
4694 hipError_t hipModuleGetFunction(hipFunction_t* function, hipModule_t module, const char* kname);
4703 hipError_t hipFuncGetAttributes(struct hipFuncAttributes* attr, const void* func);
4713 hipError_t hipFuncGetAttribute(int* value, hipFunction_attribute attrib, hipFunction_t hfunc);
4723 hipError_t hipModuleGetTexRef(textureReference** texRef, hipModule_t hmod, const char* name);
4733 hipError_t hipModuleLoadData(hipModule_t* module, const void* image);
4746 hipError_t hipModuleLoadDataEx(hipModule_t* module, const void* image, unsigned int numOptions,
4747  hipJitOption* options, void** optionValues);
4776 hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY,
4777  unsigned int gridDimZ, unsigned int blockDimX,
4778  unsigned int blockDimY, unsigned int blockDimZ,
4779  unsigned int sharedMemBytes, hipStream_t stream,
4780  void** kernelParams, void** extra);
4806 hipError_t hipModuleLaunchCooperativeKernel(hipFunction_t f, unsigned int gridDimX,
4807  unsigned int gridDimY, unsigned int gridDimZ,
4808  unsigned int blockDimX, unsigned int blockDimY,
4809  unsigned int blockDimZ, unsigned int sharedMemBytes,
4810  hipStream_t stream, void** kernelParams);
4826  unsigned int numDevices,
4827  unsigned int flags);
4846 hipError_t hipLaunchCooperativeKernel(const void* f, dim3 gridDim, dim3 blockDimX,
4847  void** kernelParams, unsigned int sharedMemBytes,
4848  hipStream_t stream);
4860  int numDevices, unsigned int flags);
4873  int numDevices, unsigned int flags);
4874 // doxygen end Module
4899 //TODO - Match CUoccupancyB2DSize
4900 hipError_t hipModuleOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
4901  hipFunction_t f, size_t dynSharedMemPerBlk,
4902  int blockSizeLimit);
4918 //TODO - Match CUoccupancyB2DSize
4919 hipError_t hipModuleOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
4920  hipFunction_t f, size_t dynSharedMemPerBlk,
4921  int blockSizeLimit, unsigned int flags);
4931  int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk);
4942  int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags);
4952  int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk);
4963  int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault));
4978 hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
4979  const void* f, size_t dynSharedMemPerBlk,
4980  int blockSizeLimit);
4981 // doxygen end Occupancy
4995 // TODO - expand descriptions:
5001 DEPRECATED("use roctracer/rocTX instead")
5002 hipError_t hipProfilerStart();
5008 DEPRECATED("use roctracer/rocTX instead")
5009 hipError_t hipProfilerStop();
5010 // doxygen end profiler
5037 hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0));
5048 hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
5057 hipError_t hipLaunchByPtr(const void* func);
5075  dim3 blockDim,
5076  size_t sharedMem __dparm(0),
5077  hipStream_t stream __dparm(0));
5097 hipError_t __hipPopCallConfiguration(dim3 *gridDim,
5098  dim3 *blockDim,
5099  size_t *sharedMem,
5100  hipStream_t *stream);
5116 hipError_t hipLaunchKernel(const void* function_address,
5117  dim3 numBlocks,
5118  dim3 dimBlocks,
5119  void** args,
5120  size_t sharedMemBytes __dparm(0),
5121  hipStream_t stream __dparm(0));
5122 
5134 hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void* userData);
5135 
5143 hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D* pCopy);
5144 //TODO: Move this to hip_ext.h
5165 hipError_t hipExtLaunchKernel(const void* function_address, dim3 numBlocks, dim3 dimBlocks,
5166  void** args, size_t sharedMemBytes, hipStream_t stream,
5167  hipEvent_t startEvent, hipEvent_t stopEvent, int flags);
5168 // doxygen end Clang launch
5191  const textureReference* tex,
5192  hipMipmappedArray_const_t mipmappedArray,
5193  const hipChannelFormatDesc* desc);
5194 
5210  hipTextureObject_t* pTexObject,
5211  const hipResourceDesc* pResDesc,
5212  const hipTextureDesc* pTexDesc,
5213  const struct hipResourceViewDesc* pResViewDesc);
5214 
5223 hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject);
5224 
5235  hipChannelFormatDesc* desc,
5236  hipArray_const_t array);
5237 
5248  hipResourceDesc* pResDesc,
5249  hipTextureObject_t textureObject);
5250 
5261  struct hipResourceViewDesc* pResViewDesc,
5262  hipTextureObject_t textureObject);
5263 
5274  hipTextureDesc* pTexDesc,
5275  hipTextureObject_t textureObject);
5276 
5289  hipTextureObject_t* pTexObject,
5290  const HIP_RESOURCE_DESC* pResDesc,
5291  const HIP_TEXTURE_DESC* pTexDesc,
5292  const HIP_RESOURCE_VIEW_DESC* pResViewDesc);
5293 
5303  hipTextureObject_t texObject);
5304 
5315  HIP_RESOURCE_DESC* pResDesc,
5316  hipTextureObject_t texObject);
5317 
5328  HIP_RESOURCE_VIEW_DESC* pResViewDesc,
5329  hipTextureObject_t texObject);
5330 
5341  HIP_TEXTURE_DESC* pTexDesc,
5342  hipTextureObject_t texObject);
5343 
5360 DEPRECATED(DEPRECATED_MSG)
5362  const textureReference** texref,
5363  const void* symbol);
5364 
5365 DEPRECATED(DEPRECATED_MSG)
5366 hipError_t hipTexRefSetAddressMode(
5367  textureReference* texRef,
5368  int dim,
5369  enum hipTextureAddressMode am);
5370 DEPRECATED(DEPRECATED_MSG)
5371 hipError_t hipTexRefSetArray(
5372  textureReference* tex,
5373  hipArray_const_t array,
5374  unsigned int flags);
5375 DEPRECATED(DEPRECATED_MSG)
5376 hipError_t hipTexRefSetFilterMode(
5377  textureReference* texRef,
5378  enum hipTextureFilterMode fm);
5379 DEPRECATED(DEPRECATED_MSG)
5380 hipError_t hipTexRefSetFlags(
5381  textureReference* texRef,
5382  unsigned int Flags);
5383 DEPRECATED(DEPRECATED_MSG)
5384 hipError_t hipTexRefSetFormat(
5385  textureReference* texRef,
5386  hipArray_Format fmt,
5387  int NumPackedComponents);
5388 DEPRECATED(DEPRECATED_MSG)
5389 hipError_t hipBindTexture(
5390  size_t* offset,
5391  const textureReference* tex,
5392  const void* devPtr,
5393  const hipChannelFormatDesc* desc,
5394  size_t size __dparm(UINT_MAX));
5395 DEPRECATED(DEPRECATED_MSG)
5396 hipError_t hipBindTexture2D(
5397  size_t* offset,
5398  const textureReference* tex,
5399  const void* devPtr,
5400  const hipChannelFormatDesc* desc,
5401  size_t width,
5402  size_t height,
5403  size_t pitch);
5404 DEPRECATED(DEPRECATED_MSG)
5405 hipError_t hipBindTextureToArray(
5406  const textureReference* tex,
5407  hipArray_const_t array,
5408  const hipChannelFormatDesc* desc);
5409 DEPRECATED(DEPRECATED_MSG)
5410 hipError_t hipGetTextureAlignmentOffset(
5411  size_t* offset,
5412  const textureReference* texref);
5413 DEPRECATED(DEPRECATED_MSG)
5414 hipError_t hipUnbindTexture(const textureReference* tex);
5415 DEPRECATED(DEPRECATED_MSG)
5416 hipError_t hipTexRefGetAddress(
5417  hipDeviceptr_t* dev_ptr,
5418  const textureReference* texRef);
5419 DEPRECATED(DEPRECATED_MSG)
5420 hipError_t hipTexRefGetAddressMode(
5421  enum hipTextureAddressMode* pam,
5422  const textureReference* texRef,
5423  int dim);
5424 DEPRECATED(DEPRECATED_MSG)
5425 hipError_t hipTexRefGetFilterMode(
5426  enum hipTextureFilterMode* pfm,
5427  const textureReference* texRef);
5428 DEPRECATED(DEPRECATED_MSG)
5429 hipError_t hipTexRefGetFlags(
5430  unsigned int* pFlags,
5431  const textureReference* texRef);
5432 DEPRECATED(DEPRECATED_MSG)
5433 hipError_t hipTexRefGetFormat(
5434  hipArray_Format* pFormat,
5435  int* pNumChannels,
5436  const textureReference* texRef);
5437 DEPRECATED(DEPRECATED_MSG)
5438 hipError_t hipTexRefGetMaxAnisotropy(
5439  int* pmaxAnsio,
5440  const textureReference* texRef);
5441 DEPRECATED(DEPRECATED_MSG)
5442 hipError_t hipTexRefGetMipmapFilterMode(
5443  enum hipTextureFilterMode* pfm,
5444  const textureReference* texRef);
5445 DEPRECATED(DEPRECATED_MSG)
5446 hipError_t hipTexRefGetMipmapLevelBias(
5447  float* pbias,
5448  const textureReference* texRef);
5449 DEPRECATED(DEPRECATED_MSG)
5450 hipError_t hipTexRefGetMipmapLevelClamp(
5451  float* pminMipmapLevelClamp,
5452  float* pmaxMipmapLevelClamp,
5453  const textureReference* texRef);
5454 DEPRECATED(DEPRECATED_MSG)
5455 hipError_t hipTexRefGetMipMappedArray(
5456  hipMipmappedArray_t* pArray,
5457  const textureReference* texRef);
5458 DEPRECATED(DEPRECATED_MSG)
5459 hipError_t hipTexRefSetAddress(
5460  size_t* ByteOffset,
5461  textureReference* texRef,
5462  hipDeviceptr_t dptr,
5463  size_t bytes);
5464 DEPRECATED(DEPRECATED_MSG)
5465 hipError_t hipTexRefSetAddress2D(
5466  textureReference* texRef,
5467  const HIP_ARRAY_DESCRIPTOR* desc,
5468  hipDeviceptr_t dptr,
5469  size_t Pitch);
5470 DEPRECATED(DEPRECATED_MSG)
5471 hipError_t hipTexRefSetMaxAnisotropy(
5472  textureReference* texRef,
5473  unsigned int maxAniso);
5474  DEPRECATED(DEPRECATED_MSG)
5475 hipError_t hipTexRefSetBorderColor(
5476  textureReference* texRef,
5477  float* pBorderColor);
5478 DEPRECATED(DEPRECATED_MSG)
5479 hipError_t hipTexRefSetMipmapFilterMode(
5480  textureReference* texRef,
5481  enum hipTextureFilterMode fm);
5482 DEPRECATED(DEPRECATED_MSG)
5483 hipError_t hipTexRefSetMipmapLevelBias(
5484  textureReference* texRef,
5485  float bias);
5486 DEPRECATED(DEPRECATED_MSG)
5487 hipError_t hipTexRefSetMipmapLevelClamp(
5488  textureReference* texRef,
5489  float minMipMapLevelClamp,
5490  float maxMipMapLevelClamp);
5491 DEPRECATED(DEPRECATED_MSG)
5492 hipError_t hipTexRefSetMipmappedArray(
5493  textureReference* texRef,
5494  struct hipMipmappedArray* mipmappedArray,
5495  unsigned int Flags);
5496 
5497 // doxygen end deprecated texture management
5502 // The following are not supported.
5511 hipError_t hipMipmappedArrayCreate(
5512  hipMipmappedArray_t* pHandle,
5513  HIP_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc,
5514  unsigned int numMipmapLevels);
5515 hipError_t hipMipmappedArrayDestroy(
5516  hipMipmappedArray_t hMipmappedArray);
5517 hipError_t hipMipmappedArrayGetLevel(
5518  hipArray_t* pLevelArray,
5519  hipMipmappedArray_t hMipMappedArray,
5520  unsigned int level);
5521 // doxygen end unsuppported texture management
5526 // doxygen end Texture management
5538 // This group is for HIPrtc
5539 
5540 // doxygen end Runtime
5551 const char* hipApiName(uint32_t id);
5552 const char* hipKernelNameRef(const hipFunction_t f);
5553 const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream);
5554 int hipGetStreamDeviceId(hipStream_t stream);
5555 
5556 // doxygen end Callback
5581 hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode);
5582 
5595 hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t* pGraph);
5596 
5610 hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus,
5611  unsigned long long* pId);
5612 
5629 hipError_t hipStreamGetCaptureInfo_v2(hipStream_t stream, hipStreamCaptureStatus* captureStatus_out,
5630  unsigned long long* id_out __dparm(0),
5631  hipGraph_t* graph_out __dparm(0),
5632  const hipGraphNode_t** dependencies_out __dparm(0),
5633  size_t* numDependencies_out __dparm(0));
5634 
5647 hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus);
5648 
5661 hipError_t hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t* dependencies,
5662  size_t numDependencies,
5663  unsigned int flags __dparm(0));
5664 
5675 hipError_t hipThreadExchangeStreamCaptureMode(hipStreamCaptureMode* mode);
5676 
5689 hipError_t hipGraphCreate(hipGraph_t* pGraph, unsigned int flags);
5690 
5702 hipError_t hipGraphDestroy(hipGraph_t graph);
5703 
5717 hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t* from,
5718  const hipGraphNode_t* to, size_t numDependencies);
5719 
5734  const hipGraphNode_t* to, size_t numDependencies);
5735 
5754  size_t* numEdges);
5755 
5772 hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t* nodes, size_t* numNodes);
5773 
5790 hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t* pRootNodes,
5791  size_t* pNumRootNodes);
5792 
5810  size_t* pNumDependencies);
5811 
5830  size_t* pNumDependentNodes);
5831 
5844 
5856 
5868 hipError_t hipGraphClone(hipGraph_t* pGraphClone, hipGraph_t originalGraph);
5869 
5883  hipGraph_t clonedGraph);
5884 
5901 hipError_t hipGraphInstantiate(hipGraphExec_t* pGraphExec, hipGraph_t graph,
5902  hipGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
5903 
5917  unsigned long long flags);
5918 
5929 hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream);
5930 
5941 hipError_t hipGraphUpload(hipGraphExec_t graphExec, hipStream_t stream);
5942 
5953 hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec);
5954 
5955 // Check whether an executable graph can be updated with a graph and perform the update if possible.
5969 hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph,
5970  hipGraphNode_t* hErrorNode_out,
5971  hipGraphExecUpdateResult* updateResult_out);
5972 
5985 hipError_t hipGraphAddKernelNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5986  const hipGraphNode_t* pDependencies, size_t numDependencies,
5987  const hipKernelNodeParams* pNodeParams);
5988 
5999 
6010 
6022  const hipKernelNodeParams* pNodeParams);
6023 
6036 hipError_t hipGraphAddMemcpyNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
6037  const hipGraphNode_t* pDependencies, size_t numDependencies,
6038  const hipMemcpy3DParms* pCopyParams);
6049 
6059 hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms* pNodeParams);
6060 
6071 hipError_t hipGraphKernelNodeSetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr,
6072  const hipKernelNodeAttrValue* value);
6083 hipError_t hipGraphKernelNodeGetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr,
6084  hipKernelNodeAttrValue* value);
6096  hipMemcpy3DParms* pNodeParams);
6097 
6113 hipError_t hipGraphAddMemcpyNode1D(hipGraphNode_t* pGraphNode, hipGraph_t graph,
6114  const hipGraphNode_t* pDependencies, size_t numDependencies,
6115  void* dst, const void* src, size_t count, hipMemcpyKind kind);
6116 
6129 hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void* dst, const void* src,
6130  size_t count, hipMemcpyKind kind);
6131 
6147  void* dst, const void* src, size_t count,
6148  hipMemcpyKind kind);
6149 
6167  const hipGraphNode_t* pDependencies,
6168  size_t numDependencies, void* dst, const void* symbol,
6169  size_t count, size_t offset, hipMemcpyKind kind);
6170 
6184 hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void* dst, const void* symbol,
6185  size_t count, size_t offset, hipMemcpyKind kind);
6186 
6203  void* dst, const void* symbol, size_t count,
6204  size_t offset, hipMemcpyKind kind);
6205 
6223  const hipGraphNode_t* pDependencies,
6224  size_t numDependencies, const void* symbol,
6225  const void* src, size_t count, size_t offset,
6226  hipMemcpyKind kind);
6227 
6241 hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void* symbol,
6242  const void* src, size_t count, size_t offset,
6243  hipMemcpyKind kind);
6244 
6245 
6261  const void* symbol, const void* src,
6262  size_t count, size_t offset, hipMemcpyKind kind);
6263 
6276 hipError_t hipGraphAddMemsetNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
6277  const hipGraphNode_t* pDependencies, size_t numDependencies,
6278  const hipMemsetParams* pMemsetParams);
6279 
6290 
6300 hipError_t hipGraphMemsetNodeSetParams(hipGraphNode_t node, const hipMemsetParams* pNodeParams);
6301 
6313  const hipMemsetParams* pNodeParams);
6314 
6327 hipError_t hipGraphAddHostNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
6328  const hipGraphNode_t* pDependencies, size_t numDependencies,
6329  const hipHostNodeParams* pNodeParams);
6330 
6341 
6351 hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams* pNodeParams);
6352 
6364  const hipHostNodeParams* pNodeParams);
6365 
6379  const hipGraphNode_t* pDependencies, size_t numDependencies,
6380  hipGraph_t childGraph);
6381 
6392 
6404  hipGraph_t childGraph);
6405 
6417 hipError_t hipGraphAddEmptyNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
6418  const hipGraphNode_t* pDependencies, size_t numDependencies);
6419 
6420 
6434  const hipGraphNode_t* pDependencies, size_t numDependencies,
6435  hipEvent_t event);
6436 
6446 hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t* event_out);
6447 
6457 hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event);
6458 
6470  hipEvent_t event);
6471 
6485  const hipGraphNode_t* pDependencies, size_t numDependencies,
6486  hipEvent_t event);
6487 
6488 
6498 hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t* event_out);
6499 
6509 hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event);
6510 
6522  hipEvent_t event);
6523 
6536 hipError_t hipGraphAddMemAllocNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
6537  const hipGraphNode_t* pDependencies, size_t numDependencies, hipMemAllocNodeParams* pNodeParams);
6538 
6549 
6562 hipError_t hipGraphAddMemFreeNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
6563  const hipGraphNode_t* pDependencies, size_t numDependencies, void* dev_ptr);
6564 
6574 hipError_t hipGraphMemFreeNodeGetParams(hipGraphNode_t node, void* dev_ptr);
6575 
6586 hipError_t hipDeviceGetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void* value);
6587 
6598 hipError_t hipDeviceSetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void* value);
6599 
6607 hipError_t hipDeviceGraphMemTrim(int device);
6608 
6621 hipError_t hipUserObjectCreate(hipUserObject_t* object_out, void* ptr, hipHostFn_t destroy,
6622  unsigned int initialRefcount, unsigned int flags);
6623 
6633 hipError_t hipUserObjectRelease(hipUserObject_t object, unsigned int count __dparm(1));
6634 
6644 hipError_t hipUserObjectRetain(hipUserObject_t object, unsigned int count __dparm(1));
6645 
6658  unsigned int count __dparm(1), unsigned int flags __dparm(0));
6659 
6671  unsigned int count __dparm(1));
6672 
6683 hipError_t hipGraphDebugDotPrint(hipGraph_t graph, const char* path, unsigned int flags);
6684 
6700 
6724  unsigned int isEnabled);
6746  unsigned int* isEnabled);
6747 
6748 // doxygen end graph API
6771 hipError_t hipMemAddressFree(void* devPtr, size_t size);
6772 
6785 hipError_t hipMemAddressReserve(void** ptr, size_t size, size_t alignment, void* addr, unsigned long long flags);
6786 
6798 hipError_t hipMemCreate(hipMemGenericAllocationHandle_t* handle, size_t size, const hipMemAllocationProp* prop, unsigned long long flags);
6799 
6811 hipError_t hipMemExportToShareableHandle(void* shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags);
6812 
6823 hipError_t hipMemGetAccess(unsigned long long* flags, const hipMemLocation* location, void* ptr);
6824 
6836 
6847 
6859 
6872 hipError_t hipMemMap(void* ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags);
6873 
6884 hipError_t hipMemMapArrayAsync(hipArrayMapInfo* mapInfoList, unsigned int count, hipStream_t stream);
6885 
6895 
6906 
6918 hipError_t hipMemSetAccess(void* ptr, size_t size, const hipMemAccessDesc* desc, size_t count);
6919 
6929 hipError_t hipMemUnmap(void* ptr, size_t size);
6930 
6931 // doxygen end virtual memory management API
6943 typedef unsigned int GLuint;
6944 typedef unsigned int GLenum;
6945 
6946 // Queries devices associated with GL Context.
6947 hipError_t hipGLGetDevices(unsigned int* pHipDeviceCount, int* pHipDevices,
6948  unsigned int hipDeviceCount, hipGLDeviceList deviceList);
6949 // Registers a GL Buffer for interop and returns corresponding graphics resource.
6950 hipError_t hipGraphicsGLRegisterBuffer(hipGraphicsResource** resource, GLuint buffer,
6951  unsigned int flags);
6952 // Register a GL Image for interop and returns the corresponding graphic resource
6953 hipError_t hipGraphicsGLRegisterImage(hipGraphicsResource** resource, GLuint image,
6954  GLenum target, unsigned int flags);
6955 // Maps a graphics resource for hip access.
6956 hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t* resources,
6957  hipStream_t stream __dparm(0) );
6958 // Get an array through which to access a subresource of a mapped graphics resource.
6959 hipError_t hipGraphicsSubResourceGetMappedArray(hipArray_t* array, hipGraphicsResource_t resource,
6960  unsigned int arrayIndex, unsigned int mipLevel);
6961 // Gets device accessible address of a graphics resource.
6962 hipError_t hipGraphicsResourceGetMappedPointer(void** devPtr, size_t* size,
6963  hipGraphicsResource_t resource);
6964 // Unmaps a graphics resource for hip access.
6965 hipError_t hipGraphicsUnmapResources(int count, hipGraphicsResource_t* resources,
6966  hipStream_t stream __dparm(0));
6967 // Unregisters a graphics resource.
6968 hipError_t hipGraphicsUnregisterResource(hipGraphicsResource_t resource);
6969 // doxygen end GL Interop
6975 #ifdef __cplusplus
6976 } /* extern "c" */
6977 #endif
6978 #ifdef __cplusplus
6979 #if defined(__clang__) && defined(__HIP__)
6980 template <typename T>
6981 static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
6982  T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0) {
6983  return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
6984 }
6985 template <typename T>
6986 static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
6987  T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0, unsigned int flags = 0 ) {
6988  return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
6989 }
6990 #endif // defined(__clang__) && defined(__HIP__)
6991 template <typename T>
6992 hipError_t hipGetSymbolAddress(void** devPtr, const T &symbol) {
6993  return ::hipGetSymbolAddress(devPtr, (const void *)&symbol);
6994 }
6995 template <typename T>
6996 hipError_t hipGetSymbolSize(size_t* size, const T &symbol) {
6997  return ::hipGetSymbolSize(size, (const void *)&symbol);
6998 }
6999 template <typename T>
7000 hipError_t hipMemcpyToSymbol(const T& symbol, const void* src, size_t sizeBytes,
7001  size_t offset __dparm(0),
7002  hipMemcpyKind kind __dparm(hipMemcpyHostToDevice)) {
7003  return ::hipMemcpyToSymbol((const void*)&symbol, src, sizeBytes, offset, kind);
7004 }
7005 template <typename T>
7006 hipError_t hipMemcpyToSymbolAsync(const T& symbol, const void* src, size_t sizeBytes, size_t offset,
7007  hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
7008  return ::hipMemcpyToSymbolAsync((const void*)&symbol, src, sizeBytes, offset, kind, stream);
7009 }
7010 template <typename T>
7011 hipError_t hipMemcpyFromSymbol(void* dst, const T &symbol,
7012  size_t sizeBytes, size_t offset __dparm(0),
7013  hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost)) {
7014  return ::hipMemcpyFromSymbol(dst, (const void*)&symbol, sizeBytes, offset, kind);
7015 }
7016 template <typename T>
7017 hipError_t hipMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t sizeBytes, size_t offset,
7018  hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
7019  return ::hipMemcpyFromSymbolAsync(dst, (const void*)&symbol, sizeBytes, offset, kind, stream);
7020 }
7021 template <class T>
7023  int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk) {
7025  numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk);
7026 }
7027 template <class T>
7029  int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags) {
7031  numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk, flags);
7032 }
7052 template<typename UnaryFunction, class T>
7053 static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(
7054  int* min_grid_size,
7055  int* block_size,
7056  T func,
7057  UnaryFunction block_size_to_dynamic_smem_size,
7058  int block_size_limit = 0,
7059  unsigned int flags = 0) {
7060  if (min_grid_size == nullptr || block_size == nullptr ||
7061  reinterpret_cast<const void*>(func) == nullptr) {
7062  return hipErrorInvalidValue;
7063  }
7064 
7065  int dev;
7066  hipError_t status;
7067  if ((status = hipGetDevice(&dev)) != hipSuccess) {
7068  return status;
7069  }
7070 
7071  int max_threads_per_cu;
7072  if ((status = hipDeviceGetAttribute(&max_threads_per_cu,
7074  return status;
7075  }
7076 
7077  int warp_size;
7078  if ((status = hipDeviceGetAttribute(&warp_size,
7080  return status;
7081  }
7082 
7083  int max_cu_count;
7084  if ((status = hipDeviceGetAttribute(&max_cu_count,
7086  return status;
7087  }
7088 
7089  struct hipFuncAttributes attr;
7090  if ((status = hipFuncGetAttributes(&attr, reinterpret_cast<const void*>(func))) != hipSuccess) {
7091  return status;
7092  }
7093 
7094  // Initial limits for the execution
7095  const int func_max_threads_per_block = attr.maxThreadsPerBlock;
7096  if (block_size_limit == 0) {
7097  block_size_limit = func_max_threads_per_block;
7098  }
7099 
7100  if (func_max_threads_per_block < block_size_limit) {
7101  block_size_limit = func_max_threads_per_block;
7102  }
7103 
7104  const int block_size_limit_aligned =
7105  ((block_size_limit + (warp_size - 1)) / warp_size) * warp_size;
7106 
7107  // For maximum search
7108  int max_threads = 0;
7109  int max_block_size{};
7110  int max_num_blocks{};
7111  for (int block_size_check_aligned = block_size_limit_aligned;
7112  block_size_check_aligned > 0;
7113  block_size_check_aligned -= warp_size) {
7114  // Make sure the logic uses the requested limit and not aligned
7115  int block_size_check = (block_size_limit < block_size_check_aligned) ?
7116  block_size_limit : block_size_check_aligned;
7117 
7118  size_t dyn_smem_size = block_size_to_dynamic_smem_size(block_size_check);
7119  int optimal_blocks;
7121  &optimal_blocks, func, block_size_check, dyn_smem_size, flags)) != hipSuccess) {
7122  return status;
7123  }
7124 
7125  int total_threads = block_size_check * optimal_blocks;
7126  if (total_threads > max_threads) {
7127  max_block_size = block_size_check;
7128  max_num_blocks = optimal_blocks;
7129  max_threads = total_threads;
7130  }
7131 
7132  // Break if the logic reached possible maximum
7133  if (max_threads_per_cu == max_threads) {
7134  break;
7135  }
7136  }
7137 
7138  // Grid size is the number of blocks per CU * CU count
7139  *min_grid_size = max_num_blocks * max_cu_count;
7140  *block_size = max_block_size;
7141 
7142  return status;
7143 }
7144 
7163 template<typename UnaryFunction, class T>
7164 static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeVariableSMem(
7165  int* min_grid_size,
7166  int* block_size,
7167  T func,
7168  UnaryFunction block_size_to_dynamic_smem_size,
7169  int block_size_limit = 0)
7170 {
7171  return hipOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(min_grid_size, block_size, func,
7172  block_size_to_dynamic_smem_size, block_size_limit);
7173 }
7174 
7175 template <typename F>
7176 inline hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
7177  F kernel, size_t dynSharedMemPerBlk, uint32_t blockSizeLimit) {
7178 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize,(hipFunction_t)kernel, dynSharedMemPerBlk, blockSizeLimit);
7179 }
7180 template <class T>
7181 inline hipError_t hipLaunchCooperativeKernel(T f, dim3 gridDim, dim3 blockDim,
7182  void** kernelParams, unsigned int sharedMemBytes, hipStream_t stream) {
7183  return hipLaunchCooperativeKernel(reinterpret_cast<const void*>(f), gridDim,
7184  blockDim, kernelParams, sharedMemBytes, stream);
7185 }
7186 template <class T>
7187 inline hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams* launchParamsList,
7188  unsigned int numDevices, unsigned int flags = 0) {
7189  return hipLaunchCooperativeKernelMultiDevice(launchParamsList, numDevices, flags);
7190 }
7191 template <class T>
7192 inline hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams* launchParamsList,
7193  unsigned int numDevices, unsigned int flags = 0) {
7194  return hipExtLaunchMultiKernelMultiDevice(launchParamsList, numDevices, flags);
7195 }
7196 hipError_t hipCreateSurfaceObject(hipSurfaceObject_t* pSurfObject, const hipResourceDesc* pResDesc);
7197 hipError_t hipDestroySurfaceObject(hipSurfaceObject_t surfaceObject);
7198 template <class T, int dim, enum hipTextureReadMode readMode>
7199 DEPRECATED(DEPRECATED_MSG)
7200 static inline hipError_t hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex,
7201  const void* devPtr, size_t size = UINT_MAX) {
7202  return hipBindTexture(offset, &tex, devPtr, &tex.channelDesc, size);
7203 }
7204 template <class T, int dim, enum hipTextureReadMode readMode>
7205 DEPRECATED(DEPRECATED_MSG)
7206 static inline hipError_t
7207  hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex, const void* devPtr,
7208  const struct hipChannelFormatDesc& desc, size_t size = UINT_MAX) {
7209  return hipBindTexture(offset, &tex, devPtr, &desc, size);
7210 }
7211 template<class T, int dim, enum hipTextureReadMode readMode>
7212 DEPRECATED(DEPRECATED_MSG)
7213 static inline hipError_t hipBindTexture2D(
7214  size_t *offset,
7215  const struct texture<T, dim, readMode> &tex,
7216  const void *devPtr,
7217  size_t width,
7218  size_t height,
7219  size_t pitch)
7220 {
7221  return hipBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch);
7222 }
7223 template<class T, int dim, enum hipTextureReadMode readMode>
7224 DEPRECATED(DEPRECATED_MSG)
7225 static inline hipError_t hipBindTexture2D(
7226  size_t *offset,
7227  const struct texture<T, dim, readMode> &tex,
7228  const void *devPtr,
7229  const struct hipChannelFormatDesc &desc,
7230  size_t width,
7231  size_t height,
7232  size_t pitch)
7233 {
7234  return hipBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch);
7235 }
7236 template<class T, int dim, enum hipTextureReadMode readMode>
7237 DEPRECATED(DEPRECATED_MSG)
7238 static inline hipError_t hipBindTextureToArray(
7239  const struct texture<T, dim, readMode> &tex,
7240  hipArray_const_t array)
7241 {
7242  struct hipChannelFormatDesc desc;
7243  hipError_t err = hipGetChannelDesc(&desc, array);
7244  return (err == hipSuccess) ? hipBindTextureToArray(&tex, array, &desc) : err;
7245 }
7246 template<class T, int dim, enum hipTextureReadMode readMode>
7247 DEPRECATED(DEPRECATED_MSG)
7248 static inline hipError_t hipBindTextureToArray(
7249  const struct texture<T, dim, readMode> &tex,
7250  hipArray_const_t array,
7251  const struct hipChannelFormatDesc &desc)
7252 {
7253  return hipBindTextureToArray(&tex, array, &desc);
7254 }
7255 template<class T, int dim, enum hipTextureReadMode readMode>
7256 static inline hipError_t hipBindTextureToMipmappedArray(
7257  const struct texture<T, dim, readMode> &tex,
7258  hipMipmappedArray_const_t mipmappedArray)
7259 {
7260  struct hipChannelFormatDesc desc;
7261  hipArray_t levelArray;
7262  hipError_t err = hipGetMipmappedArrayLevel(&levelArray, mipmappedArray, 0);
7263  if (err != hipSuccess) {
7264  return err;
7265  }
7266  err = hipGetChannelDesc(&desc, levelArray);
7267  return (err == hipSuccess) ? hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc) : err;
7268 }
7269 template<class T, int dim, enum hipTextureReadMode readMode>
7270 static inline hipError_t hipBindTextureToMipmappedArray(
7271  const struct texture<T, dim, readMode> &tex,
7272  hipMipmappedArray_const_t mipmappedArray,
7273  const struct hipChannelFormatDesc &desc)
7274 {
7275  return hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc);
7276 }
7277 template<class T, int dim, enum hipTextureReadMode readMode>
7278 DEPRECATED(DEPRECATED_MSG)
7279 static inline hipError_t hipUnbindTexture(
7280  const struct texture<T, dim, readMode> &tex)
7281 {
7282  return hipUnbindTexture(&tex);
7283 }
7291 static inline hipError_t hipMallocAsync(
7292  void** dev_ptr,
7293  size_t size,
7294  hipMemPool_t mem_pool,
7295  hipStream_t stream) {
7296  return hipMallocFromPoolAsync(dev_ptr, size, mem_pool, stream);
7297 }
7298 
7299 template<class T>
7300 static inline hipError_t hipMallocAsync(
7301  T** dev_ptr,
7302  size_t size,
7303  hipMemPool_t mem_pool,
7304  hipStream_t stream) {
7305  return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
7306 }
7307 
7308 template<class T>
7309 static inline hipError_t hipMallocAsync(
7310  T** dev_ptr,
7311  size_t size,
7312  hipStream_t stream) {
7313  return hipMallocAsync(reinterpret_cast<void**>(dev_ptr), size, stream);
7314 }
7315 
7316 template<class T>
7317 static inline hipError_t hipMallocFromPoolAsync(
7318  T** dev_ptr,
7319  size_t size,
7320  hipMemPool_t mem_pool,
7321  hipStream_t stream) {
7322  return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
7323 }
7324 #endif // __cplusplus
7325 
7326 #ifdef __GNUC__
7327 #pragma GCC visibility pop
7328 #endif
7329 // doxygen end HIP API
7334 #elif !(defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && (defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
7335 #include "hip/nvidia_detail/nvidia_hip_runtime_api.h"
7336 #else
7337 #error("Must define exactly one of __HIP_PLATFORM_AMD__ or __HIP_PLATFORM_NVIDIA__");
7338 #endif
7339 
7340 
7352 #if defined(__cplusplus) && !defined(__HIP_DISABLE_CPP_FUNCTIONS__)
7353 template <class T>
7354 static inline hipError_t hipMalloc(T** devPtr, size_t size) {
7355  return hipMalloc((void**)devPtr, size);
7356 }
7357 
7358 // Provide an override to automatically typecast the pointer type from void**, and also provide a
7359 // default for the flags.
7360 template <class T>
7361 static inline hipError_t hipHostMalloc(T** ptr, size_t size,
7362  unsigned int flags = hipHostMallocDefault) {
7363  return hipHostMalloc((void**)ptr, size, flags);
7364 }
7365 
7366 template <class T>
7367 static inline hipError_t hipMallocManaged(T** devPtr, size_t size,
7368  unsigned int flags = hipMemAttachGlobal) {
7369  return hipMallocManaged((void**)devPtr, size, flags);
7370 }
7371 
7372 #endif
7373 #endif
7374 
7375 #include <hip/amd_detail/amd_hip_runtime_pt_api.h>
7376 
7377 #if USE_PROF_API
7378 #include <hip/amd_detail/hip_prof_str.h>
7379 #endif
hipGraphExecMemcpyNodeSetParams
hipError_t hipGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Sets the parameters for a memcpy node in the given graphExec.
hipKernelNodeAttrValue
Definition: hip_runtime_api.h:1188
hipGraphNodeTypeExtSemaphoreWait
@ hipGraphNodeTypeExtSemaphoreWait
External Semaphore wait node.
Definition: hip_runtime_api.h:1127
hipFunctionLaunchParams_t::hStream
hipStream_t hStream
Stream identifier.
Definition: hip_runtime_api.h:973
hipUserObject_t
struct hipUserObject * hipUserObject_t
Definition: hip_runtime_api.h:1109
hipGraphNodeTypeMemFree
@ hipGraphNodeTypeMemFree
Memory free node.
Definition: hip_runtime_api.h:1129
hipArrayMapInfo::deviceBitMask
unsigned int deviceBitMask
Device ordinal bit mask.
Definition: hip_runtime_api.h:1359
hipFuncAttributes
Definition: hip_runtime_api.h:545
hipMemPoolProps::allocType
hipMemAllocationType allocType
Allocation type. Currently must be specified as hipMemAllocationTypePinned.
Definition: hip_runtime_api.h:876
hipFunctionLaunchParams_t::kernelParams
void ** kernelParams
Kernel parameters.
Definition: hip_runtime_api.h:974
hipGraphDebugDotFlags
hipGraphDebugDotFlags
Definition: hip_runtime_api.h:1249
hipExternalMemoryBufferDesc_st
Definition: hip_runtime_api.h:997
hipPointerGetAttributes
hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, const void *ptr)
Return attributes for the specified pointer.
hipMemAllocNodeParams
Definition: hip_runtime_api.h:1157
hipDeviceAttributeMaxPitch
@ hipDeviceAttributeMaxPitch
Maximum pitch in bytes allowed by memory copies.
Definition: hip_runtime_api.h:401
hipMemset3DAsync
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.
hipMemAccessDesc::flags
hipMemAccessFlags flags
Accessibility flags to set.
Definition: hip_runtime_api.h:846
hipGraphReleaseUserObject
hipError_t hipGraphReleaseUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count __dparm(1))
Release user object from graphs.
hipDeviceAttributeAsyncEngineCount
@ hipDeviceAttributeAsyncEngineCount
Cuda only. Asynchronous engines number.
Definition: hip_runtime_api.h:341
hipMemcpy3D
hipError_t hipMemcpy3D(const struct hipMemcpy3DParms *p)
Copies data between host and device.
hipErrorStreamCaptureImplicit
hipErrorStreamCaptureImplicit
Definition: hip_runtime_api.h:307
hipIpcOpenMemHandle
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...
hipCtxEnablePeerAccess
hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
Enables direct access to memory allocations in a peer context.
hipGraphicsRegisterFlags
hipGraphicsRegisterFlags
Definition: hip_runtime_api.h:1079
hipDeviceProp_t::regsPerBlock
int regsPerBlock
Registers per block.
Definition: hip_runtime_api.h:91
hipMemPoolPtrExportData
Definition: hip_runtime_api.h:888
hipMemSetAccess
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.
hipGraphNodeTypeMemcpyToSymbol
@ hipGraphNodeTypeMemcpyToSymbol
MemcpyToSymbol node.
Definition: hip_runtime_api.h:1131
hipMallocPitch
hipError_t hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height)
hipSetDevice
hipError_t hipSetDevice(int deviceId)
Set default device to be used for subsequent hip API calls from this thread.
hipDeviceAttributeManagedMemory
@ hipDeviceAttributeManagedMemory
Device supports allocating managed memory on this system.
Definition: hip_runtime_api.h:366
hipArrayMapInfo::offsetX
unsigned int offsetX
X offset in elements.
Definition: hip_runtime_api.h:1340
hipGetTextureObjectResourceViewDesc
hipError_t hipGetTextureObjectResourceViewDesc(struct hipResourceViewDesc *pResViewDesc, hipTextureObject_t textureObject)
Gets resource view descriptor for the texture object.
hipDeviceGetGraphMemAttribute
hipError_t hipDeviceGetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void *value)
Get the mem attribute for graphs.
hipDeviceGetP2PAttribute
hipError_t hipDeviceGetP2PAttribute(int *value, hipDeviceP2PAttr attr, int srcDevice, int dstDevice)
Returns a value for attribute of link between two devices.
hipGraphInstantiateFlagAutoFreeOnLaunch
@ hipGraphInstantiateFlagAutoFreeOnLaunch
Automatically free memory allocated in a graph before relaunching.
Definition: hip_runtime_api.h:1245
hipMemsetD16Async
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...
hipModuleLaunchCooperativeKernelMultiDevice
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...
hipMemcpy2DFromArrayAsync
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.
hipMemGenericAllocationHandle_t
struct ihipMemGenericAllocationHandle * hipMemGenericAllocationHandle_t
Definition: hip_runtime_api.h:1285
hipMemPoolTrimTo
hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold)
Releases freed memory back to the OS.
hipDeviceAttributeMemoryBusWidth
@ hipDeviceAttributeMemoryBusWidth
Global memory bus width in bits.
Definition: hip_runtime_api.h:402
hipDeviceAttributePageableMemoryAccessUsesHostPageTables
@ hipDeviceAttributePageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition: hip_runtime_api.h:410
hipGraphNodeTypeMemcpyFromSymbol
@ hipGraphNodeTypeMemcpyFromSymbol
MemcpyFromSymbol node.
Definition: hip_runtime_api.h:1130
hipDestroyExternalMemory
hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem)
Destroys an external memory object.
hipGraphRemoveDependencies
hipError_t hipGraphRemoveDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Removes dependency edges from a graph.
hipDeviceAttributeSingleToDoublePrecisionPerfRatio
@ hipDeviceAttributeSingleToDoublePrecisionPerfRatio
Cuda only. Performance ratio of single precision to double precision.
Definition: hip_runtime_api.h:422
hipGetErrorString
const char * hipGetErrorString(hipError_t hipError)
Return handy text string message to explain the error which occurred.
hipMemRangeGetAttributes
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.
hipGraphLaunch
hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream)
launches an executable graph in a stream
hipGetDeviceFlags
hipError_t hipGetDeviceFlags(unsigned int *flags)
Gets the flags set for current device.
hipGraphInstantiateFlags
hipGraphInstantiateFlags
Definition: hip_runtime_api.h:1244
hipGraphNodeTypeGraph
@ hipGraphNodeTypeGraph
Node which executes an embedded graph.
Definition: hip_runtime_api.h:1122
hipDeviceGetByPCIBusId
hipError_t hipDeviceGetByPCIBusId(int *device, const char *pciBusId)
Returns a handle to a compute device.
hipErrorInvalidMemcpyDirection
hipErrorInvalidMemcpyDirection
Invalid memory copy direction.
Definition: hip_runtime_api.h:232
hipMemcpyToSymbolAsync
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.
hipMalloc3DArray
hipError_t hipMalloc3DArray(hipArray **array, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int flags)
Allocate an array on the device.
hipDeviceArch_t::hasGlobalInt64Atomics
unsigned hasGlobalInt64Atomics
64-bit integer atomics for global memory.
Definition: hip_runtime_api.h:54
hipStreamCaptureStatus
hipStreamCaptureStatus
Definition: hip_runtime_api.h:1218
hipMemRetainAllocationHandle
hipError_t hipMemRetainAllocationHandle(hipMemGenericAllocationHandle_t *handle, void *addr)
Returns the allocation handle of the backing memory allocation given the address.
hipDeviceAttributeSharedMemPerMultiprocessor
@ hipDeviceAttributeSharedMemPerMultiprocessor
Cuda only. Shared memory available per multiprocessor.
Definition: hip_runtime_api.h:421
hipDeviceProp_t::minor
int minor
Definition: hip_runtime_api.h:103
hipDeviceAttributeMaxBlockDimX
@ hipDeviceAttributeMaxBlockDimX
Max block size in width.
Definition: hip_runtime_api.h:368
hipErrorInvalidDevicePointer
hipErrorInvalidDevicePointer
Invalid Device Pointer.
Definition: hip_runtime_api.h:231
hipChooseDevice
hipError_t hipChooseDevice(int *device, const hipDeviceProp_t *prop)
Device which matches hipDeviceProp_t is returned.
hipDeviceAttributeWallClockRate
@ hipDeviceAttributeWallClockRate
Constant frequency of wall clock in kilohertz.
Definition: hip_runtime_api.h:462
hipGraphGetRootNodes
hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t *pRootNodes, size_t *pNumRootNodes)
Returns graph's root nodes.
hipGraphClone
hipError_t hipGraphClone(hipGraph_t *pGraphClone, hipGraph_t originalGraph)
Clones a graph.
hipStreamBeginCapture
hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode)
Begins graph capture on a stream.
hipLaunchHostFunc
hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void *userData)
Enqueues a host function call in a stream.
hipMemcpy2DAsync
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.
hipUserObjectRetainFlags
hipUserObjectRetainFlags
Definition: hip_runtime_api.h:1240
hipMemAccessFlagsProtRead
@ hipMemAccessFlagsProtRead
Set the address range read accessible.
Definition: hip_runtime_api.h:838
hipLaunchKernel
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.
hipMemsetD32
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...
hipArrayMapInfo::memOperationType
hipMemOperationType memOperationType
Memory operation type.
Definition: hip_runtime_api.h:1353
hipGLDeviceList
hipGLDeviceList
Definition: hip_runtime_api.h:1066
hipGraphCreate
hipError_t hipGraphCreate(hipGraph_t *pGraph, unsigned int flags)
Creates a graph.
hipGraphExecUpdateErrorTopologyChanged
@ hipGraphExecUpdateErrorTopologyChanged
The update failed because the topology changed.
Definition: hip_runtime_api.h:1202
hipErrorMapBufferObjectFailed
hipErrorMapBufferObjectFailed
Produced when the IPC memory attach failed from ROCr.
Definition: hip_runtime_api.h:244
hipDeviceProp_t::texturePitchAlignment
size_t texturePitchAlignment
Pitch alignment requirement for texture references bound to pitched memory.
Definition: hip_runtime_api.h:133
hipDeviceAttributeMaxGridDimX
@ hipDeviceAttributeMaxGridDimX
Max grid size in width.
Definition: hip_runtime_api.h:371
hipGraphExecHostNodeSetParams
hipError_t hipGraphExecHostNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets the parameters for a host node in the given graphExec.
hipDeviceArch_t::hasThreadFenceSystem
unsigned hasThreadFenceSystem
__threadfence_system.
Definition: hip_runtime_api.h:67
hipStreamCreate
hipError_t hipStreamCreate(hipStream_t *stream)
Create an asynchronous stream.
hipMemAllocNodeParams::dptr
void * dptr
Returned device address of the allocation.
Definition: hip_runtime_api.h:1164
hipGraphDebugDotFlagsKernelNodeAttributes
@ hipGraphDebugDotFlagsKernelNodeAttributes
Definition: hip_runtime_api.h:1262
hipGraphDebugDotFlagsExtSemasSignalNodeParams
@ hipGraphDebugDotFlagsExtSemasSignalNodeParams
Definition: hip_runtime_api.h:1258
hipGraphAddMemcpyNode1D
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.
hipMemPoolAttrReleaseThreshold
@ hipMemPoolAttrReleaseThreshold
Definition: hip_runtime_api.h:789
hipDeviceProp_t::pageableMemoryAccessUsesHostPageTables
int pageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition: hip_runtime_api.h:152
hipDeviceGetStreamPriorityRange
hipError_t hipDeviceGetStreamPriorityRange(int *leastPriority, int *greatestPriority)
Returns numerical values that correspond to the least and greatest stream priority.
hipGraphAddKernelNode
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.
hipWaitExternalSemaphoresAsync
hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreWaitParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Waits on a set of external semaphore objects.
hipGraphHostNodeGetParams
hipError_t hipGraphHostNodeGetParams(hipGraphNode_t node, hipHostNodeParams *pNodeParams)
Returns a host node's parameters.
hipArrayMapInfo::offsetZ
unsigned int offsetZ
Z offset in elements.
Definition: hip_runtime_api.h:1342
hipDeviceAttributeMaxThreadsDim
@ hipDeviceAttributeMaxThreadsDim
Maximum dimension of a block.
Definition: hip_runtime_api.h:398
hipIpcEventHandle_st
Definition: hip_runtime_api.h:535
hipStreamGetCaptureInfo
hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus, unsigned long long *pId)
Get capture status of a stream.
hipDeviceAttributeImageSupport
@ hipDeviceAttributeImageSupport
'1' if Device supports image, '0' otherwise.
Definition: hip_runtime_api.h:458
hipDeviceAttributeLuid
@ hipDeviceAttributeLuid
Cuda only. 8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms.
Definition: hip_runtime_api.h:363
hipMemAdviseSetPreferredLocation
@ hipMemAdviseSetPreferredLocation
Definition: hip_runtime_api.h:707
hipMemLocation
Definition: hip_runtime_api.h:827
hipDeviceProp_t::maxTexture3D
int maxTexture3D[3]
Maximum dimensions (width, height, depth) of 3D images, in image elements.
Definition: hip_runtime_api.h:128
hipGetTextureObjectTextureDesc
hipError_t hipGetTextureObjectTextureDesc(hipTextureDesc *pTexDesc, hipTextureObject_t textureObject)
Gets texture descriptor for the texture object.
hipGraphNodeGetDependencies
hipError_t hipGraphNodeGetDependencies(hipGraphNode_t node, hipGraphNode_t *pDependencies, size_t *pNumDependencies)
Returns a node's dependencies.
hipStreamCreateWithPriority
hipError_t hipStreamCreateWithPriority(hipStream_t *stream, unsigned int flags, int priority)
Create an asynchronous stream with the specified priority.
hipMemRangeAttributeCoherencyMode
@ hipMemRangeAttributeCoherencyMode
Definition: hip_runtime_api.h:748
hipFuncCache_t
hipFuncCache_t
Definition: hip_runtime_api.h:928
hipArraySparseSubresourceTypeMiptail
@ hipArraySparseSubresourceTypeMiptail
Miptail.
Definition: hip_runtime_api.h:1323
hipGraphAddDependencies
hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Adds dependency edges to a graph.
hipDeviceProp_t::cooperativeMultiDeviceUnmatchedBlockDim
int cooperativeMultiDeviceUnmatchedBlockDim
Definition: hip_runtime_api.h:141
hipMemImportFromShareableHandle
hipError_t hipMemImportFromShareableHandle(hipMemGenericAllocationHandle_t *handle, void *osHandle, hipMemAllocationHandleType shHandleType)
Imports an allocation from a requested shareable handle type.
hipPeekAtLastError
hipError_t hipPeekAtLastError(void)
Return last error returned by any HIP runtime API call.
hipDeviceAttributeMaxSurfaceCubemapLayered
@ hipDeviceAttributeMaxSurfaceCubemapLayered
Cuda only. Maximum dimension of Cubemap layered surface.
Definition: hip_runtime_api.h:380
hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault))
Returns occupancy for a device function.
hipModuleGetTexRef
hipError_t hipModuleGetTexRef(textureReference **texRef, hipModule_t hmod, const char *name)
returns the handle of the texture reference with the name from the module.
hipMemcpy3DAsync
hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms *p, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipDeviceGetPCIBusId
hipError_t hipDeviceGetPCIBusId(char *pciBusId, int len, int device)
Returns a PCI Bus Id string for the device, overloaded to take int device ID.
hipGraphDestroy
hipError_t hipGraphDestroy(hipGraph_t graph)
Destroys a graph.
hipHostGetFlags
hipError_t hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr)
Return flags associated with host pointer.
hipGraphExecUpdateErrorParametersChanged
@ hipGraphExecUpdateErrorParametersChanged
The update failed because the parameters changed in a way that is not supported.
Definition: hip_runtime_api.h:1206
hipErrorHostMemoryNotRegistered
hipErrorHostMemoryNotRegistered
Produced when trying to unlock a non-page-locked memory.
Definition: hip_runtime_api.h:285
hipMemPoolAttrReservedMemCurrent
@ hipMemPoolAttrReservedMemCurrent
Definition: hip_runtime_api.h:794
hipErrorRuntimeOther
hipErrorRuntimeOther
Definition: hip_runtime_api.h:324
hipDeviceAttributeClockRate
@ hipDeviceAttributeClockRate
Peak clock frequency in kilohertz.
Definition: hip_runtime_api.h:345
hipMemGetAddressRange
hipError_t hipMemGetAddressRange(hipDeviceptr_t *pbase, size_t *psize, hipDeviceptr_t dptr)
Get information on memory allocations.
hipDeviceProp_t::asicRevision
int asicRevision
Revision of the GPU in this device.
Definition: hip_runtime_api.h:146
hipDeviceAttributeDirectManagedMemAccessFromHost
@ hipDeviceAttributeDirectManagedMemAccessFromHost
Definition: hip_runtime_api.h:354
hipMemAllocationProp::location
hipMemLocation location
Memory location.
Definition: hip_runtime_api.h:1273
hipDestroyExternalSemaphore
hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem)
Destroys an external semaphore object and releases any references to the underlying resource....
hipMemHandleTypeWin32Kmt
@ hipMemHandleTypeWin32Kmt
Allows a Win32 KMT handle for exporting. (D3DKMT_HANDLE)
Definition: hip_runtime_api.h:870
hipGraphNodeTypeHost
@ hipGraphNodeTypeHost
Host (executable) node.
Definition: hip_runtime_api.h:1121
hipStreamWaitEvent
hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
Make the specified compute stream wait for an event.
hipGraphNodeSetEnabled
hipError_t hipGraphNodeSetEnabled(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, unsigned int isEnabled)
Enables or disables the specified node in the given graphExec.
hipFuncCachePreferEqual
@ hipFuncCachePreferEqual
prefer equal size L1 cache and shared memory
Definition: hip_runtime_api.h:932
hipMemPoolProps::location
hipMemLocation location
Location where allocations should reside.
Definition: hip_runtime_api.h:878
hipGraphInstantiate
hipError_t hipGraphInstantiate(hipGraphExec_t *pGraphExec, hipGraph_t graph, hipGraphNode_t *pErrorNode, char *pLogBuffer, size_t bufferSize)
Creates an executable graph from a graph.
hipDeviceAttributeMaxGridDimZ
@ hipDeviceAttributeMaxGridDimZ
Max grid size in depth.
Definition: hip_runtime_api.h:373
hipGetDevice
hipError_t hipGetDevice(int *deviceId)
Return the default device id for the calling host thread.
hipDeviceSetGraphMemAttribute
hipError_t hipDeviceSetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void *value)
Set the mem attribute for graphs.
hipMemcpyFromSymbolAsync
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.
hipStreamWaitValue64
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].
hipMemLocation::id
int id
Identifier for the provided location type hipMemLocationType.
Definition: hip_runtime_api.h:829
hipGraphExecUpdateResult
hipGraphExecUpdateResult
Definition: hip_runtime_api.h:1198
hipMallocArray
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.
hipGraphDebugDotFlagsMemsetNodeParams
@ hipGraphDebugDotFlagsMemsetNodeParams
Definition: hip_runtime_api.h:1254
hipGraphExecKernelNodeSetParams
hipError_t hipGraphExecKernelNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets the parameters for a kernel node in the given graphExec.
hipCtxSetCurrent
hipError_t hipCtxSetCurrent(hipCtx_t ctx)
Set the passed context as current/default.
hipMemAllocationProp
struct hipMemAllocationProp hipMemAllocationProp
hipGraphExecDestroy
hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec)
Destroys an executable graph.
hipMemRangeCoherencyModeCoarseGrain
@ hipMemRangeCoherencyModeCoarseGrain
Definition: hip_runtime_api.h:729
hipMemcpyToArray
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.
hipStreamAttachMemAsync
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.
HIP_MEMCPY3D
Definition: driver_types.h:379
hipMemoryTypeDevice
@ hipMemoryTypeDevice
Definition: hip_runtime_api.h:163
hipMemGetAccess
hipError_t hipMemGetAccess(unsigned long long *flags, const hipMemLocation *location, void *ptr)
Get the access flags set for the given location and ptr.
hipDeviceAttributeMaxRegistersPerBlock
@ hipDeviceAttributeMaxRegistersPerBlock
Definition: hip_runtime_api.h:415
hipGraphExecChildGraphNodeSetParams
hipError_t hipGraphExecChildGraphNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipGraph_t childGraph)
Updates node parameters in the child graph node in the given graphExec.
hipMemcpyDtoDAsync
hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Device asynchronously.
hipErrorNoDevice
hipErrorNoDevice
Call to hipGetDeviceCount returned 0 devices.
Definition: hip_runtime_api.h:237
hipDeviceProp_t::isLargeBar
int isLargeBar
1: if it is a large PCI bar device, else 0
Definition: hip_runtime_api.h:145
hipDeviceAttributeLocalL1CacheSupported
@ hipDeviceAttributeLocalL1CacheSupported
caching locals in L1 is supported
Definition: hip_runtime_api.h:362
hipDeviceAttributeComputeCapabilityMinor
@ hipDeviceAttributeComputeCapabilityMinor
Minor compute capability version number.
Definition: hip_runtime_api.h:404
hipGraphMemcpyNodeSetParams
hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms *pNodeParams)
Sets a memcpy node's parameters.
hipDeviceAttributeAsicRevision
@ hipDeviceAttributeAsicRevision
Revision of the GPU in this device.
Definition: hip_runtime_api.h:455
hipMemPoolPtrExportData
struct hipMemPoolPtrExportData hipMemPoolPtrExportData
hipGraphEventWaitNodeGetEvent
hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event wait node.
hipArrayMapInfo::layer
unsigned int layer
For layered arrays must be a valid layer index. Otherwise, must be zero.
Definition: hip_runtime_api.h:1339
hipMemcpy2DFromArray
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.
hipMemHandleTypeNone
@ hipMemHandleTypeNone
Does not allow any export mechanism.
Definition: hip_runtime_api.h:867
hipModuleOccupancyMaxPotentialBlockSizeWithFlags
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
hipDeviceProp_t::concurrentManagedAccess
int concurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition: hip_runtime_api.h:149
hipDeviceProp_t::l2CacheSize
int l2CacheSize
L2 cache size.
Definition: hip_runtime_api.h:107
hipDevicePrimaryCtxRelease
hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev)
Release the primary context on the GPU.
hipDeviceProp_t::textureAlignment
size_t textureAlignment
Alignment requirement for textures.
Definition: hip_runtime_api.h:132
hipGraphExecUpdateError
@ hipGraphExecUpdateError
Definition: hip_runtime_api.h:1200
hipDeviceAttributeMaxTextureCubemap
@ hipDeviceAttributeMaxTextureCubemap
Cuda only. Maximum dimensions of Cubemap texture.
Definition: hip_runtime_api.h:396
hipMemcpyToSymbol
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...
hipHostMalloc
hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory.
hipDeviceAttributeKernelExecTimeout
@ hipDeviceAttributeKernelExecTimeout
Run time limit for kernels executed on the device.
Definition: hip_runtime_api.h:360
hipGraphNodeTypeEventRecord
@ hipGraphNodeTypeEventRecord
External event record node.
Definition: hip_runtime_api.h:1125
dim3::y
uint32_t y
y
Definition: hip_runtime_api.h:950
hipDeviceAttributeL2CacheSize
@ hipDeviceAttributeL2CacheSize
Size of L2 cache in bytes. 0 if the device doesn't have L2 cache.
Definition: hip_runtime_api.h:361
hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim
Definition: hip_runtime_api.h:448
hipMemRangeGetAttribute
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.
hipDeviceGetName
hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device)
Returns an identifer string for the device.
hipArrayMapInfo::subresourceType
hipArraySparseSubresourceType subresourceType
Sparse subresource type.
Definition: hip_runtime_api.h:1335
hipDeviceGetDefaultMemPool
hipError_t hipDeviceGetDefaultMemPool(hipMemPool_t *mem_pool, int device)
Returns the default memory pool of the specified device.
hipDeviceAttributeMaxTexture3DWidth
@ hipDeviceAttributeMaxTexture3DWidth
Maximum dimension width of 3D texture.
Definition: hip_runtime_api.h:392
hipDeviceArch_t::hasSurfaceFuncs
unsigned hasSurfaceFuncs
Surface functions.
Definition: hip_runtime_api.h:71
hipFunctionLaunchParams_t::gridDimZ
unsigned int gridDimZ
Depth(Z) of grid in blocks.
Definition: hip_runtime_api.h:968
hipDeviceAttributeIntegrated
@ hipDeviceAttributeIntegrated
Device is integrated GPU.
Definition: hip_runtime_api.h:358
hipDeviceProp_t::isMultiGpuBoard
int isMultiGpuBoard
1 if device is on a multi-GPU board, 0 if not.
Definition: hip_runtime_api.h:118
hipMemcpyParam2DAsync
hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D *pCopy, hipStream_t stream __dparm(0))
Copies memory for 2D arrays.
hipAccessPolicyWindow
Definition: hip_runtime_api.h:1181
hipMemAdvise
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.
hipArrayMapInfo::flags
unsigned int flags
flags for future use, must be zero now.
Definition: hip_runtime_api.h:1360
hipDeviceAttributeMaxGridDimY
@ hipDeviceAttributeMaxGridDimY
Max grid size in height.
Definition: hip_runtime_api.h:372
hipDeviceAttributeUnifiedAddressing
@ hipDeviceAttributeUnifiedAddressing
Cuda only. An unified address space shared with the host.
Definition: hip_runtime_api.h:430
hipMemAdviseUnsetCoarseGrain
@ hipMemAdviseUnsetCoarseGrain
Restores cache coherency policy back to fine-grain.
Definition: hip_runtime_api.h:719
hipMemoryTypeHost
@ hipMemoryTypeHost
Memory is physically located on host.
Definition: hip_runtime_api.h:162
hipDeviceAttributeSurfaceAlignment
@ hipDeviceAttributeSurfaceAlignment
Cuda only. Alignment requirement for surfaces.
Definition: hip_runtime_api.h:424
hipFreeAsync
hipError_t hipFreeAsync(void *dev_ptr, hipStream_t stream)
Frees memory with stream ordered semantics.
hipDeviceEnablePeerAccess
hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
Enable direct access from current device's virtual address space to memory allocations physically loc...
hipCtxSetCacheConfig
hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipExternalMemoryGetMappedBuffer
hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc)
Maps a buffer onto an imported memory object.
hipMemGetAllocationGranularity
hipError_t hipMemGetAllocationGranularity(size_t *granularity, const hipMemAllocationProp *prop, hipMemAllocationGranularity_flags option)
Calculates either the minimal or recommended granularity.
hipMemPoolExportToShareableHandle
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.
hipErrorInvalidContext
hipErrorInvalidContext
Produced when input context is invalid.
Definition: hip_runtime_api.h:240
hipDeviceArch_t::hasSharedInt64Atomics
unsigned hasSharedInt64Atomics
64-bit integer atomics for shared memory.
Definition: hip_runtime_api.h:55
hipDeviceProp_t::computeMode
int computeMode
Compute mode.
Definition: hip_runtime_api.h:109
hipGraphicsRegisterFlagsReadOnly
@ hipGraphicsRegisterFlagsReadOnly
HIP will not write to this registered resource.
Definition: hip_runtime_api.h:1081
hipMallocMipmappedArray
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.
hipExternalSemaphoreHandleDesc_st
Definition: hip_runtime_api.h:1009
hipCtxPushCurrent
hipError_t hipCtxPushCurrent(hipCtx_t ctx)
Push the context to be set as current/ default context.
hipDeviceAttributeIsMultiGpuBoard
@ hipDeviceAttributeIsMultiGpuBoard
Multiple GPU devices.
Definition: hip_runtime_api.h:359
hipSharedMemConfig
hipSharedMemConfig
Definition: hip_runtime_api.h:937
hipGraphGetNodes
hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t *nodes, size_t *numNodes)
Returns graph nodes.
hipDeviceAttributeMaxSurfaceCubemap
@ hipDeviceAttributeMaxSurfaceCubemap
Cuda only. Maximum dimensions of Cubemap surface.
Definition: hip_runtime_api.h:379
hipDrvMemcpy3D
hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D *pCopy)
Copies data between host and device.
hipDeviceAttributeMaxTexture2DMipmap
@ hipDeviceAttributeMaxTexture2DMipmap
Cuda only. Maximum dimensions of 2D mipmapped texture.
Definition: hip_runtime_api.h:391
dim3::x
uint32_t x
x
Definition: hip_runtime_api.h:949
hipGraphNodeTypeMemset
@ hipGraphNodeTypeMemset
Memset node.
Definition: hip_runtime_api.h:1120
hipDeviceAttributeGcnArchName
@ hipDeviceAttributeGcnArchName
Device gcnArch name in 256 bytes.
Definition: hip_runtime_api.h:443
hipDeviceProp_t::clockRate
int clockRate
Max clock frequency of the multiProcessors in khz.
Definition: hip_runtime_api.h:96
hipMemAccessFlagsProtReadWrite
@ hipMemAccessFlagsProtReadWrite
Set the address range read-write accessible.
Definition: hip_runtime_api.h:839
hipDeviceProp_t::hdpRegFlushCntl
unsigned int * hdpRegFlushCntl
Addres of HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:130
hipErrorPeerAccessNotEnabled
hipErrorPeerAccessNotEnabled
Peer access was never enabled from the current device.
Definition: hip_runtime_api.h:278
hipMemAccessDesc
Definition: hip_runtime_api.h:844
hipDeviceComputeCapability
hipError_t hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device)
Returns the compute capability of the device.
hipStreamCaptureStatusNone
@ hipStreamCaptureStatusNone
Stream is not capturing.
Definition: hip_runtime_api.h:1219
hipStreamCallback_t
void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void *userData)
Definition: hip_runtime_api.h:2258
hipDeviceProp_t::maxTexture1DLinear
int maxTexture1DLinear
Maximum size for 1D textures bound to linear memory.
Definition: hip_runtime_api.h:125
hipDeviceAttributeComputePreemptionSupported
@ hipDeviceAttributeComputePreemptionSupported
Cuda only. Device supports Compute Preemption.
Definition: hip_runtime_api.h:347
hipGraphKernelNodeSetParams
hipError_t hipGraphKernelNodeSetParams(hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets a kernel node's parameters.
hipGraphGetEdges
hipError_t hipGraphGetEdges(hipGraph_t graph, hipGraphNode_t *from, hipGraphNode_t *to, size_t *numEdges)
Returns a graph's dependency edges.
hipDeviceArch_t::hasDynamicParallelism
unsigned hasDynamicParallelism
Dynamic parallelism.
Definition: hip_runtime_api.h:73
hipMemoryAdvise
hipMemoryAdvise
Definition: hip_runtime_api.h:703
hip_Memcpy2D
Definition: driver_types.h:95
hipGetMipmappedArrayLevel
hipError_t hipGetMipmappedArrayLevel(hipArray_t *levelArray, hipMipmappedArray_const_t mipmappedArray, unsigned int level)
Gets a mipmap level of a HIP mipmapped array.
hipDestroyTextureObject
hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject)
Destroys a texture object.
hipExternalSemaphoreWaitParams_st
Definition: hip_runtime_api.h:1037
hipGraphDebugDotFlagsExtSemasWaitNodeParams
@ hipGraphDebugDotFlagsExtSemasWaitNodeParams
Definition: hip_runtime_api.h:1260
hipDeviceProp_t::canMapHostMemory
int canMapHostMemory
Check whether HIP can map host memory.
Definition: hip_runtime_api.h:119
hipDeviceProp_t::sharedMemPerBlock
size_t sharedMemPerBlock
Size of shared memory region (in bytes).
Definition: hip_runtime_api.h:90
hipModuleOccupancyMaxPotentialBlockSize
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
hipDeviceAttributeMaxSurface2DLayered
@ hipDeviceAttributeMaxSurface2DLayered
Cuda only. Maximum dimensions of 2D layered surface.
Definition: hip_runtime_api.h:377
__hipPushCallConfiguration
hipError_t __hipPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Push configuration of a kernel launch.
hipIpcCloseMemHandle
hipError_t hipIpcCloseMemHandle(void *devPtr)
Close memory mapped with hipIpcOpenMemHandle.
hipMemPoolExportPointer
hipError_t hipMemPoolExportPointer(hipMemPoolPtrExportData *export_data, void *dev_ptr)
Export data to share a memory pool allocation between processes.
hipDeviceAttributeConcurrentManagedAccess
@ hipDeviceAttributeConcurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition: hip_runtime_api.h:349
hipUserObjectFlags
hipUserObjectFlags
Definition: hip_runtime_api.h:1236
hipDevicePrimaryCtxGetState
hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int *flags, int *active)
Get the state of the primary context.
hipGetSymbolSize
hipError_t hipGetSymbolSize(size_t *size, const void *symbol)
Gets the size of the given symbol on the device.
hipDeviceAttributeCooperativeMultiDeviceLaunch
@ hipDeviceAttributeCooperativeMultiDeviceLaunch
Support cooperative launch on multiple devices.
Definition: hip_runtime_api.h:351
hipLaunchCooperativeKernelMultiDevice
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...
hipMemAllocationProp::requestedHandleType
hipMemAllocationHandleType requestedHandleType
Requested handle type.
Definition: hip_runtime_api.h:1272
hipDeviceProp_t::maxThreadsPerMultiProcessor
int maxThreadsPerMultiProcessor
Maximum resident threads per multi-processor.
Definition: hip_runtime_api.h:108
hipDeviceSetCacheConfig
hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipDeviceAttributeMaxSurface2D
@ hipDeviceAttributeMaxSurface2D
Maximum dimension (width, height) of 2D surface.
Definition: hip_runtime_api.h:376
hipDeviceAttributePhysicalMultiProcessorCount
@ hipDeviceAttributePhysicalMultiProcessorCount
Definition: hip_runtime_api.h:459
hipMallocFromPoolAsync
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.
hipMemExportToShareableHandle
hipError_t hipMemExportToShareableHandle(void *shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags)
Exports an allocation to a requested shareable handle type.
hipThreadExchangeStreamCaptureMode
hipError_t hipThreadExchangeStreamCaptureMode(hipStreamCaptureMode *mode)
Swaps the stream capture mode of a thread.
hipDeviceProp_t::major
int major
Definition: hip_runtime_api.h:100
hipDeviceAttributeMaxSharedMemoryPerBlock
@ hipDeviceAttributeMaxSharedMemoryPerBlock
Maximum shared memory available per block in bytes.
Definition: hip_runtime_api.h:419
hipMemcpyAtoH
hipError_t hipMemcpyAtoH(void *dst, hipArray *srcArray, size_t srcOffset, size_t count)
Copies data between host and device.
hipGetDeviceCount
hipError_t hipGetDeviceCount(int *count)
Return number of compute-capable devices.
hipExtLaunchKernel
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.
hipSuccess
hipSuccess
Successful completion.
Definition: hip_runtime_api.h:214
hipExternalSemaphoreWaitParams
struct hipExternalSemaphoreWaitParams_st hipExternalSemaphoreWaitParams
hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags)
Returns occupancy for a device function.
hipSetupArgument
hipError_t hipSetupArgument(const void *arg, size_t size, size_t offset)
Set a kernel argument.
hipArrayMapInfo::extentHeight
unsigned int extentHeight
Height in elements.
Definition: hip_runtime_api.h:1344
hipHostUnregister
hipError_t hipHostUnregister(void *hostPtr)
Un-register host pointer.
hipErrorStreamCaptureInvalidated
hipErrorStreamCaptureInvalidated
Definition: hip_runtime_api.h:296
hipDeviceAttributeMaxTexture3DAlt
@ hipDeviceAttributeMaxTexture3DAlt
Cuda only. Maximum dimensions of alternate 3D texture.
Definition: hip_runtime_api.h:395
hipStreamGetFlags
hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
Return flags associated with this stream.
hipMemsetD8Async
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...
hipDeviceAttributeMaxThreadsPerBlock
@ hipDeviceAttributeMaxThreadsPerBlock
Maximum number of threads per block.
Definition: hip_runtime_api.h:399
hipArrayMapInfo::reserved
unsigned int reserved[2]
Reserved for future use, must be zero now.
Definition: hip_runtime_api.h:1361
hipMemOperationTypeMap
@ hipMemOperationTypeMap
Map operation.
Definition: hip_runtime_api.h:1312
hipGraphNodeTypeMemcpy
@ hipGraphNodeTypeMemcpy
Memcpy node.
Definition: hip_runtime_api.h:1119
hipExtStreamCreateWithCUMask
hipError_t hipExtStreamCreateWithCUMask(hipStream_t *stream, uint32_t cuMaskSize, const uint32_t *cuMask)
Create an asynchronous stream with the specified CU mask.
hipDeviceProp_t::gcnArch
int gcnArch
DEPRECATED: use gcnArchName instead.
Definition: hip_runtime_api.h:120
hipFunctionLaunchParams_t
Definition: hip_runtime_api.h:964
hipGraph_t
struct ihipGraph * hipGraph_t
Definition: hip_runtime_api.h:1096
hipTexObjectGetResourceViewDesc
hipError_t hipTexObjectGetResourceViewDesc(HIP_RESOURCE_VIEW_DESC *pResViewDesc, hipTextureObject_t texObject)
Gets resource view descriptor of a texture object.
hipStreamSynchronize
hipError_t hipStreamSynchronize(hipStream_t stream)
Wait for all commands in stream to complete.
hipDeviceArch_t
Definition: hip_runtime_api.h:45
hipMemAddressFree
hipError_t hipMemAddressFree(void *devPtr, size_t size)
Frees an address range reservation made via hipMemAddressReserve.
hipMemUnmap
hipError_t hipMemUnmap(void *ptr, size_t size)
Unmap memory allocation of a given address range.
hipGetErrorName
const char * hipGetErrorName(hipError_t hip_error)
Return hip error as text string form.
hipDeviceProp_t::kernelExecTimeoutEnabled
int kernelExecTimeoutEnabled
Run time limit for kernels executed on the device.
Definition: hip_runtime_api.h:134
dim3
struct dim3 dim3
hipDeviceGet
hipError_t hipDeviceGet(hipDevice_t *device, int ordinal)
Returns a handle to a compute device.
hipMemPoolSetAttribute
hipError_t hipMemPoolSetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void *value)
Sets attributes of a memory pool.
hipArrayMapInfo::offset
unsigned long long offset
Offset within mip tail.
Definition: hip_runtime_api.h:1349
hipMemcpyDtoD
hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Device.
hipDeviceProp_t::maxTexture1D
int maxTexture1D
Maximum number of elements in 1D images.
Definition: hip_runtime_api.h:126
hipMemAllocationProp::compressionType
unsigned char compressionType
Compression type.
Definition: hip_runtime_api.h:1276
hipMemcpy3DParms
Definition: driver_types.h:369
hipDeviceAttributeMaxBlockDimZ
@ hipDeviceAttributeMaxBlockDimZ
Max block size in depth.
Definition: hip_runtime_api.h:370
hipMemPoolAttrReservedMemHigh
@ hipMemPoolAttrReservedMemHigh
Definition: hip_runtime_api.h:800
hipGraphExec_t
struct hipGraphExec * hipGraphExec_t
Definition: hip_runtime_api.h:1104
hipMemcpyFromSymbol
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.
hipIpcGetMemHandle
hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t *handle, void *devPtr)
Gets an interprocess memory handle for an existing device memory allocation.
hipMemPoolProps::reserved
unsigned char reserved[64]
Reserved for future use, must be 0.
Definition: hip_runtime_api.h:883
hipMemcpyHtoD
hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes)
Copy data from Host to Device.
hipDriverGetVersion
hipError_t hipDriverGetVersion(int *driverVersion)
Returns the approximate HIP driver version.
hipGraphMemcpyNodeGetParams
hipError_t hipGraphMemcpyNodeGetParams(hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Gets a memcpy node's parameters.
hipDeviceArch_t::hasDoubles
unsigned hasDoubles
Double-precision floating point.
Definition: hip_runtime_api.h:58
hipErrorInvalidKernelFile
hipErrorInvalidKernelFile
In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.
Definition: hip_runtime_api.h:257
hipGraphDebugDotFlagsHostNodeParams
@ hipGraphDebugDotFlagsHostNodeParams
Definition: hip_runtime_api.h:1255
hipGraphMemAllocNodeGetParams
hipError_t hipGraphMemAllocNodeGetParams(hipGraphNode_t node, hipMemAllocNodeParams *pNodeParams)
Returns parameters for memory allocation node.
hipStreamCaptureStatusInvalidated
@ hipStreamCaptureStatusInvalidated
Definition: hip_runtime_api.h:1221
hipDeviceProp_t::maxThreadsPerBlock
int maxThreadsPerBlock
Max work items per work group or workgroup max size.
Definition: hip_runtime_api.h:93
hipFunctionLaunchParams_t::sharedMemBytes
unsigned int sharedMemBytes
Shared memory.
Definition: hip_runtime_api.h:972
hipMemPoolReuseAllowInternalDependencies
@ hipMemPoolReuseAllowInternalDependencies
Definition: hip_runtime_api.h:780
hipGraphMemFreeNodeGetParams
hipError_t hipGraphMemFreeNodeGetParams(hipGraphNode_t node, void *dev_ptr)
Returns parameters for memory free node.
hipCtxGetFlags
hipError_t hipCtxGetFlags(unsigned int *flags)
Return flags used for creating default context.
hipDeviceAttributeMaxTexture1DMipmap
@ hipDeviceAttributeMaxTexture1DMipmap
Cuda only. Maximum size of 1D mipmapped texture.
Definition: hip_runtime_api.h:385
hipDeviceAttributeMaxBlockDimY
@ hipDeviceAttributeMaxBlockDimY
Max block size in height.
Definition: hip_runtime_api.h:369
hipMemcpy2DToArray
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.
hipMemHandleTypeGeneric
@ hipMemHandleTypeGeneric
Generic handle type.
Definition: hip_runtime_api.h:1303
hipMemAllocPitch
hipError_t hipMemAllocPitch(hipDeviceptr_t *dptr, size_t *pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes)
hipDeviceProp_t
Definition: hip_runtime_api.h:87
hipStreamUpdateCaptureDependenciesFlags
hipStreamUpdateCaptureDependenciesFlags
Definition: hip_runtime_api.h:1225
hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim
Definition: hip_runtime_api.h:450
hipGraphMemAttributeType
hipGraphMemAttributeType
Definition: hip_runtime_api.h:1230
hipArrayMapInfo::size
unsigned long long size
Extent in bytes.
Definition: hip_runtime_api.h:1350
hipErrorStreamCaptureUnjoined
hipErrorStreamCaptureUnjoined
Definition: hip_runtime_api.h:301
hipDeviceAttributeMaxTexture2DHeight
@ hipDeviceAttributeMaxTexture2DHeight
Maximum dimension hight of 2D texture.
Definition: hip_runtime_api.h:387
hipGraphNode_t
struct hipGraphNode * hipGraphNode_t
Definition: hip_runtime_api.h:1100
hipDeviceAttributeMaxSurface1D
@ hipDeviceAttributeMaxSurface1D
Maximum size of 1D surface.
Definition: hip_runtime_api.h:374
hipDeviceArch_t::hasSharedInt32Atomics
unsigned hasSharedInt32Atomics
32-bit integer atomics for shared memory.
Definition: hip_runtime_api.h:49
hipGraphExecMemcpyNodeSetParams1D
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.
hipErrorInvalidValue
hipErrorInvalidValue
Definition: hip_runtime_api.h:215
hipDeviceProp_t::memPitch
size_t memPitch
Maximum pitch in bytes allowed by memory copies.
Definition: hip_runtime_api.h:131
hipDeviceAttributeDeviceOverlap
@ hipDeviceAttributeDeviceOverlap
Definition: hip_runtime_api.h:352
hipMemRelease
hipError_t hipMemRelease(hipMemGenericAllocationHandle_t handle)
Release a memory handle representing a memory allocation which was previously allocated through hipMe...
hipMemsetD32Async
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...
hipMallocAsync
hipError_t hipMallocAsync(void **dev_ptr, size_t size, hipStream_t stream)
Allocates memory with stream ordered semantics.
hipDeviceProp_t::pciBusID
int pciBusID
PCI Bus ID.
Definition: hip_runtime_api.h:115
hipStreamEndCapture
hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t *pGraph)
Ends capture on a stream, returning the captured graph.
hipMemAccessDesc
struct hipMemAccessDesc hipMemAccessDesc
hipRuntimeGetVersion
hipError_t hipRuntimeGetVersion(int *runtimeVersion)
Returns the approximate HIP Runtime version.
hipDeviceAttributeComputeCapabilityMajor
@ hipDeviceAttributeComputeCapabilityMajor
Major compute capability version number.
Definition: hip_runtime_api.h:365
hipConfigureCall
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Configure a kernel launch.
hipLaunchCooperativeKernel
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...
hipEventQuery
hipError_t hipEventQuery(hipEvent_t event)
Query event status.
hipGetChannelDesc
hipError_t hipGetChannelDesc(hipChannelFormatDesc *desc, hipArray_const_t array)
Gets the channel descriptor in an array.
hipDeviceAttributeMaxTexture3DDepth
@ hipDeviceAttributeMaxTexture3DDepth
Maximum dimension depth of 3D texture.
Definition: hip_runtime_api.h:394
hipExtLaunchMultiKernelMultiDevice
hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices and guarantees all specified kernels are dispatched on respectiv...
hipGraphEventWaitNodeSetEvent
hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event wait node's event.
hipTexObjectDestroy
hipError_t hipTexObjectDestroy(hipTextureObject_t texObject)
Destroys a texture object.
hipErrorRuntimeMemory
hipErrorRuntimeMemory
Definition: hip_runtime_api.h:322
hipMemPoolGetAccess
hipError_t hipMemPoolGetAccess(hipMemAccessFlags *flags, hipMemPool_t mem_pool, hipMemLocation *location)
Returns the accessibility of a pool from a device.
hipDeviceAttributeMaxThreadsPerMultiProcessor
@ hipDeviceAttributeMaxThreadsPerMultiProcessor
Maximum resident threads per multiprocessor.
Definition: hip_runtime_api.h:400
hipGraphAddChildGraphNode
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.
hipArrayMapInfo::extentWidth
unsigned int extentWidth
Width in elements.
Definition: hip_runtime_api.h:1343
hipStreamGetPriority
hipError_t hipStreamGetPriority(hipStream_t stream, int *priority)
Query the priority of a stream.
hipOccupancyMaxActiveBlocksPerMultiprocessor
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipDrvGetErrorString
hipError_t hipDrvGetErrorString(hipError_t hipError, const char **errorString)
Return handy text string message to explain the error which occurred.
hipDeviceProp_t::arch
hipDeviceArch_t arch
Architectural feature flags. New for HIP.
Definition: hip_runtime_api.h:112
hipCtxGetApiVersion
hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion)
Returns the approximate HIP api version.
hipSharedMemBankSizeFourByte
@ hipSharedMemBankSizeFourByte
Definition: hip_runtime_api.h:939
hipMemPool_t
struct ihipMemPoolHandle_t * hipMemPool_t
Definition: hip_runtime_api.h:543
hipEventSynchronize
hipError_t hipEventSynchronize(hipEvent_t event)
Wait for an event to complete.
hipFuncCachePreferNone
@ hipFuncCachePreferNone
no preference for shared memory or L1 (default)
Definition: hip_runtime_api.h:929
hipMemCreate
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.
hipDeviceAttributeMaxTexture1DLayered
@ hipDeviceAttributeMaxTexture1DLayered
Cuda only. Maximum dimensions of 1D layered texture.
Definition: hip_runtime_api.h:382
hipCtxCreate
hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
Create a context and set it as current/ default context.
hipDeviceAttributeHdpRegFlushCntl
@ hipDeviceAttributeHdpRegFlushCntl
Address of the HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:445
hipMemMap
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.
hipErrorStreamCaptureUnmatched
hipErrorStreamCaptureUnmatched
The capture was not initiated in this stream.
Definition: hip_runtime_api.h:300
hipMemLocationTypeDevice
@ hipMemLocationTypeDevice
Device location, thus it's HIP device ID.
Definition: hip_runtime_api.h:820
hipMemRangeCoherencyModeFineGrain
@ hipMemRangeCoherencyModeFineGrain
Definition: hip_runtime_api.h:727
hipArraySparseSubresourceType
hipArraySparseSubresourceType
Definition: hip_runtime_api.h:1321
hipGraphNodeType
hipGraphNodeType
Definition: hip_runtime_api.h:1117
hipHostFree
hipError_t hipHostFree(void *ptr)
Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...
hipDeviceAttributePciBusId
@ hipDeviceAttributePciBusId
PCI Bus ID.
Definition: hip_runtime_api.h:411
hipMemsetD16
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...
hipMemoryTypeManaged
@ hipMemoryTypeManaged
Definition: hip_runtime_api.h:168
hipDeviceProp_t::tccDriver
int tccDriver
1:If device is Tesla device using TCC driver, else 0
Definition: hip_runtime_api.h:136
hipMipmappedArray
Definition: driver_types.h:117
hipMemAllocationType
hipMemAllocationType
Definition: hip_runtime_api.h:853
hipDeviceAttributePersistingL2CacheMaxSize
@ hipDeviceAttributePersistingL2CacheMaxSize
Cuda11 only. Maximum l2 persisting lines capacity in bytes.
Definition: hip_runtime_api.h:414
hipMemRangeAttributeAccessedBy
@ hipMemRangeAttributeAccessedBy
Definition: hip_runtime_api.h:744
hipDeviceGetLimit
hipError_t hipDeviceGetLimit(size_t *pValue, enum hipLimit_t limit)
Gets resource limits of current device The funtion querys the size of limit value,...
hipMemPoolImportPointer
hipError_t hipMemPoolImportPointer(void **dev_ptr, hipMemPool_t mem_pool, hipMemPoolPtrExportData *export_data)
Import a memory pool allocation from another process.
hipLaunchParams_t::args
void ** args
Arguments.
Definition: hip_runtime_api.h:960
hipMalloc
hipError_t hipMalloc(void **ptr, size_t size)
Allocate memory on the default accelerator.
hipMemoryTypeUnified
@ hipMemoryTypeUnified
Not used currently.
Definition: hip_runtime_api.h:167
hipMemsetParams
Definition: hip_runtime_api.h:1148
hipGetTextureReference
hipError_t hipGetTextureReference(const textureReference **texref, const void *symbol)
Gets the texture reference related with the symbol.
hipGraphNodeTypeKernel
@ hipGraphNodeTypeKernel
GPU kernel node.
Definition: hip_runtime_api.h:1118
hipDeviceAttributeMaxTexture1DLinear
@ hipDeviceAttributeMaxTexture1DLinear
Definition: hip_runtime_api.h:383
hipTexObjectGetResourceDesc
hipError_t hipTexObjectGetResourceDesc(HIP_RESOURCE_DESC *pResDesc, hipTextureObject_t texObject)
Gets resource descriptor of a texture object.
hipIpcMemHandle_st
Definition: hip_runtime_api.h:532
hipMemPoolAttrUsedMemCurrent
@ hipMemPoolAttrUsedMemCurrent
Definition: hip_runtime_api.h:805
hipDeviceAttributeMemoryPoolsSupported
@ hipDeviceAttributeMemoryPoolsSupported
Device supports HIP Stream Ordered Memory Allocator.
Definition: hip_runtime_api.h:433
hipEventElapsedTime
hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
Return the elapsed time between two events.
hipGraphInstantiateWithFlags
hipError_t hipGraphInstantiateWithFlags(hipGraphExec_t *pGraphExec, hipGraph_t graph, unsigned long long flags)
Creates an executable graph from a graph.
hipGetLastError
hipError_t hipGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
hipInit
hipError_t hipInit(unsigned int flags)
Explicitly initializes the HIP runtime.
hipDeviceAttributeTexturePitchAlignment
@ hipDeviceAttributeTexturePitchAlignment
Pitch alignment requirement for 2D texture references bound to pitched memory;.
Definition: hip_runtime_api.h:427
hipGraphExecUpdateErrorFunctionChanged
@ hipGraphExecUpdateErrorFunctionChanged
The update failed because the function of a kernel node changed.
Definition: hip_runtime_api.h:1204
hipDeviceAttributeWarpSize
@ hipDeviceAttributeWarpSize
Warp size in threads.
Definition: hip_runtime_api.h:432
hipGraphMemAttrReservedMemCurrent
@ hipGraphMemAttrReservedMemCurrent
Amount of memory, in bytes, currently allocated for graphs.
Definition: hip_runtime_api.h:1233
hipDeviceArch_t::hasGlobalInt32Atomics
unsigned hasGlobalInt32Atomics
32-bit integer atomics for global memory.
Definition: hip_runtime_api.h:47
HIP_TEXTURE_DESC_st
Definition: driver_types.h:165
hipFuncSetCacheConfig
hipError_t hipFuncSetCacheConfig(const void *func, hipFuncCache_t config)
Set Cache configuration for a specific function.
hipGraphAddMemcpyNodeToSymbol
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.
hipCtxPopCurrent
hipError_t hipCtxPopCurrent(hipCtx_t *ctx)
Pop the current/default context and return the popped context.
hipArray
Definition: driver_types.h:82
hipDeviceArch_t::hasSyncThreadsExt
unsigned hasSyncThreadsExt
__syncthreads_count, syncthreads_and, syncthreads_or.
Definition: hip_runtime_api.h:68
hipGraphExecUpdateSuccess
@ hipGraphExecUpdateSuccess
The update succeeded.
Definition: hip_runtime_api.h:1199
hipMemAllocNodeParams::accessDescCount
size_t accessDescCount
The number of access descriptors.
Definition: hip_runtime_api.h:1162
hipHostAlloc
hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory [Deprecated].
hipMemoryTypeArray
@ hipMemoryTypeArray
Definition: hip_runtime_api.h:165
hipMemPoolProps::win32SecurityAttributes
void * win32SecurityAttributes
Definition: hip_runtime_api.h:882
hipGraphNodeTypeWaitEvent
@ hipGraphNodeTypeWaitEvent
External event wait node.
Definition: hip_runtime_api.h:1124
hipErrorInvalidDevice
hipErrorInvalidDevice
DeviceID must be in range 0...#compute-devices.
Definition: hip_runtime_api.h:238
hipDeviceArch_t::hasFunnelShift
unsigned hasFunnelShift
Funnel two words into one with shift&mask caps.
Definition: hip_runtime_api.h:64
hipDeviceAttributeMaxTexture3DHeight
@ hipDeviceAttributeMaxTexture3DHeight
Maximum dimension height of 3D texture.
Definition: hip_runtime_api.h:393
hipDeviceAttributeLuidDeviceNodeMask
@ hipDeviceAttributeLuidDeviceNodeMask
Cuda only. Luid device node mask. Undefined on TCC and non-Windows platforms.
Definition: hip_runtime_api.h:364
hipDeviceAttributeMemoryClockRate
@ hipDeviceAttributeMemoryClockRate
Peak memory clock frequency in kilohertz.
Definition: hip_runtime_api.h:403
hipGraphAddMemcpyNodeFromSymbol
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.
hipErrorNotReady
hipErrorNotReady
Definition: hip_runtime_api.h:269
hipDeviceAttributeMaxTexture2DGather
@ hipDeviceAttributeMaxTexture2DGather
Cuda only. Maximum dimensions of 2D texture if gather operations performed.
Definition: hip_runtime_api.h:388
hipHostGetDevicePointer
hipError_t hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
Get Device pointer from Host Pointer allocated through hipHostMalloc.
hipExternalSemaphoreSignalParams_st
Definition: hip_runtime_api.h:1021
hipMemGetInfo
hipError_t hipMemGetInfo(size_t *free, size_t *total)
Query memory info.
hipEventDestroy
hipError_t hipEventDestroy(hipEvent_t event)
Destroy the specified event.
hipDeviceAttributeTccDriver
@ hipDeviceAttributeTccDriver
Cuda only. Whether device is a Tesla device using TCC driver.
Definition: hip_runtime_api.h:425
hipMemAdviseSetCoarseGrain
@ hipMemAdviseSetCoarseGrain
Definition: hip_runtime_api.h:714
hipPointerAttribute_t
struct hipPointerAttribute_t hipPointerAttribute_t
hipDeviceSetSharedMemConfig
hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
The bank width of shared memory on current device is set.
hipDeviceAttributeUuid
@ hipDeviceAttributeUuid
Cuda only. Unique ID in 16 byte.
Definition: hip_runtime_api.h:431
hipStreamWaitValue32
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].
hipMemAccessDesc::location
hipMemLocation location
Location on which the accessibility has to change.
Definition: hip_runtime_api.h:845
hipDeviceReset
hipError_t hipDeviceReset(void)
The state of current device is discarded and updated to a fresh state.
hipDeviceProp_t::maxGridSize
int maxGridSize[3]
Max grid dimensions (XYZ).
Definition: hip_runtime_api.h:95
hipDeviceAttributeComputeMode
@ hipDeviceAttributeComputeMode
Compute mode that device is currently in.
Definition: hip_runtime_api.h:346
hipDeviceAttributeName
@ hipDeviceAttributeName
Device name.
Definition: hip_runtime_api.h:407
hipPointerSetAttribute
hipError_t hipPointerSetAttribute(const void *value, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Sets information on the specified pointer.[BETA].
hipMemPoolDestroy
hipError_t hipMemPoolDestroy(hipMemPool_t mem_pool)
Destroys the specified memory pool.
hipMemAllocationGranularity_flags
hipMemAllocationGranularity_flags
Definition: hip_runtime_api.h:1292
hipSetDeviceFlags
hipError_t hipSetDeviceFlags(unsigned flags)
The current device behavior is changed according the flags passed.
hipCtxGetCurrent
hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
Get the handle of the current/ default context.
hipErrorStreamCaptureIsolation
hipErrorStreamCaptureIsolation
Definition: hip_runtime_api.h:303
hipGraphAddMemcpyNode
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.
hipDeviceAttributePciDeviceId
@ hipDeviceAttributePciDeviceId
PCI Device ID.
Definition: hip_runtime_api.h:412
hipFuncGetAttributes
hipError_t hipFuncGetAttributes(struct hipFuncAttributes *attr, const void *func)
Find out attributes for a given function.
hipDeviceAttributeAccessPolicyMaxWindowSize
@ hipDeviceAttributeAccessPolicyMaxWindowSize
Cuda only. The maximum size of the window policy in bytes.
Definition: hip_runtime_api.h:340
hipStreamCaptureStatusActive
@ hipStreamCaptureStatusActive
Stream is actively capturing.
Definition: hip_runtime_api.h:1220
hipGraphExecUpdateErrorNotSupported
@ hipGraphExecUpdateErrorNotSupported
The update failed because something about the node is not supported.
Definition: hip_runtime_api.h:1208
hipKernelNodeParams
Definition: hip_runtime_api.h:1140
hipErrorIllegalState
hipErrorIllegalState
Resource required is not in a valid state to perform operation.
Definition: hip_runtime_api.h:267
HIP_ARRAY3D_DESCRIPTOR
Definition: driver_types.h:74
hipFuncGetAttribute
hipError_t hipFuncGetAttribute(int *value, hipFunction_attribute attrib, hipFunction_t hfunc)
Find out a specific attribute for a given function.
hipMemGetAllocationPropertiesFromHandle
hipError_t hipMemGetAllocationPropertiesFromHandle(hipMemAllocationProp *prop, hipMemGenericAllocationHandle_t handle)
Retrieve the property structure of the given handle.
hipMemAdviseUnsetReadMostly
@ hipMemAdviseUnsetReadMostly
Undo the effect of hipMemAdviseSetReadMostly.
Definition: hip_runtime_api.h:706
hipDeviceProp_t::maxSharedMemoryPerMultiProcessor
size_t maxSharedMemoryPerMultiProcessor
Maximum Shared Memory Per Multiprocessor.
Definition: hip_runtime_api.h:117
hipDeviceProp_t::clockInstructionRate
int clockInstructionRate
Definition: hip_runtime_api.h:110
hipIpcOpenEventHandle
hipError_t hipIpcOpenEventHandle(hipEvent_t *event, hipIpcEventHandle_t handle)
Opens an interprocess event handles.
dim3
Definition: hip_runtime_api.h:948
hipStreamQuery
hipError_t hipStreamQuery(hipStream_t stream)
Return hipSuccess if all of the operations in the specified stream have completed,...
hipLaunchByPtr
hipError_t hipLaunchByPtr(const void *func)
Launch a kernel.
hipExtStreamGetCUMask
hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t *cuMask)
Get CU mask associated with an asynchronous stream.
hipDeviceGetUuid
hipError_t hipDeviceGetUuid(hipUUID *uuid, hipDevice_t device)
Returns an UUID for the device.[BETA].
hipExtMallocWithFlags
hipError_t hipExtMallocWithFlags(void **ptr, size_t sizeBytes, unsigned int flags)
Allocate memory on the default accelerator.
hipStreamUpdateCaptureDependencies
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.
hipMemAllocationTypePinned
@ hipMemAllocationTypePinned
Definition: hip_runtime_api.h:858
hipMemcpy2DToArrayAsync
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.
hipDeviceProp_t::hdpMemFlushCntl
unsigned int * hdpMemFlushCntl
Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:129
hipMemPoolProps::handleTypes
hipMemAllocationHandleType handleTypes
Handle types that will be supported by allocations from the pool.
Definition: hip_runtime_api.h:877
hipGraphAddMemFreeNode
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.
hipDevicePrimaryCtxSetFlags
hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags)
Set flags for the primary context.
hipErrorStreamCaptureMerge
hipErrorStreamCaptureMerge
Definition: hip_runtime_api.h:298
hipPointerAttribute_t
Definition: hip_runtime_api.h:175
hipDeviceAttributeTotalConstantMemory
@ hipDeviceAttributeTotalConstantMemory
Constant memory size in bytes.
Definition: hip_runtime_api.h:428
hipFree
hipError_t hipFree(void *ptr)
Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...
hipUserObjectCreate
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.
hipTexObjectCreate
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.
hipMemMapArrayAsync
hipError_t hipMemMapArrayAsync(hipArrayMapInfo *mapInfoList, unsigned int count, hipStream_t stream)
Maps or unmaps subregions of sparse HIP arrays and sparse HIP mipmapped arrays.
hipGraphMemsetNodeSetParams
hipError_t hipGraphMemsetNodeSetParams(hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets a memset node's parameters.
hipDeviceArch_t::hasWarpShuffle
unsigned hasWarpShuffle
Warp shuffle operations. (__shfl_*).
Definition: hip_runtime_api.h:63
hipLaunchParams_t::func
void * func
Device function symbol.
Definition: hip_runtime_api.h:957
hipArrayDefault
#define hipArrayDefault
Definition: hip_runtime_api.h:673
hipGraphExecMemcpyNodeSetParamsToSymbol
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.
hipDeviceAttributeGlobalL1CacheSupported
@ hipDeviceAttributeGlobalL1CacheSupported
Cuda only. Device supports caching globals in L1.
Definition: hip_runtime_api.h:356
hipDeviceAttributeTotalGlobalMem
@ hipDeviceAttributeTotalGlobalMem
Global memory available on devicice.
Definition: hip_runtime_api.h:429
hipDevicePrimaryCtxRetain
hipError_t hipDevicePrimaryCtxRetain(hipCtx_t *pctx, hipDevice_t dev)
Retain the primary context on the GPU.
hipGLDeviceListCurrentFrame
@ hipGLDeviceListCurrentFrame
frame
Definition: hip_runtime_api.h:1068
hipGraphEventRecordNodeSetEvent
hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event record node's event.
hipCtxSynchronize
hipError_t hipCtxSynchronize(void)
Blocks until the default context has completed all preceding requested tasks.
hipGraphNodeTypeEmpty
@ hipGraphNodeTypeEmpty
Empty (no-op) node.
Definition: hip_runtime_api.h:1123
hipMemcpyHtoA
hipError_t hipMemcpyHtoA(hipArray *dstArray, size_t dstOffset, const void *srcHost, size_t count)
Copies data between host and device.
hipFreeHost
hipError_t hipFreeHost(void *ptr)
Free memory allocated by the hcc hip host memory allocation API. [Deprecated].
surface_types.h
Defines surface types for HIP runtime.
hipDeviceProp_t::memoryBusWidth
int memoryBusWidth
Global memory bus width in bits.
Definition: hip_runtime_api.h:98
hipStreamAddCallback
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...
hipDeviceArch_t::hasWarpVote
unsigned hasWarpVote
Warp vote instructions (__any, __all).
Definition: hip_runtime_api.h:61
hipDeviceProp_t::name
char name[256]
Device name.
Definition: hip_runtime_api.h:88
hipDeviceAttributeMaxRegistersPerMultiprocessor
@ hipDeviceAttributeMaxRegistersPerMultiprocessor
32-bit registers available per block.
Definition: hip_runtime_api.h:417
hipMemAllocationProp::win32HandleMetaData
void * win32HandleMetaData
Metadata for Win32 handles.
Definition: hip_runtime_api.h:1274
hipLaunchParams_t::stream
hipStream_t stream
Stream identifier.
Definition: hip_runtime_api.h:962
hipErrorGraphExecUpdateFailure
hipErrorGraphExecUpdateFailure
Definition: hip_runtime_api.h:316
hipMemcpyDtoHAsync
hipError_t hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Host asynchronously.
hipDeviceArch_t::hasGlobalFloatAtomicExch
unsigned hasGlobalFloatAtomicExch
32-bit float atomic exch for global memory.
Definition: hip_runtime_api.h:48
hipArrayMapInfo::extentDepth
unsigned int extentDepth
Depth in elements.
Definition: hip_runtime_api.h:1345
hipMemRangeCoherencyMode
hipMemRangeCoherencyMode
Definition: hip_runtime_api.h:726
hipGraphDebugDotFlagsEventNodeParams
@ hipGraphDebugDotFlagsEventNodeParams
Definition: hip_runtime_api.h:1256
hipErrorStreamCaptureUnsupported
hipErrorStreamCaptureUnsupported
Definition: hip_runtime_api.h:294
hipDeviceProp_t::concurrentKernels
int concurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition: hip_runtime_api.h:113
hipMemRangeAttributeReadMostly
@ hipMemRangeAttributeReadMostly
Definition: hip_runtime_api.h:741
hipUUID_t
Definition: hip_runtime_api.h:76
hipDeviceArch_t::hasWarpBallot
unsigned hasWarpBallot
Warp ballot instructions (__ballot).
Definition: hip_runtime_api.h:62
hipMemAllocationProp::type
hipMemAllocationType type
Memory allocation type.
Definition: hip_runtime_api.h:1271
hipMemRangeAttributeLastPrefetchLocation
@ hipMemRangeAttributeLastPrefetchLocation
prefetched
Definition: hip_runtime_api.h:746
hipDeviceProp_t::totalGlobalMem
size_t totalGlobalMem
Size of global memory region (in bytes).
Definition: hip_runtime_api.h:89
hipMemPoolImportFromShareableHandle
hipError_t hipMemPoolImportFromShareableHandle(hipMemPool_t *mem_pool, void *shared_handle, hipMemAllocationHandleType handle_type, unsigned int flags)
Imports a memory pool from a shared handle.
hipDeviceAttributeTextureAlignment
@ hipDeviceAttributeTextureAlignment
Alignment requirement for textures.
Definition: hip_runtime_api.h:426
hipDrvMemcpy3DAsync
hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D *pCopy, hipStream_t stream)
Copies data between host and device asynchronously.
hipEventRecord
hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream)
Record an event in the specified stream.
hipExternalMemoryHandleDesc_st
Definition: hip_runtime_api.h:985
hipGraphNodeGetEnabled
hipError_t hipGraphNodeGetEnabled(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, unsigned int *isEnabled)
Query whether a node in the given graphExec is enabled.
hipLaunchParams_t::gridDim
dim3 gridDim
Grid dimentions.
Definition: hip_runtime_api.h:958
hipGraphNodeFindInClone
hipError_t hipGraphNodeFindInClone(hipGraphNode_t *pNode, hipGraphNode_t originalNode, hipGraph_t clonedGraph)
Finds a cloned version of a node.
hipGraphMemAttrUsedMemHigh
@ hipGraphMemAttrUsedMemHigh
High watermark of memory, in bytes, associated with graphs since the last time.
Definition: hip_runtime_api.h:1232
hipMemAccessFlags
hipMemAccessFlags
Definition: hip_runtime_api.h:836
hipDeviceProp_t::directManagedMemAccessFromHost
int directManagedMemAccessFromHost
Host can directly access managed memory on the device without migration.
Definition: hip_runtime_api.h:148
hipMemcpy2D
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.
hipMemAllocationProp
Definition: hip_runtime_api.h:1270
hipExtent
Definition: driver_types.h:358
hipPitchedPtr
Definition: driver_types.h:352
hipHostMallocDefault
#define hipHostMallocDefault
Definition: hip_runtime_api.h:598
hipMemOperationType
hipMemOperationType
Definition: hip_runtime_api.h:1311
hipDeviceProp_t::gcnArchName
char gcnArchName[256]
AMD GCN Arch Name.
Definition: hip_runtime_api.h:121
hipMemPoolSetAccess
hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc *desc_list, size_t count)
Controls visibility of the specified pool between devices.
hipSharedMemBankSizeDefault
@ hipSharedMemBankSizeDefault
The compiler selects a device-specific value for the banking.
Definition: hip_runtime_api.h:938
hipUserObjectRelease
hipError_t hipUserObjectRelease(hipUserObject_t object, unsigned int count __dparm(1))
Release number of references to resource.
hipDeviceAttributeMaxTextureCubemapLayered
@ hipDeviceAttributeMaxTextureCubemapLayered
Cuda only. Maximum dimensions of Cubemap layered texture.
Definition: hip_runtime_api.h:397
hipMemOperationTypeUnmap
@ hipMemOperationTypeUnmap
Unmap operation.
Definition: hip_runtime_api.h:1313
hipMemset2D
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.
hipMemset3D
hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent)
Fills synchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipStreamCreateWithFlags
hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
Create an asynchronous stream.
hipGraphKernelNodeSetAttribute
hipError_t hipGraphKernelNodeSetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, const hipKernelNodeAttrValue *value)
Sets a node attribute.
hipDeviceAttributeMaxSurface3D
@ hipDeviceAttributeMaxSurface3D
Maximum dimension (width, height, depth) of 3D surface.
Definition: hip_runtime_api.h:378
hipDeviceGetAttribute
hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId)
Query for a specific device attribute.
hipMemcpyFromArray
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.
hipDeviceAttributeCanMapHostMemory
@ hipDeviceAttributeCanMapHostMemory
Whether host memory can be mapped into device address space.
Definition: hip_runtime_api.h:342
hipGraphExecUpdate
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.
hipDeviceProp_t::maxThreadsDim
int maxThreadsDim[3]
Max number of threads in each dimension (XYZ) of a block.
Definition: hip_runtime_api.h:94
hipMemAllocationHandleType
hipMemAllocationHandleType
Definition: hip_runtime_api.h:866
hipMemAccessFlagsProtNone
@ hipMemAccessFlagsProtNone
Default, make the address range not accessible.
Definition: hip_runtime_api.h:837
hipMemcpyPeerAsync
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.
hipDrvMemcpy2DUnaligned
hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D *pCopy)
hipDeviceAttributePciDomainID
@ hipDeviceAttributePciDomainID
PCI Domain ID.
Definition: hip_runtime_api.h:413
hipMemcpyHtoDAsync
hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream)
Copy data from Host to Device asynchronously.
hipDeviceProp_t::cooperativeMultiDeviceLaunch
int cooperativeMultiDeviceLaunch
HIP device supports cooperative launch on multiple devices.
Definition: hip_runtime_api.h:124
hipMemPoolGetAttribute
hipError_t hipMemPoolGetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void *value)
Gets attributes of a memory pool.
hipSignalExternalSemaphoresAsync
hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreSignalParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Signals a set of external semaphore objects.
hipMemcpyDtoH
hipError_t hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Host.
hipMemAllocNodeParams::bytesize
size_t bytesize
The size of the requested allocation in bytes.
Definition: hip_runtime_api.h:1163
hipDeviceArch_t::has3dGrid
unsigned has3dGrid
Grid and group dims are 3D (rather than 2D).
Definition: hip_runtime_api.h:72
hipDeviceGetCacheConfig
hipError_t hipDeviceGetCacheConfig(hipFuncCache_t *cacheConfig)
Get Cache configuration for a specific Device.
hipModuleGetGlobal
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...
hipGraphAddEventWaitNode
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.
hipMemcpyPeer
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.
hipDeviceAttributeMaxTexture1DWidth
@ hipDeviceAttributeMaxTexture1DWidth
Maximum size of 1D texture.
Definition: hip_runtime_api.h:381
hipMemHandleTypePosixFileDescriptor
@ hipMemHandleTypePosixFileDescriptor
Allows a file descriptor for exporting. Permitted only on POSIX systems.
Definition: hip_runtime_api.h:868
hipDeviceAttributeCooperativeLaunch
@ hipDeviceAttributeCooperativeLaunch
Support cooperative launch.
Definition: hip_runtime_api.h:350
hipImportExternalSemaphore
hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t *extSem_out, const hipExternalSemaphoreHandleDesc *semHandleDesc)
Imports an external semaphore.
hipFunctionLaunchParams_t::gridDimX
unsigned int gridDimX
Width(X) of grid in blocks.
Definition: hip_runtime_api.h:966
hipModuleLoadDataEx
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....
hipFreeMipmappedArray
hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray)
Frees a mipmapped array on the device.
hipGraphNodeGetDependentNodes
hipError_t hipGraphNodeGetDependentNodes(hipGraphNode_t node, hipGraphNode_t *pDependentNodes, size_t *pNumDependentNodes)
Returns a node's dependent nodes.
hipDeviceAttributeMultiprocessorCount
@ hipDeviceAttributeMultiprocessorCount
Number of multiprocessors on the device.
Definition: hip_runtime_api.h:406
hipGraphEventRecordNodeGetEvent
hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event record node.
hipGLDeviceListAll
@ hipGLDeviceListAll
All hip devices used by current OpenGL context.
Definition: hip_runtime_api.h:1067
hipIpcGetEventHandle
hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t *handle, hipEvent_t event)
Gets an opaque interprocess handle for an event.
hipDeviceProp_t::pciDeviceID
int pciDeviceID
PCI Device ID.
Definition: hip_runtime_api.h:116
hipGetDeviceProperties
hipError_t hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId)
Returns device properties.
hipGraphAddEmptyNode
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.
hipGraphAddHostNode
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.
hipDeviceAttributeArch
@ hipDeviceAttributeArch
Device architecture.
Definition: hip_runtime_api.h:440
hipMemcpy
hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
Copy data from src to dst.
hipDeviceAttributeIsLargeBar
@ hipDeviceAttributeIsLargeBar
Whether it is LargeBar.
Definition: hip_runtime_api.h:454
hipDeviceProp_t::memoryClockRate
int memoryClockRate
Max global memory clock frequency in khz.
Definition: hip_runtime_api.h:97
hipEventCreateWithFlags
hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
Create an event with the specified flags.
hipMemAdviseUnsetAccessedBy
@ hipMemAdviseUnsetAccessedBy
Definition: hip_runtime_api.h:712
hipErrorCooperativeLaunchTooLarge
hipErrorCooperativeLaunchTooLarge
Definition: hip_runtime_api.h:289
hipModuleLaunchCooperativeKernel
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...
hipGraphExecMemcpyNodeSetParamsFromSymbol
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.
hipBindTextureToMipmappedArray
hipError_t hipBindTextureToMipmappedArray(const textureReference *tex, hipMipmappedArray_const_t mipmappedArray, const hipChannelFormatDesc *desc)
Binds a mipmapped array to a texture.
hipDeviceProp_t::pageableMemoryAccess
int pageableMemoryAccess
Definition: hip_runtime_api.h:150
hipMemHandleType
hipMemHandleType
Definition: hip_runtime_api.h:1302
hipMemPoolReuseFollowEventDependencies
@ hipMemPoolReuseFollowEventDependencies
Definition: hip_runtime_api.h:767
hipGraphNodeGetType
hipError_t hipGraphNodeGetType(hipGraphNode_t node, hipGraphNodeType *pType)
Returns a node's type.
hipDeviceProp_t::warpSize
int warpSize
Warp size.
Definition: hip_runtime_api.h:92
hipDeviceTotalMem
hipError_t hipDeviceTotalMem(size_t *bytes, hipDevice_t device)
Returns the total amount of memory on the device.
hipDeviceAttributeReservedSharedMemPerBlock
@ hipDeviceAttributeReservedSharedMemPerBlock
Cuda11 only. Shared memory reserved by CUDA driver per block.
Definition: hip_runtime_api.h:418
hipFreeArray
hipError_t hipFreeArray(hipArray *array)
Frees an array on the device.
hipMallocManaged
hipError_t hipMallocManaged(void **dev_ptr, size_t size, unsigned int flags __dparm(hipMemAttachGlobal))
Allocates memory that will be automatically managed by HIP.
hipErrorAssert
hipErrorAssert
Produced when the kernel calls assert.
Definition: hip_runtime_api.h:282
hipGraphHostNodeSetParams
hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets a host node's parameters.
textureReference
Definition: texture_types.h:88
hipDeviceAttributeStreamPrioritiesSupported
@ hipDeviceAttributeStreamPrioritiesSupported
Cuda only. Whether to support stream priorities.
Definition: hip_runtime_api.h:423
hipErrorCapturedEvent
hipErrorCapturedEvent
Definition: hip_runtime_api.h:310
hipMemPoolAttr
hipMemPoolAttr
Definition: hip_runtime_api.h:758
hipArrayMapInfo::memHandleType
hipMemHandleType memHandleType
Memory handle type.
Definition: hip_runtime_api.h:1354
hipDeviceProp_t::cooperativeMultiDeviceUnmatchedFunc
int cooperativeMultiDeviceUnmatchedFunc
Definition: hip_runtime_api.h:137
hipCtxGetSharedMemConfig
hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration.
hipGetSymbolAddress
hipError_t hipGetSymbolAddress(void **devPtr, const void *symbol)
Gets device pointer associated with symbol on the device.
hipDeviceProp_t::cooperativeMultiDeviceUnmatchedGridDim
int cooperativeMultiDeviceUnmatchedGridDim
Definition: hip_runtime_api.h:139
hipDeviceCanAccessPeer
hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId)
Determine if a device can access a peer's memory.
hipDrvGetErrorName
hipError_t hipDrvGetErrorName(hipError_t hipError, const char **errorString)
Return hip error as text string form.
hipMemAdviseUnsetPreferredLocation
@ hipMemAdviseUnsetPreferredLocation
Clear the preferred location for the data.
Definition: hip_runtime_api.h:709
hipGraphDebugDotFlagsVerbose
@ hipGraphDebugDotFlagsVerbose
Definition: hip_runtime_api.h:1250
hipModuleGetFunction
hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname)
Function with kname will be extracted if present in module.
hipErrorStreamCaptureWrongThread
hipErrorStreamCaptureWrongThread
Definition: hip_runtime_api.h:312
hipDeviceAttributeMultiGpuBoardGroupID
@ hipDeviceAttributeMultiGpuBoardGroupID
Cuda only. Unique ID of device group on the same multi-GPU board.
Definition: hip_runtime_api.h:405
hipDeviceArch_t::hasFloatAtomicAdd
unsigned hasFloatAtomicAdd
32-bit float atomic add in global and shared memory.
Definition: hip_runtime_api.h:51
hipStreamIsCapturing
hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus)
Get stream's capture state.
hipDeviceGetMemPool
hipError_t hipDeviceGetMemPool(hipMemPool_t *mem_pool, int device)
Gets the current memory pool for the specified device.
hipUserObjectNoDestructorSync
@ hipUserObjectNoDestructorSync
Destructor execution is not synchronized.
Definition: hip_runtime_api.h:1237
hipDeviceAttributeClockInstructionRate
@ hipDeviceAttributeClockInstructionRate
Frequency in khz of the timer used by the device-side "clock*".
Definition: hip_runtime_api.h:439
hipStreamGetCaptureInfo_v2
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.
hipFunctionLaunchParams_t::blockDimY
unsigned int blockDimY
Y dimension of each thread block.
Definition: hip_runtime_api.h:970
hipMemLocation
struct hipMemLocation hipMemLocation
hipMemRangeCoherencyModeIndeterminate
@ hipMemRangeCoherencyModeIndeterminate
Definition: hip_runtime_api.h:731
hipGraphExecMemsetNodeSetParams
hipError_t hipGraphExecMemsetNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets the parameters for a memset node in the given graphExec.
hipGraphExecEventRecordNodeSetEvent
hipError_t hipGraphExecEventRecordNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipMemPrefetchAsync
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.
hipCtxDisablePeerAccess
hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx)
Disable direct access from current context's virtual address space to memory allocations physically l...
hipDeviceProp_t::cooperativeLaunch
int cooperativeLaunch
HIP device supports cooperative launch.
Definition: hip_runtime_api.h:123
hipMemAddressReserve
hipError_t hipMemAddressReserve(void **ptr, size_t size, size_t alignment, void *addr, unsigned long long flags)
Reserves an address range.
hipArrayMapInfo::offsetY
unsigned int offsetY
Y offset in elements.
Definition: hip_runtime_api.h:1341
hipDeviceArch_t::hasSharedFloatAtomicExch
unsigned hasSharedFloatAtomicExch
32-bit float atomic exch for shared memory.
Definition: hip_runtime_api.h:50
hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem
Definition: hip_runtime_api.h:452
HIP_RESOURCE_DESC_st
Definition: driver_types.h:282
hipTextureDesc
Definition: texture_types.h:109
hipGraphDebugDotFlagsKernelNodeParams
@ hipGraphDebugDotFlagsKernelNodeParams
Definition: hip_runtime_api.h:1252
hipResourceViewDesc
Definition: driver_types.h:314
hipStreamWriteValue64
hipError_t hipStreamWriteValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipDeviceProp_t::multiProcessorCount
int multiProcessorCount
Number of multi-processors (compute units).
Definition: hip_runtime_api.h:106
hipGraphDestroyNode
hipError_t hipGraphDestroyNode(hipGraphNode_t node)
Remove a node from the graph.
hipDeviceAttributeHostNativeAtomicSupported
@ hipDeviceAttributeHostNativeAtomicSupported
Cuda only. Link between the device and the host supports native atomic operations.
Definition: hip_runtime_api.h:357
hipFunctionLaunchParams_t::blockDimX
unsigned int blockDimX
X dimension of each thread block.
Definition: hip_runtime_api.h:969
hipDeviceGraphMemTrim
hipError_t hipDeviceGraphMemTrim(int device)
Free unused memory on specific device used for graph back to OS.
dim3::z
uint32_t z
z
Definition: hip_runtime_api.h:951
hipGraphKernelNodeGetAttribute
hipError_t hipGraphKernelNodeGetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, hipKernelNodeAttrValue *value)
Gets a node attribute.
hipUserObjectRetain
hipError_t hipUserObjectRetain(hipUserObject_t object, unsigned int count __dparm(1))
Retain number of references to resource.
hipFunctionLaunchParams_t::gridDimY
unsigned int gridDimY
Height(Y) of grid in blocks.
Definition: hip_runtime_api.h:967
hipArrayMapInfo::level
unsigned int level
For mipmapped arrays must be a valid mipmap level. For arrays must be zero.
Definition: hip_runtime_api.h:1338
hipCtxSetSharedMemConfig
hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config)
Set Shared memory bank configuration.
hipDeviceProp_t::integrated
int integrated
APU vs dGPU.
Definition: hip_runtime_api.h:122
hipMemsetD8
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...
hipGraphUpload
hipError_t hipGraphUpload(hipGraphExec_t graphExec, hipStream_t stream)
uploads an executable graph in a stream
hipMemset2DAsync
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.
hipHostNodeParams
Definition: hip_runtime_api.h:1136
hipDeviceProp_t::ECCEnabled
int ECCEnabled
Device has ECC support enabled.
Definition: hip_runtime_api.h:135
hipGraphMemAttrUsedMemCurrent
@ hipGraphMemAttrUsedMemCurrent
Amount of memory, in bytes, currently associated with graphs.
Definition: hip_runtime_api.h:1231
HIP_ARRAY_DESCRIPTOR
Definition: driver_types.h:68
hipArrayMapInfo::resourceType
hipResourceType resourceType
Resource type.
Definition: hip_runtime_api.h:1330
hipMemAllocationProp::gpuDirectRDMACapable
unsigned char gpuDirectRDMACapable
RDMA capable.
Definition: hip_runtime_api.h:1277
hipGraphMemcpyNodeSetParams1D
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.
hipCtxGetDevice
hipError_t hipCtxGetDevice(hipDevice_t *device)
Get the handle of the device associated with current/default context.
hipDeviceAttributeCanUseStreamWaitValue
@ hipDeviceAttributeCanUseStreamWaitValue
Definition: hip_runtime_api.h:456
hipLaunchParams_t::blockDim
dim3 blockDim
Block dimentions.
Definition: hip_runtime_api.h:959
hipDeviceProp_t::totalConstMem
size_t totalConstMem
Size of shared memory region (in bytes).
Definition: hip_runtime_api.h:99
hipDeviceProp_t::maxTexture2D
int maxTexture2D[2]
Maximum dimensions (width, height) of 2D images, in image elements.
Definition: hip_runtime_api.h:127
hipMemAllocHost
hipError_t hipMemAllocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipDeviceAttributeCanUseHostPointerForRegisteredMem
@ hipDeviceAttributeCanUseHostPointerForRegisteredMem
Definition: hip_runtime_api.h:343
hipMemAttachGlobal
#define hipMemAttachGlobal
Definition: hip_runtime_api.h:622
hipCreateTextureObject
hipError_t hipCreateTextureObject(hipTextureObject_t *pTexObject, const hipResourceDesc *pResDesc, const hipTextureDesc *pTexDesc, const struct hipResourceViewDesc *pResViewDesc)
Creates a texture object.
hipGraphDebugDotFlagsHandles
@ hipGraphDebugDotFlagsHandles
Definition: hip_runtime_api.h:1264
hipLaunchParams_t
Definition: hip_runtime_api.h:956
hipFuncCachePreferShared
@ hipFuncCachePreferShared
prefer larger shared memory and smaller L1 cache
Definition: hip_runtime_api.h:930
hipGraphRetainUserObject
hipError_t hipGraphRetainUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count __dparm(1), unsigned int flags __dparm(0))
Retain user object for graphs.
hipMemRangeAttributePreferredLocation
@ hipMemRangeAttributePreferredLocation
The preferred location of the range.
Definition: hip_runtime_api.h:743
hipErrorHostMemoryAlreadyRegistered
hipErrorHostMemoryAlreadyRegistered
Produced when trying to lock a page-locked memory.
Definition: hip_runtime_api.h:283
hipDeviceAttributeMaxSurface1DLayered
@ hipDeviceAttributeMaxSurface1DLayered
Cuda only. Maximum dimensions of 1D layered surface.
Definition: hip_runtime_api.h:375
hipMemAdviseSetReadMostly
@ hipMemAdviseSetReadMostly
Definition: hip_runtime_api.h:704
hipFuncAttribute
hipFuncAttribute
Definition: hip_runtime_api.h:920
hipMemLocation::type
hipMemLocationType type
Specifies the location type, which describes the meaning of id.
Definition: hip_runtime_api.h:828
hipMemLocationType
hipMemLocationType
Definition: hip_runtime_api.h:818
hipFunctionLaunchParams_t::blockDimZ
unsigned int blockDimZ
Z dimension of each thread block.
Definition: hip_runtime_api.h:971
hipGraphMemsetNodeGetParams
hipError_t hipGraphMemsetNodeGetParams(hipGraphNode_t node, hipMemsetParams *pNodeParams)
Gets a memset node's parameters.
hipMemPoolReuseAllowOpportunistic
@ hipMemPoolReuseAllowOpportunistic
Definition: hip_runtime_api.h:773
hipSharedMemBankSizeEightByte
@ hipSharedMemBankSizeEightByte
Definition: hip_runtime_api.h:941
hipDeviceAttribute_t
hipDeviceAttribute_t
Definition: hip_runtime_api.h:336
hipMemPoolCreate
hipError_t hipMemPoolCreate(hipMemPool_t *mem_pool, const hipMemPoolProps *pool_props)
Creates a memory pool.
hipGraphChildGraphNodeGetGraph
hipError_t hipGraphChildGraphNodeGetGraph(hipGraphNode_t node, hipGraph_t *pGraph)
Gets a handle to the embedded graph of a child graph node.
hipGraphDebugDotPrint
hipError_t hipGraphDebugDotPrint(hipGraph_t graph, const char *path, unsigned int flags)
Write a DOT file describing graph structure.
hipFuncSetSharedMemConfig
hipError_t hipFuncSetSharedMemConfig(const void *func, hipSharedMemConfig config)
Set shared memory configuation for a specific function.
hipExtGetLinkTypeAndHopCount
hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t *linktype, uint32_t *hopcount)
Returns the link type and hop count between two devices.
hipArraySparseSubresourceTypeSparseLevel
@ hipArraySparseSubresourceTypeSparseLevel
Sparse level.
Definition: hip_runtime_api.h:1322
hipMemPoolAttrUsedMemHigh
@ hipMemPoolAttrUsedMemHigh
Definition: hip_runtime_api.h:811
hipMemAdviseSetAccessedBy
@ hipMemAdviseSetAccessedBy
Definition: hip_runtime_api.h:710
hipGraphicsRegisterFlagsWriteDiscard
@ hipGraphicsRegisterFlagsWriteDiscard
HIP will only write and will not read from this registered resource.
Definition: hip_runtime_api.h:1082
hipGraphUserObjectMove
@ hipGraphUserObjectMove
Add new reference or retain.
Definition: hip_runtime_api.h:1241
hipTexObjectGetTextureDesc
hipError_t hipTexObjectGetTextureDesc(HIP_TEXTURE_DESC *pTexDesc, hipTextureObject_t texObject)
Gets texture descriptor of a texture object.
hipResourceDesc
Definition: driver_types.h:258
hipErrorMemoryAllocation
hipErrorMemoryAllocation
Memory allocation error.
Definition: hip_runtime_api.h:219
hipErrorLaunchFailure
hipErrorLaunchFailure
An exception occurred on the device while executing a kernel.
Definition: hip_runtime_api.h:287
hipGraphicsRegisterFlagsSurfaceLoadStore
@ hipGraphicsRegisterFlagsSurfaceLoadStore
HIP will bind this resource to a surface.
Definition: hip_runtime_api.h:1084
hipDeviceSynchronize
hipError_t hipDeviceSynchronize(void)
Waits on all active streams on current device.
hipCtxGetCacheConfig
hipError_t hipCtxGetCacheConfig(hipFuncCache_t *cacheConfig)
Set Cache configuration for a specific function.
hipLaunchParams_t::sharedMem
size_t sharedMem
Shared memory.
Definition: hip_runtime_api.h:961
hipMemAllocationGranularityRecommended
@ hipMemAllocationGranularityRecommended
Recommended granularity for performance.
Definition: hip_runtime_api.h:1294
hipStreamAddCaptureDependencies
@ hipStreamAddCaptureDependencies
Add new nodes to the dependency set.
Definition: hip_runtime_api.h:1226
hipDeviceAttributeMaxBlocksPerMultiProcessor
@ hipDeviceAttributeMaxBlocksPerMultiProcessor
Cuda only. Max block size per multiprocessor.
Definition: hip_runtime_api.h:367
hipCtxDestroy
hipError_t hipCtxDestroy(hipCtx_t ctx)
Destroy a HIP context.
hipGraphDebugDotFlagsMemcpyNodeParams
@ hipGraphDebugDotFlagsMemcpyNodeParams
Definition: hip_runtime_api.h:1253
hipDeviceAttributeGcnArch
@ hipDeviceAttributeGcnArch
Device gcn architecture.
Definition: hip_runtime_api.h:442
hipGraphKernelNodeCopyAttributes
hipError_t hipGraphKernelNodeCopyAttributes(hipGraphNode_t hSrc, hipGraphNode_t hDst)
Copies attributes from source node to destination node.
hipModuleLaunchKernel
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...
hipDeviceAttributeConcurrentKernels
@ hipDeviceAttributeConcurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition: hip_runtime_api.h:348
hipGraphKernelNodeGetParams
hipError_t hipGraphKernelNodeGetParams(hipGraphNode_t node, hipKernelNodeParams *pNodeParams)
Gets kernel node's parameters.
hipDeviceAttributeMaxTexture2DLayered
@ hipDeviceAttributeMaxTexture2DLayered
Cuda only. Maximum dimensions of 2D layered texture.
Definition: hip_runtime_api.h:389
hipDeviceProp_t::cooperativeMultiDeviceUnmatchedSharedMem
int cooperativeMultiDeviceUnmatchedSharedMem
Definition: hip_runtime_api.h:143
hipMemAllocationProp::usage
unsigned short usage
Usage.
Definition: hip_runtime_api.h:1278
hipProfilerStart
hipError_t hipProfilerStart()
Start recording of profiling information When using this API, start the profiler with profiling disab...
hipDeviceGetSharedMemConfig
hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
Returns bank width of shared memory for current device.
hipGraphNodeTypeMemAlloc
@ hipGraphNodeTypeMemAlloc
Memory alloc node.
Definition: hip_runtime_api.h:1128
hipErrorNotSupported
hipErrorNotSupported
Produced when the hip API is not supported/implemented.
Definition: hip_runtime_api.h:293
hipMemcpyAsync
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.
hipGraphAddMemAllocNode
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.
hipErrorLaunchOutOfResources
hipErrorLaunchOutOfResources
Out of resources error.
Definition: hip_runtime_api.h:274
hipOccupancyMaxPotentialBlockSize
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
hipStreamDestroy
hipError_t hipStreamDestroy(hipStream_t stream)
Destroys the specified stream.
hipHostRegister
hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
Register host memory so it can be accessed from the current device.
hipStreamSetCaptureDependencies
@ hipStreamSetCaptureDependencies
Replace the dependency set with the new nodes.
Definition: hip_runtime_api.h:1227
hipGraphMemcpyNodeSetParamsToSymbol
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.
hipModuleLoad
hipError_t hipModuleLoad(hipModule_t *module, const char *fname)
Loads code object from file into a hipModule_t.
hipProfilerStop
hipError_t hipProfilerStop()
Stop recording of profiling information. When using this API, start the profiler with profiling disab...
hipDeviceSetLimit
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...
hipGetTextureObjectResourceDesc
hipError_t hipGetTextureObjectResourceDesc(hipResourceDesc *pResDesc, hipTextureObject_t textureObject)
Gets resource descriptor for the texture object.
hipMemAllocNodeParams::poolProps
hipMemPoolProps poolProps
Definition: hip_runtime_api.h:1158
hipErrorInvalidResourceHandle
hipErrorInvalidResourceHandle
Resource handle (hipEvent_t or hipStream_t) invalid.
Definition: hip_runtime_api.h:266
hipEventCreate
hipError_t hipEventCreate(hipEvent_t *event)
hipDeviceAttributePageableMemoryAccess
@ hipDeviceAttributePageableMemoryAccess
Definition: hip_runtime_api.h:408
hipGraphExecEventWaitNodeSetEvent
hipError_t hipGraphExecEventWaitNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipGraphAddMemsetNode
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.
HIP_RESOURCE_VIEW_DESC_st
Definition: driver_types.h:328
hipMemoryType
hipMemoryType
Definition: hip_runtime_api.h:161
hipDeviceAttributeSharedMemPerBlockOptin
@ hipDeviceAttributeSharedMemPerBlockOptin
Cuda only. Maximum shared memory per block usable by special opt in.
Definition: hip_runtime_api.h:420
hipGraphicsRegisterFlagsTextureGather
@ hipGraphicsRegisterFlagsTextureGather
HIP will perform texture gather operations on this registered resource.
Definition: hip_runtime_api.h:1085
hipGraphMemAttrReservedMemHigh
@ hipGraphMemAttrReservedMemHigh
High watermark of memory, in bytes, currently allocated for graphs.
Definition: hip_runtime_api.h:1234
hipDeviceSetMemPool
hipError_t hipDeviceSetMemPool(int device, hipMemPool_t mem_pool)
Sets the current memory pool of a device.
hipGLDeviceListNextFrame
@ hipGLDeviceListNextFrame
frame.
Definition: hip_runtime_api.h:1070
hipDeviceAttributeVirtualMemoryManagementSupported
@ hipDeviceAttributeVirtualMemoryManagementSupported
Device supports HIP virtual memory management.
Definition: hip_runtime_api.h:434
hipMemsetAsync
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...
hipMallocHost
hipError_t hipMallocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipDrvPointerGetAttributes
hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute *attributes, void **data, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipDeviceAttributeMaxTexture2DWidth
@ hipDeviceAttributeMaxTexture2DWidth
Maximum dimension width of 2D texture.
Definition: hip_runtime_api.h:386
hipDeviceProp_t::pciDomainID
int pciDomainID
PCI Domain ID.
Definition: hip_runtime_api.h:114
hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc
Definition: hip_runtime_api.h:446
hipGraphExecUpdateErrorNodeTypeChanged
@ hipGraphExecUpdateErrorNodeTypeChanged
The update failed because a node type changed.
Definition: hip_runtime_api.h:1203
hipGraphMemcpyNodeSetParamsFromSymbol
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.
hipModuleLoadData
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.
hipFuncCachePreferL1
@ hipFuncCachePreferL1
prefer larger L1 cache and smaller shared memory
Definition: hip_runtime_api.h:931
hipMemAttachSingle
#define hipMemAttachSingle
Definition: hip_runtime_api.h:628
hipMemcpyParam2D
hipError_t hipMemcpyParam2D(const hip_Memcpy2D *pCopy)
Copies memory for 2D arrays.
hipDeviceAttributeMaxTexture2DLinear
@ hipDeviceAttributeMaxTexture2DLinear
Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory.
Definition: hip_runtime_api.h:390
hipGraphAddEventRecordNode
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.
hipArrayMapInfo
Definition: hip_runtime_api.h:1329
hipGraphNodeTypeExtSemaphoreSignal
@ hipGraphNodeTypeExtSemaphoreSignal
External Semaphore signal node.
Definition: hip_runtime_api.h:1126
hipDeviceProp_t::managedMemory
int managedMemory
Device supports allocating managed memory on this system.
Definition: hip_runtime_api.h:147
hipMemAllocationGranularityMinimum
@ hipMemAllocationGranularityMinimum
Minimum granularity.
Definition: hip_runtime_api.h:1293
hipDeviceAttributeHdpMemFlushCntl
@ hipDeviceAttributeHdpMemFlushCntl
Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:444
hipMemset
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...
hipDeviceDisablePeerAccess
hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
Disable direct access from current device's virtual address space to memory allocations physically lo...
hipDeviceAttributeFineGrainSupport
@ hipDeviceAttributeFineGrainSupport
'1' if Device supports fine grain, '0' otherwise
Definition: hip_runtime_api.h:461
hipModuleOccupancyMaxActiveBlocksPerMultiprocessor
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipFuncSetAttribute
hipError_t hipFuncSetAttribute(const void *func, hipFuncAttribute attr, int value)
Set attribute for a specific function.
hipDeviceAttributeEccEnabled
@ hipDeviceAttributeEccEnabled
Whether ECC support is enabled.
Definition: hip_runtime_api.h:339
__hipPopCallConfiguration
hipError_t __hipPopCallConfiguration(dim3 *gridDim, dim3 *blockDim, size_t *sharedMem, hipStream_t *stream)
Pop configuration of a kernel launch.
hipMemAllocNodeParams::accessDescs
const hipMemAccessDesc * accessDescs
Definition: hip_runtime_api.h:1160
hipDeviceProp_t
struct hipDeviceProp_t hipDeviceProp_t
hipDeviceAttributeMaxSharedMemoryPerMultiprocessor
@ hipDeviceAttributeMaxSharedMemoryPerMultiprocessor
Maximum Shared Memory PerMultiprocessor.
Definition: hip_runtime_api.h:441
hipDevicePrimaryCtxReset
hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev)
Resets the primary context on the GPU.
hipArrayMapInfo
struct hipArrayMapInfo hipArrayMapInfo
hipChannelFormatDesc
Definition: driver_types.h:47
hipStreamWriteValue32
hipError_t hipStreamWriteValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipModuleUnload
hipError_t hipModuleUnload(hipModule_t module)
Frees the module.
hipMemRangeAttribute
hipMemRangeAttribute
Definition: hip_runtime_api.h:740
hipErrorPeerAccessAlreadyEnabled
hipErrorPeerAccessAlreadyEnabled
Peer access was already enabled from the current device.
Definition: hip_runtime_api.h:276
hipMemPoolProps
struct hipMemPoolProps hipMemPoolProps
hipMemHandleTypeWin32
@ hipMemHandleTypeWin32
Allows a Win32 NT handle for exporting. (HANDLE)
Definition: hip_runtime_api.h:869
hipPointerGetAttribute
hipError_t hipPointerGetAttribute(void *data, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipImportExternalMemory
hipError_t hipImportExternalMemory(hipExternalMemory_t *extMem_out, const hipExternalMemoryHandleDesc *memHandleDesc)
Imports an external memory object.
hipMemPoolProps
Definition: hip_runtime_api.h:875