HIP: Heterogenous-computing Interface for Portability
hip_runtime_api.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2015 - 2021 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 
77 //---
78 // Common headers for both NVCC and HCC paths:
79 
84 typedef struct hipDeviceProp_t {
85  char name[256];
86  size_t totalGlobalMem;
89  int warpSize;
91  int maxThreadsDim[3];
92  int maxGridSize[3];
93  int clockRate;
96  size_t totalConstMem;
97  int major;
98  int minor;
101  int multiProcessorCount;
112  int pciBusID;
117  int gcnArch;
118  char gcnArchName[256];
124  int maxTexture2D[2];
125  int maxTexture3D[3];
126  unsigned int* hdpMemFlushCntl;
127  unsigned int* hdpRegFlushCntl;
128  size_t memPitch;
133  int tccDriver;
141  int isLargeBar;
151 
152 
156 typedef enum hipMemoryType {
163 } hipMemoryType;
164 
165 
169 typedef struct hipPointerAttribute_t {
170  enum hipMemoryType memoryType;
171  int device;
172  void* devicePointer;
173  void* hostPointer;
174  int isManaged;
175  unsigned allocationFlags; /* flags specified when memory was allocated*/
176  /* peers? */
178 
179 
180 // hack to get these to show up in Doxygen:
187 // Ignoring error-code return values from hip APIs is discouraged. On C++17,
188 // we can make that yield a warning
189 #if __cplusplus >= 201703L
190 #define __HIP_NODISCARD [[nodiscard]]
191 #else
192 #define __HIP_NODISCARD
193 #endif
194 
195 /*
196  * @brief hipError_t
197  * @enum
198  * @ingroup Enumerations
199  */
200 // Developer note - when updating these, update the hipErrorName and hipErrorString functions in
201 // NVCC and HCC paths Also update the hipCUDAErrorTohipError function in NVCC path.
202 
203 typedef enum __HIP_NODISCARD hipError_t {
206  hipErrorOutOfMemory = 2,
208  // Deprecated
210  hipErrorNotInitialized = 3,
211  // Deprecated
212  hipErrorInitializationError = 3,
213  hipErrorDeinitialized = 4,
214  hipErrorProfilerDisabled = 5,
215  hipErrorProfilerNotInitialized = 6,
216  hipErrorProfilerAlreadyStarted = 7,
217  hipErrorProfilerAlreadyStopped = 8,
218  hipErrorInvalidConfiguration = 9,
219  hipErrorInvalidPitchValue = 12,
220  hipErrorInvalidSymbol = 13,
223  hipErrorInsufficientDriver = 35,
224  hipErrorMissingConfiguration = 52,
225  hipErrorPriorLaunchFailure = 53,
226  hipErrorInvalidDeviceFunction = 98,
229  hipErrorInvalidImage = 200,
231  hipErrorContextAlreadyCurrent = 202,
232  hipErrorMapFailed = 205,
233  // Deprecated
235  hipErrorUnmapFailed = 206,
236  hipErrorArrayIsMapped = 207,
237  hipErrorAlreadyMapped = 208,
238  hipErrorNoBinaryForGpu = 209,
239  hipErrorAlreadyAcquired = 210,
240  hipErrorNotMapped = 211,
241  hipErrorNotMappedAsArray = 212,
242  hipErrorNotMappedAsPointer = 213,
243  hipErrorECCNotCorrectable = 214,
244  hipErrorUnsupportedLimit = 215,
245  hipErrorContextAlreadyInUse = 216,
246  hipErrorPeerAccessUnsupported = 217,
248  hipErrorInvalidGraphicsContext = 219,
249  hipErrorInvalidSource = 300,
250  hipErrorFileNotFound = 301,
251  hipErrorSharedObjectSymbolNotFound = 302,
252  hipErrorSharedObjectInitFailed = 303,
253  hipErrorOperatingSystem = 304,
254  hipErrorInvalidHandle = 400,
255  // Deprecated
258  hipErrorNotFound = 500,
260  hipErrorIllegalAddress = 700,
265  hipErrorLaunchTimeOut = 702,
267  704,
269  705,
270  hipErrorSetOnActiveProcess = 708,
271  hipErrorContextIsDestroyed = 709,
274  712,
276  713,
278  719,
280  720,
281  hipErrorNotSupported = 801,
298  hipErrorCapturedEvent = 907,
307  hipErrorUnknown = 999, //< Unknown error.
311  // HSA Runtime Error Codes start here.
313  hipErrorRuntimeOther = 1053,
315  hipErrorTbd
317 } hipError_t;
318 
319 #undef __HIP_NODISCARD
320 
321 /*
322  * @brief hipDeviceAttribute_t
323  * @enum
324  * @ingroup Enumerations
325  */
326 typedef enum hipDeviceAttribute_t {
327  hipDeviceAttributeCudaCompatibleBegin = 0,
328 
329  hipDeviceAttributeEccEnabled = hipDeviceAttributeCudaCompatibleBegin,
423 
424  hipDeviceAttributeCudaCompatibleEnd = 9999,
425  hipDeviceAttributeAmdSpecificBegin = 10000,
426 
427  hipDeviceAttributeClockInstructionRate = hipDeviceAttributeAmdSpecificBegin,
448  hipDeviceAttributeAmdSpecificEnd = 19999,
450  hipDeviceAttributeVendorSpecificBegin = 20000,
451  // Extended attributes for vendors
453 
454 enum hipComputeMode {
455  hipComputeModeDefault = 0,
456  hipComputeModeExclusive = 1,
457  hipComputeModeProhibited = 2,
458  hipComputeModeExclusiveProcess = 3
459 };
460 
465 #if (defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && !(defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
466 
467 #include <stdint.h>
468 #include <stddef.h>
469 #ifndef GENERIC_GRID_LAUNCH
470 #define GENERIC_GRID_LAUNCH 1
471 #endif
472 #include <hip/amd_detail/host_defines.h>
473 #include <hip/driver_types.h>
474 #include <hip/texture_types.h>
475 #include <hip/surface_types.h>
476 #if defined(_MSC_VER)
477 #define DEPRECATED(msg) __declspec(deprecated(msg))
478 #else // !defined(_MSC_VER)
479 #define DEPRECATED(msg) __attribute__ ((deprecated(msg)))
480 #endif // !defined(_MSC_VER)
481 #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"
482 #define HIP_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
483 #define HIP_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
484 #define HIP_LAUNCH_PARAM_END ((void*)0x03)
485 #ifdef __cplusplus
486  #define __dparm(x) \
487  = x
488 #else
489  #define __dparm(x)
490 #endif
491 #ifdef __GNUC__
492 #pragma GCC visibility push (default)
493 #endif
494 #ifdef __cplusplus
495 namespace hip_impl {
496 hipError_t hip_init();
497 } // namespace hip_impl
498 #endif
499 // Structure definitions:
500 #ifdef __cplusplus
501 extern "C" {
502 #endif
503 //---
504 // API-visible structures
505 typedef struct ihipCtx_t* hipCtx_t;
506 // Note many APIs also use integer deviceIds as an alternative to the device pointer:
507 typedef int hipDevice_t;
508 typedef enum hipDeviceP2PAttr {
509  hipDevP2PAttrPerformanceRank = 0,
510  hipDevP2PAttrAccessSupported,
511  hipDevP2PAttrNativeAtomicSupported,
512  hipDevP2PAttrHipArrayAccessSupported
513 } hipDeviceP2PAttr;
514 typedef struct ihipStream_t* hipStream_t;
515 #define hipIpcMemLazyEnablePeerAccess 0
516 #define HIP_IPC_HANDLE_SIZE 64
517 typedef struct hipIpcMemHandle_st {
518  char reserved[HIP_IPC_HANDLE_SIZE];
520 typedef struct hipIpcEventHandle_st {
521  char reserved[HIP_IPC_HANDLE_SIZE];
523 typedef struct ihipModule_t* hipModule_t;
524 typedef struct ihipModuleSymbol_t* hipFunction_t;
525 typedef struct hipFuncAttributes {
526  int binaryVersion;
527  int cacheModeCA;
528  size_t constSizeBytes;
529  size_t localSizeBytes;
530  int maxDynamicSharedSizeBytes;
531  int maxThreadsPerBlock;
532  int numRegs;
533  int preferredShmemCarveout;
534  int ptxVersion;
535  size_t sharedSizeBytes;
537 typedef struct ihipEvent_t* hipEvent_t;
538 enum hipLimit_t {
539  hipLimitPrintfFifoSize = 0x01,
540  hipLimitMallocHeapSize = 0x02,
541 };
546 //Flags that can be used with hipStreamCreateWithFlags.
548 #define hipStreamDefault 0x00
549 
551 #define hipStreamNonBlocking 0x01
552 
553 //Flags that can be used with hipEventCreateWithFlags.
555 #define hipEventDefault 0x0
556 
558 #define hipEventBlockingSync 0x1
559 
561 #define hipEventDisableTiming 0x2
562 
564 #define hipEventInterprocess 0x4
565 
568 #define hipEventReleaseToDevice 0x40000000
569 
572 #define hipEventReleaseToSystem 0x80000000
573 
574 //Flags that can be used with hipHostMalloc.
576 #define hipHostMallocDefault 0x0
577 
579 #define hipHostMallocPortable 0x1
580 
583 #define hipHostMallocMapped 0x2
584 
588 #define hipHostMallocWriteCombined 0x4
589 
591 #define hipHostMallocNumaUser 0x20000000
592 
594 #define hipHostMallocCoherent 0x40000000
595 
597 #define hipHostMallocNonCoherent 0x80000000
598 
600 #define hipMemAttachGlobal 0x01
601 
603 #define hipMemAttachHost 0x02
604 
606 #define hipMemAttachSingle 0x04
607 
608 #define hipDeviceMallocDefault 0x0
609 
611 #define hipDeviceMallocFinegrained 0x1
612 
614 #define hipMallocSignalMemory 0x2
615 
616 //Flags that can be used with hipHostRegister.
618 #define hipHostRegisterDefault 0x0
619 
621 #define hipHostRegisterPortable 0x1
622 
625 #define hipHostRegisterMapped 0x2
626 
628 #define hipHostRegisterIoMemory 0x4
629 
631 #define hipExtHostRegisterCoarseGrained 0x8
632 
634 #define hipDeviceScheduleAuto 0x0
635 
638 #define hipDeviceScheduleSpin 0x1
639 
642 #define hipDeviceScheduleYield 0x2
643 #define hipDeviceScheduleBlockingSync 0x4
644 #define hipDeviceScheduleMask 0x7
645 #define hipDeviceMapHost 0x8
646 #define hipDeviceLmemResizeToMax 0x16
647 
648 #define hipArrayDefault 0x00
649 #define hipArrayLayered 0x01
650 #define hipArraySurfaceLoadStore 0x02
651 #define hipArrayCubemap 0x04
652 #define hipArrayTextureGather 0x08
653 #define hipOccupancyDefault 0x00
654 #define hipCooperativeLaunchMultiDeviceNoPreSync 0x01
655 #define hipCooperativeLaunchMultiDeviceNoPostSync 0x02
656 #define hipCpuDeviceId ((int)-1)
657 #define hipInvalidDeviceId ((int)-2)
658 //Flags that can be used with hipExtLaunch Set of APIs.
660 #define hipExtAnyOrderLaunch 0x01
661 // Flags to be used with hipStreamWaitValue32 and hipStreamWaitValue64.
662 #define hipStreamWaitValueGte 0x0
663 #define hipStreamWaitValueEq 0x1
664 #define hipStreamWaitValueAnd 0x2
665 #define hipStreamWaitValueNor 0x3
666 // Stream per thread
668 #define hipStreamPerThread ((hipStream_t)2)
669 /*
670  * @brief HIP Memory Advise values
671  * @enum
672  * @ingroup Enumerations
673  */
674 typedef enum hipMemoryAdvise {
692 /*
693  * @brief HIP Coherency Mode
694  * @enum
695  * @ingroup Enumerations
696  */
706 /*
707  * @brief HIP range attributes
708  * @enum
709  * @ingroup Enumerations
710  */
711 typedef enum hipMemRangeAttribute {
722 /*
723  * @brief hipJitOption
724  * @enum
725  * @ingroup Enumerations
726  */
727 typedef enum hipJitOption {
728  hipJitOptionMaxRegisters = 0,
729  hipJitOptionThreadsPerBlock,
730  hipJitOptionWallTime,
731  hipJitOptionInfoLogBuffer,
732  hipJitOptionInfoLogBufferSizeBytes,
733  hipJitOptionErrorLogBuffer,
734  hipJitOptionErrorLogBufferSizeBytes,
735  hipJitOptionOptimizationLevel,
736  hipJitOptionTargetFromContext,
737  hipJitOptionTarget,
738  hipJitOptionFallbackStrategy,
739  hipJitOptionGenerateDebugInfo,
740  hipJitOptionLogVerbose,
741  hipJitOptionGenerateLineInfo,
742  hipJitOptionCacheMode,
743  hipJitOptionSm3xOpt,
744  hipJitOptionFastCompile,
745  hipJitOptionNumOptions
746 } hipJitOption;
750 typedef enum hipFuncAttribute {
751  hipFuncAttributeMaxDynamicSharedMemorySize = 8,
752  hipFuncAttributePreferredSharedMemoryCarveout = 9,
753  hipFuncAttributeMax
758 typedef enum hipFuncCache_t {
767 typedef enum hipSharedMemConfig {
778 typedef struct dim3 {
779  uint32_t x;
780  uint32_t y;
781  uint32_t z;
782 #ifdef __cplusplus
783  constexpr __host__ __device__ dim3(uint32_t _x = 1, uint32_t _y = 1, uint32_t _z = 1) : x(_x), y(_y), z(_z){};
784 #endif
785 } dim3;
786 typedef struct hipLaunchParams_t {
787  void* func;
790  void **args;
791  size_t sharedMem;
792  hipStream_t stream;
794 typedef enum hipExternalMemoryHandleType_enum {
795  hipExternalMemoryHandleTypeOpaqueFd = 1,
796  hipExternalMemoryHandleTypeOpaqueWin32 = 2,
797  hipExternalMemoryHandleTypeOpaqueWin32Kmt = 3,
798  hipExternalMemoryHandleTypeD3D12Heap = 4,
799  hipExternalMemoryHandleTypeD3D12Resource = 5,
800  hipExternalMemoryHandleTypeD3D11Resource = 6,
801  hipExternalMemoryHandleTypeD3D11ResourceKmt = 7,
802 } hipExternalMemoryHandleType;
804  hipExternalMemoryHandleType type;
805  union {
806  int fd;
807  struct {
808  void *handle;
809  const void *name;
810  } win32;
811  } handle;
812  unsigned long long size;
813  unsigned int flags;
816  unsigned long long offset;
817  unsigned long long size;
818  unsigned int flags;
820 typedef void* hipExternalMemory_t;
821 typedef enum hipExternalSemaphoreHandleType_enum {
822  hipExternalSemaphoreHandleTypeOpaqueFd = 1,
823  hipExternalSemaphoreHandleTypeOpaqueWin32 = 2,
824  hipExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3,
825  hipExternalSemaphoreHandleTypeD3D12Fence = 4
826 } hipExternalSemaphoreHandleType;
828  hipExternalSemaphoreHandleType type;
829  union {
830  int fd;
831  struct {
832  void* handle;
833  const void* name;
834  } win32;
835  } handle;
836  unsigned int flags;
838 typedef void* hipExternalSemaphore_t;
840  struct {
841  struct {
842  unsigned long long value;
843  } fence;
844  struct {
845  unsigned long long key;
846  } keyedMutex;
847  unsigned int reserved[12];
848  } params;
849  unsigned int flags;
850  unsigned int reserved[16];
856  struct {
857  struct {
858  unsigned long long value;
859  } fence;
860  struct {
861  unsigned long long key;
862  unsigned int timeoutMs;
863  } keyedMutex;
864  unsigned int reserved[10];
865  } params;
866  unsigned int flags;
867  unsigned int reserved[16];
869 
870 #if __HIP_HAS_GET_PCH
871 
876  void __hipGetPCH(const char** pch, unsigned int*size);
877 #endif
878 
879 /*
880  * @brief HIP Devices used by current OpenGL Context.
881  * @enum
882  * @ingroup Enumerations
883  */
884 typedef enum hipGLDeviceList {
891 
892 /*
893  * @brief HIP Access falgs for Interop resources.
894  * @enum
895  * @ingroup Enumerations
896  */
898  hipGraphicsRegisterFlagsNone = 0,
901  2,
904  8
906 
907 typedef struct _hipGraphicsResource hipGraphicsResource;
908 
909 typedef hipGraphicsResource* hipGraphicsResource_t;
910 
911 // Doxygen end group GlobalDefs
913 //-------------------------------------------------------------------------------------------------
914 // The handle allows the async commands to use the stream even if the parent hipStream_t goes
915 // out-of-scope.
916 // typedef class ihipStream_t * hipStream_t;
917 /*
918  * Opaque structure allows the true event (pointed at by the handle) to remain "live" even if the
919  * surrounding hipEvent_t goes out-of-scope. This is handy for cases where the hipEvent_t goes
920  * out-of-scope but the true event is being written by some async queue or device */
921 // typedef struct hipEvent_t {
922 // struct ihipEvent_t *_handle;
923 //} hipEvent_t;
942 // TODO-ctx - more description on error codes.
943 hipError_t hipInit(unsigned int flags);
959 hipError_t hipDriverGetVersion(int* driverVersion);
974 hipError_t hipRuntimeGetVersion(int* runtimeVersion);
982 hipError_t hipDeviceGet(hipDevice_t* device, int ordinal);
991 hipError_t hipDeviceComputeCapability(int* major, int* minor, hipDevice_t device);
1000 hipError_t hipDeviceGetName(char* name, int len, hipDevice_t device);
1010 hipError_t hipDeviceGetP2PAttribute(int* value, hipDeviceP2PAttr attr,
1011  int srcDevice, int dstDevice);
1020 hipError_t hipDeviceGetPCIBusId(char* pciBusId, int len, int device);
1028 hipError_t hipDeviceGetByPCIBusId(int* device, const char* pciBusId);
1036 hipError_t hipDeviceTotalMem(size_t* bytes, hipDevice_t device);
1037 // doxygen end initialization
1056 hipError_t hipDeviceSynchronize(void);
1068 hipError_t hipDeviceReset(void);
1100 hipError_t hipSetDevice(int deviceId);
1114 hipError_t hipGetDevice(int* deviceId);
1127 hipError_t hipGetDeviceCount(int* count);
1137 hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t attr, int deviceId);
1151 hipError_t hipGetDeviceProperties(hipDeviceProp_t* prop, int deviceId);
1162 hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig);
1173 hipError_t hipDeviceGetCacheConfig(hipFuncCache_t* cacheConfig);
1184 hipError_t hipDeviceGetLimit(size_t* pValue, enum hipLimit_t limit);
1196 hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig* pConfig);
1204 hipError_t hipGetDeviceFlags(unsigned int* flags);
1216 hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config);
1241 hipError_t hipSetDeviceFlags(unsigned flags);
1250 hipError_t hipChooseDevice(int* device, const hipDeviceProp_t* prop);
1263 hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t* linktype, uint32_t* hopcount);
1264 // TODO: implement IPC apis
1290 hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t* handle, void* devPtr);
1327 hipError_t hipIpcOpenMemHandle(void** devPtr, hipIpcMemHandle_t handle, unsigned int flags);
1346 hipError_t hipIpcCloseMemHandle(void* devPtr);
1347 
1362 hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t* handle, hipEvent_t event);
1363 
1379 hipError_t hipIpcOpenEventHandle(hipEvent_t* event, hipIpcEventHandle_t handle);
1380 
1381 // end doxygen Device
1405 hipError_t hipFuncSetAttribute(const void* func, hipFuncAttribute attr, int value);
1416 hipError_t hipFuncSetCacheConfig(const void* func, hipFuncCache_t config);
1429 hipError_t hipFuncSetSharedMemConfig(const void* func, hipSharedMemConfig config);
1430 //doxygen end execution
1452 hipError_t hipGetLastError(void);
1463 hipError_t hipPeekAtLastError(void);
1472 const char* hipGetErrorName(hipError_t hip_error);
1483 const char* hipGetErrorString(hipError_t hipError);
1484 // end doxygen Error
1514 hipError_t hipStreamCreate(hipStream_t* stream);
1531 hipError_t hipStreamCreateWithFlags(hipStream_t* stream, unsigned int flags);
1549 hipError_t hipStreamCreateWithPriority(hipStream_t* stream, unsigned int flags, int priority);
1563 hipError_t hipDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
1582 hipError_t hipStreamDestroy(hipStream_t stream);
1598 hipError_t hipStreamQuery(hipStream_t stream);
1618 hipError_t hipStreamSynchronize(hipStream_t stream);
1638 hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
1652 hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int* flags);
1666 hipError_t hipStreamGetPriority(hipStream_t stream, int* priority);
1686 hipError_t hipExtStreamCreateWithCUMask(hipStream_t* stream, uint32_t cuMaskSize, const uint32_t* cuMask);
1699 hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t* cuMask);
1703 typedef void (*hipStreamCallback_t)(hipStream_t stream, hipError_t status, void* userData);
1719 hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void* userData,
1720  unsigned int flags);
1721 // end doxygen Stream
1764 hipError_t hipStreamWaitValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags,
1765  uint32_t mask __dparm(0xFFFFFFFF));
1798 hipError_t hipStreamWaitValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags,
1799  uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF));
1819 hipError_t hipStreamWriteValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags);
1839 hipError_t hipStreamWriteValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags);
1840 // end doxygen Stream Memory Operations
1873 hipError_t hipEventCreateWithFlags(hipEvent_t* event, unsigned flags);
1885 hipError_t hipEventCreate(hipEvent_t* event);
1913 #ifdef __cplusplus
1914 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
1915 #else
1916 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream);
1917 #endif
1918 
1934 hipError_t hipEventDestroy(hipEvent_t event);
1952 hipError_t hipEventSynchronize(hipEvent_t event);
1988 hipError_t hipEventElapsedTime(float* ms, hipEvent_t start, hipEvent_t stop);
2004 hipError_t hipEventQuery(hipEvent_t event);
2005 // end doxygen Events
2032 hipError_t hipPointerGetAttributes(hipPointerAttribute_t* attributes, const void* ptr);
2047 hipError_t hipPointerGetAttribute(void* data, hipPointer_attribute attribute,
2048  hipDeviceptr_t ptr);
2065 hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute* attributes,
2066  void** data, hipDeviceptr_t ptr);
2077 hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t* extSem_out,
2078  const hipExternalSemaphoreHandleDesc* semHandleDesc);
2091 hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t* extSemArray,
2092  const hipExternalSemaphoreSignalParams* paramsArray,
2093  unsigned int numExtSems, hipStream_t stream);
2106 hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t* extSemArray,
2107  const hipExternalSemaphoreWaitParams* paramsArray,
2108  unsigned int numExtSems, hipStream_t stream);
2118 hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem);
2119 
2130 hipError_t hipImportExternalMemory(hipExternalMemory_t* extMem_out, const hipExternalMemoryHandleDesc* memHandleDesc);
2142 hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc);
2152 hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem);
2166 hipError_t hipMalloc(void** ptr, size_t size);
2181 hipError_t hipExtMallocWithFlags(void** ptr, size_t sizeBytes, unsigned int flags);
2194 DEPRECATED("use hipHostMalloc instead")
2195 hipError_t hipMallocHost(void** ptr, size_t size);
2208 DEPRECATED("use hipHostMalloc instead")
2209 hipError_t hipMemAllocHost(void** ptr, size_t size);
2223 hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags);
2243 hipError_t hipMallocManaged(void** dev_ptr,
2244  size_t size,
2245  unsigned int flags __dparm(hipMemAttachGlobal));
2256 hipError_t hipMemPrefetchAsync(const void* dev_ptr,
2257  size_t count,
2258  int device,
2259  hipStream_t stream __dparm(0));
2270 hipError_t hipMemAdvise(const void* dev_ptr,
2271  size_t count,
2272  hipMemoryAdvise advice,
2273  int device);
2286 hipError_t hipMemRangeGetAttribute(void* data,
2287  size_t data_size,
2288  hipMemRangeAttribute attribute,
2289  const void* dev_ptr,
2290  size_t count);
2305 hipError_t hipMemRangeGetAttributes(void** data,
2306  size_t* data_sizes,
2307  hipMemRangeAttribute* attributes,
2308  size_t num_attributes,
2309  const void* dev_ptr,
2310  size_t count);
2323 hipError_t hipStreamAttachMemAsync(hipStream_t stream,
2324  void* dev_ptr,
2325  size_t length __dparm(0),
2326  unsigned int flags __dparm(hipMemAttachSingle));
2327 // end doxygen Managed Memory
2344 DEPRECATED("use hipHostMalloc instead")
2345 hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags);
2357 hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags);
2367 hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr);
2404 hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags);
2413 hipError_t hipHostUnregister(void* hostPtr);
2432 hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
2454 hipError_t hipMemAllocPitch(hipDeviceptr_t* dptr, size_t* pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes);
2468 hipError_t hipFree(void* ptr);
2478 DEPRECATED("use hipHostFree instead")
2479 hipError_t hipFreeHost(void* ptr);
2493 hipError_t hipHostFree(void* ptr);
2523 hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
2524 // TODO: Add description
2525 hipError_t hipMemcpyWithStream(void* dst, const void* src, size_t sizeBytes,
2526  hipMemcpyKind kind, hipStream_t stream);
2544 hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void* src, size_t sizeBytes);
2562 hipError_t hipMemcpyDtoH(void* dst, hipDeviceptr_t src, size_t sizeBytes);
2580 hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes);
2598 hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void* src, size_t sizeBytes, hipStream_t stream);
2616 hipError_t hipMemcpyDtoHAsync(void* dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
2634 hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes,
2635  hipStream_t stream);
2636 
2651 hipError_t hipModuleGetGlobal(hipDeviceptr_t* dptr, size_t* bytes,
2652  hipModule_t hmod, const char* name);
2653 
2663 hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
2664 
2674 hipError_t hipGetSymbolSize(size_t* size, const void* symbol);
2675 
2694 hipError_t hipMemcpyToSymbol(const void* symbol, const void* src,
2695  size_t sizeBytes, size_t offset __dparm(0),
2696  hipMemcpyKind kind __dparm(hipMemcpyHostToDevice));
2697 
2711 hipError_t hipMemcpyToSymbolAsync(const void* symbol, const void* src,
2712  size_t sizeBytes, size_t offset,
2713  hipMemcpyKind kind, hipStream_t stream __dparm(0));
2714 
2727 hipError_t hipMemcpyFromSymbol(void* dst, const void* symbol,
2728  size_t sizeBytes, size_t offset __dparm(0),
2729  hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost));
2730 
2744 hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbol,
2745  size_t sizeBytes, size_t offset,
2746  hipMemcpyKind kind,
2747  hipStream_t stream __dparm(0));
2776 hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind,
2777  hipStream_t stream __dparm(0));
2787 hipError_t hipMemset(void* dst, int value, size_t sizeBytes);
2797 hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count);
2813 hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0));
2823 hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count);
2839 hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0));
2849 hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count);
2865 hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0));
2881 hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count,
2882  hipStream_t stream __dparm(0));
2893 hipError_t hipMemset2D(void* dst, size_t pitch, int value, size_t width, size_t height);
2905 hipError_t hipMemset2DAsync(void* dst, size_t pitch, int value, size_t width, size_t height,hipStream_t stream __dparm(0));
2914 hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent );
2924 hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent ,hipStream_t stream __dparm(0));
2934 hipError_t hipMemGetInfo(size_t* free, size_t* total);
2935 hipError_t hipMemPtrGetInfo(void* ptr, size_t* size);
2948 hipError_t hipMallocArray(hipArray** array, const hipChannelFormatDesc* desc, size_t width,
2949  size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault));
2950 hipError_t hipArrayCreate(hipArray** pHandle, const HIP_ARRAY_DESCRIPTOR* pAllocateArray);
2951 hipError_t hipArrayDestroy(hipArray* array);
2952 hipError_t hipArray3DCreate(hipArray** array, const HIP_ARRAY3D_DESCRIPTOR* pAllocateArray);
2953 hipError_t hipMalloc3D(hipPitchedPtr* pitchedDevPtr, hipExtent extent);
2962 hipError_t hipFreeArray(hipArray* array);
2970 hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray);
2982 hipError_t hipMalloc3DArray(hipArray** array, const struct hipChannelFormatDesc* desc,
2983  struct hipExtent extent, unsigned int flags);
2995 hipError_t hipMallocMipmappedArray(
2996  hipMipmappedArray_t *mipmappedArray,
2997  const struct hipChannelFormatDesc* desc,
2998  struct hipExtent extent,
2999  unsigned int numLevels,
3000  unsigned int flags __dparm(0));
3010 hipError_t hipGetMipmappedArrayLevel(
3011  hipArray_t *levelArray,
3012  hipMipmappedArray_const_t mipmappedArray,
3013  unsigned int level);
3030 hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
3031  size_t height, hipMemcpyKind kind);
3041 hipError_t hipMemcpyParam2D(const hip_Memcpy2D* pCopy);
3052 hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D* pCopy, hipStream_t stream __dparm(0));
3070 hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
3071  size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
3089 hipError_t hipMemcpy2DToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3090  size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
3109 hipError_t hipMemcpy2DToArrayAsync(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3110  size_t spitch, size_t width, size_t height, hipMemcpyKind kind,
3111  hipStream_t stream __dparm(0));
3127 DEPRECATED(DEPRECATED_MSG)
3128 hipError_t hipMemcpyToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3129  size_t count, hipMemcpyKind kind);
3145 DEPRECATED(DEPRECATED_MSG)
3146 hipError_t hipMemcpyFromArray(void* dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset,
3147  size_t count, hipMemcpyKind kind);
3165 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);
3184 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));
3198 hipError_t hipMemcpyAtoH(void* dst, hipArray* srcArray, size_t srcOffset, size_t count);
3212 hipError_t hipMemcpyHtoA(hipArray* dstArray, size_t dstOffset, const void* srcHost, size_t count);
3223 hipError_t hipMemcpy3D(const struct hipMemcpy3DParms* p);
3235 hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms* p, hipStream_t stream __dparm(0));
3246 hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D* pCopy);
3258 hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D* pCopy, hipStream_t stream);
3259 // doxygen end Memory
3287 hipError_t hipDeviceCanAccessPeer(int* canAccessPeer, int deviceId, int peerDeviceId);
3304 hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags);
3316 hipError_t hipDeviceDisablePeerAccess(int peerDeviceId);
3329 hipError_t hipMemGetAddressRange(hipDeviceptr_t* pbase, size_t* psize, hipDeviceptr_t dptr);
3330 #ifndef USE_PEER_NON_UNIFIED
3331 #define USE_PEER_NON_UNIFIED 1
3332 #endif
3333 #if USE_PEER_NON_UNIFIED == 1
3334 
3345 hipError_t hipMemcpyPeer(void* dst, int dstDeviceId, const void* src, int srcDeviceId,
3346  size_t sizeBytes);
3359 hipError_t hipMemcpyPeerAsync(void* dst, int dstDeviceId, const void* src, int srcDevice,
3360  size_t sizeBytes, hipStream_t stream __dparm(0));
3361 #endif
3362 // doxygen end PeerToPeer
3392 DEPRECATED(DEPRECATED_MSG)
3393 hipError_t hipCtxCreate(hipCtx_t* ctx, unsigned int flags, hipDevice_t device);
3404 DEPRECATED(DEPRECATED_MSG)
3405 hipError_t hipCtxDestroy(hipCtx_t ctx);
3416 DEPRECATED(DEPRECATED_MSG)
3417 hipError_t hipCtxPopCurrent(hipCtx_t* ctx);
3428 DEPRECATED(DEPRECATED_MSG)
3429 hipError_t hipCtxPushCurrent(hipCtx_t ctx);
3440 DEPRECATED(DEPRECATED_MSG)
3441 hipError_t hipCtxSetCurrent(hipCtx_t ctx);
3452 DEPRECATED(DEPRECATED_MSG)
3453 hipError_t hipCtxGetCurrent(hipCtx_t* ctx);
3464 DEPRECATED(DEPRECATED_MSG)
3465 hipError_t hipCtxGetDevice(hipDevice_t* device);
3483 DEPRECATED(DEPRECATED_MSG)
3484 hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int* apiVersion);
3498 DEPRECATED(DEPRECATED_MSG)
3499 hipError_t hipCtxGetCacheConfig(hipFuncCache_t* cacheConfig);
3513 DEPRECATED(DEPRECATED_MSG)
3514 hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig);
3528 DEPRECATED(DEPRECATED_MSG)
3529 hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config);
3543 DEPRECATED(DEPRECATED_MSG)
3544 hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig* pConfig);
3556 DEPRECATED(DEPRECATED_MSG)
3557 hipError_t hipCtxSynchronize(void);
3568 DEPRECATED(DEPRECATED_MSG)
3569 hipError_t hipCtxGetFlags(unsigned int* flags);
3589 DEPRECATED(DEPRECATED_MSG)
3590 hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags);
3607 DEPRECATED(DEPRECATED_MSG)
3608 hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx);
3609 // doxygen end Context deprecated
3625 hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int* flags, int* active);
3638 hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev);
3650 hipError_t hipDevicePrimaryCtxRetain(hipCtx_t* pctx, hipDevice_t dev);
3661 hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev);
3673 hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags);
3674 // doxygen end Context Management
3696 hipError_t hipModuleLoad(hipModule_t* module, const char* fname);
3706 hipError_t hipModuleUnload(hipModule_t module);
3717 hipError_t hipModuleGetFunction(hipFunction_t* function, hipModule_t module, const char* kname);
3726 hipError_t hipFuncGetAttributes(struct hipFuncAttributes* attr, const void* func);
3736 hipError_t hipFuncGetAttribute(int* value, hipFunction_attribute attrib, hipFunction_t hfunc);
3746 hipError_t hipModuleGetTexRef(textureReference** texRef, hipModule_t hmod, const char* name);
3756 hipError_t hipModuleLoadData(hipModule_t* module, const void* image);
3769 hipError_t hipModuleLoadDataEx(hipModule_t* module, const void* image, unsigned int numOptions,
3770  hipJitOption* options, void** optionValues);
3799 hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY,
3800  unsigned int gridDimZ, unsigned int blockDimX,
3801  unsigned int blockDimY, unsigned int blockDimZ,
3802  unsigned int sharedMemBytes, hipStream_t stream,
3803  void** kernelParams, void** extra);
3822 hipError_t hipLaunchCooperativeKernel(const void* f, dim3 gridDim, dim3 blockDimX,
3823  void** kernelParams, unsigned int sharedMemBytes,
3824  hipStream_t stream);
3835 hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams* launchParamsList,
3836  int numDevices, unsigned int flags);
3848 hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams* launchParamsList,
3849  int numDevices, unsigned int flags);
3850 // doxygen end Module
3875 //TODO - Match CUoccupancyB2DSize
3876 hipError_t hipModuleOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
3877  hipFunction_t f, size_t dynSharedMemPerBlk,
3878  int blockSizeLimit);
3894 //TODO - Match CUoccupancyB2DSize
3895 hipError_t hipModuleOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
3896  hipFunction_t f, size_t dynSharedMemPerBlk,
3897  int blockSizeLimit, unsigned int flags);
3907  int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk);
3918  int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags);
3928  int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk);
3939  int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault));
3954 hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
3955  const void* f, size_t dynSharedMemPerBlk,
3956  int blockSizeLimit);
3957 // doxygen end Occupancy
3971 // TODO - expand descriptions:
3977 DEPRECATED("use roctracer/rocTX instead")
3978 hipError_t hipProfilerStart();
3984 DEPRECATED("use roctracer/rocTX instead")
3985 hipError_t hipProfilerStop();
3986 // doxygen end profiler
4013 hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0));
4024 hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
4033 hipError_t hipLaunchByPtr(const void* func);
4050 hipError_t __hipPushCallConfiguration(dim3 gridDim,
4051  dim3 blockDim,
4052  size_t sharedMem __dparm(0),
4053  hipStream_t stream __dparm(0));
4073 hipError_t __hipPopCallConfiguration(dim3 *gridDim,
4074  dim3 *blockDim,
4075  size_t *sharedMem,
4076  hipStream_t *stream);
4092 hipError_t hipLaunchKernel(const void* function_address,
4093  dim3 numBlocks,
4094  dim3 dimBlocks,
4095  void** args,
4096  size_t sharedMemBytes __dparm(0),
4097  hipStream_t stream __dparm(0));
4105 hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D* pCopy);
4106 //TODO: Move this to hip_ext.h
4127 hipError_t hipExtLaunchKernel(const void* function_address, dim3 numBlocks, dim3 dimBlocks,
4128  void** args, size_t sharedMemBytes, hipStream_t stream,
4129  hipEvent_t startEvent, hipEvent_t stopEvent, int flags);
4130 // doxygen end Clang launch
4153  const textureReference* tex,
4154  hipMipmappedArray_const_t mipmappedArray,
4155  const hipChannelFormatDesc* desc);
4156 
4166  hipError_t hipGetTextureReference(
4167  const textureReference** texref,
4168  const void* symbol);
4169 
4181 hipError_t hipCreateTextureObject(
4182  hipTextureObject_t* pTexObject,
4183  const hipResourceDesc* pResDesc,
4184  const hipTextureDesc* pTexDesc,
4185  const struct hipResourceViewDesc* pResViewDesc);
4186 
4195 hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject);
4196 
4206 hipError_t hipGetChannelDesc(
4207  hipChannelFormatDesc* desc,
4208  hipArray_const_t array);
4209 
4220  hipResourceDesc* pResDesc,
4221  hipTextureObject_t textureObject);
4222 
4233  struct hipResourceViewDesc* pResViewDesc,
4234  hipTextureObject_t textureObject);
4235 
4246  hipTextureDesc* pTexDesc,
4247  hipTextureObject_t textureObject);
4248 
4252 hipError_t hipTexRefSetAddressMode(
4253  textureReference* texRef,
4254  int dim,
4255  enum hipTextureAddressMode am);
4256 hipError_t hipTexRefSetArray(
4257  textureReference* tex,
4258  hipArray_const_t array,
4259  unsigned int flags);
4260 hipError_t hipTexRefSetFilterMode(
4261  textureReference* texRef,
4262  enum hipTextureFilterMode fm);
4263 hipError_t hipTexRefSetFlags(
4264  textureReference* texRef,
4265  unsigned int Flags);
4266 hipError_t hipTexRefSetFormat(
4267  textureReference* texRef,
4268  hipArray_Format fmt,
4269  int NumPackedComponents);
4270 hipError_t hipTexObjectCreate(
4271  hipTextureObject_t* pTexObject,
4272  const HIP_RESOURCE_DESC* pResDesc,
4273  const HIP_TEXTURE_DESC* pTexDesc,
4274  const HIP_RESOURCE_VIEW_DESC* pResViewDesc);
4275 hipError_t hipTexObjectDestroy(
4276  hipTextureObject_t texObject);
4277 hipError_t hipTexObjectGetResourceDesc(
4278  HIP_RESOURCE_DESC* pResDesc,
4279  hipTextureObject_t texObject);
4280 hipError_t hipTexObjectGetResourceViewDesc(
4281  HIP_RESOURCE_VIEW_DESC* pResViewDesc,
4282  hipTextureObject_t texObject);
4283 hipError_t hipTexObjectGetTextureDesc(
4284  HIP_TEXTURE_DESC* pTexDesc,
4285  hipTextureObject_t texObject);
4286 
4294 DEPRECATED(DEPRECATED_MSG)
4295 hipError_t hipBindTexture(
4296  size_t* offset,
4297  const textureReference* tex,
4298  const void* devPtr,
4299  const hipChannelFormatDesc* desc,
4300  size_t size __dparm(UINT_MAX));
4301 DEPRECATED(DEPRECATED_MSG)
4302 hipError_t hipBindTexture2D(
4303  size_t* offset,
4304  const textureReference* tex,
4305  const void* devPtr,
4306  const hipChannelFormatDesc* desc,
4307  size_t width,
4308  size_t height,
4309  size_t pitch);
4310 DEPRECATED(DEPRECATED_MSG)
4311 hipError_t hipBindTextureToArray(
4312  const textureReference* tex,
4313  hipArray_const_t array,
4314  const hipChannelFormatDesc* desc);
4315 DEPRECATED(DEPRECATED_MSG)
4316 hipError_t hipGetTextureAlignmentOffset(
4317  size_t* offset,
4318  const textureReference* texref);
4319 DEPRECATED(DEPRECATED_MSG)
4320 hipError_t hipUnbindTexture(const textureReference* tex);
4321 DEPRECATED(DEPRECATED_MSG)
4322 hipError_t hipTexRefGetAddress(
4323  hipDeviceptr_t* dev_ptr,
4324  const textureReference* texRef);
4325 DEPRECATED(DEPRECATED_MSG)
4326 hipError_t hipTexRefGetAddressMode(
4327  enum hipTextureAddressMode* pam,
4328  const textureReference* texRef,
4329  int dim);
4330 DEPRECATED(DEPRECATED_MSG)
4331 hipError_t hipTexRefGetFilterMode(
4332  enum hipTextureFilterMode* pfm,
4333  const textureReference* texRef);
4334 DEPRECATED(DEPRECATED_MSG)
4335 hipError_t hipTexRefGetFlags(
4336  unsigned int* pFlags,
4337  const textureReference* texRef);
4338 DEPRECATED(DEPRECATED_MSG)
4339 hipError_t hipTexRefGetFormat(
4340  hipArray_Format* pFormat,
4341  int* pNumChannels,
4342  const textureReference* texRef);
4343 DEPRECATED(DEPRECATED_MSG)
4344 hipError_t hipTexRefGetMaxAnisotropy(
4345  int* pmaxAnsio,
4346  const textureReference* texRef);
4347 DEPRECATED(DEPRECATED_MSG)
4348 hipError_t hipTexRefGetMipmapFilterMode(
4349  enum hipTextureFilterMode* pfm,
4350  const textureReference* texRef);
4351 DEPRECATED(DEPRECATED_MSG)
4352 hipError_t hipTexRefGetMipmapLevelBias(
4353  float* pbias,
4354  const textureReference* texRef);
4355 DEPRECATED(DEPRECATED_MSG)
4356 hipError_t hipTexRefGetMipmapLevelClamp(
4357  float* pminMipmapLevelClamp,
4358  float* pmaxMipmapLevelClamp,
4359  const textureReference* texRef);
4360 DEPRECATED(DEPRECATED_MSG)
4361 hipError_t hipTexRefGetMipMappedArray(
4362  hipMipmappedArray_t* pArray,
4363  const textureReference* texRef);
4364 DEPRECATED(DEPRECATED_MSG)
4365 hipError_t hipTexRefSetAddress(
4366  size_t* ByteOffset,
4367  textureReference* texRef,
4368  hipDeviceptr_t dptr,
4369  size_t bytes);
4370 DEPRECATED(DEPRECATED_MSG)
4371 hipError_t hipTexRefSetAddress2D(
4372  textureReference* texRef,
4373  const HIP_ARRAY_DESCRIPTOR* desc,
4374  hipDeviceptr_t dptr,
4375  size_t Pitch);
4376 DEPRECATED(DEPRECATED_MSG)
4377 hipError_t hipTexRefSetMaxAnisotropy(
4378  textureReference* texRef,
4379  unsigned int maxAniso);
4380 // doxygen end deprecated texture management
4386 // The following are not supported.
4394 DEPRECATED(DEPRECATED_MSG)
4395 hipError_t hipTexRefSetBorderColor(
4396  textureReference* texRef,
4397  float* pBorderColor);
4398 hipError_t hipTexRefSetMipmapFilterMode(
4399  textureReference* texRef,
4400  enum hipTextureFilterMode fm);
4401 hipError_t hipTexRefSetMipmapLevelBias(
4402  textureReference* texRef,
4403  float bias);
4404 hipError_t hipTexRefSetMipmapLevelClamp(
4405  textureReference* texRef,
4406  float minMipMapLevelClamp,
4407  float maxMipMapLevelClamp);
4408 hipError_t hipTexRefSetMipmappedArray(
4409  textureReference* texRef,
4410  struct hipMipmappedArray* mipmappedArray,
4411  unsigned int Flags);
4412 hipError_t hipMipmappedArrayCreate(
4413  hipMipmappedArray_t* pHandle,
4414  HIP_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc,
4415  unsigned int numMipmapLevels);
4416 hipError_t hipMipmappedArrayDestroy(
4417  hipMipmappedArray_t hMipmappedArray);
4418 hipError_t hipMipmappedArrayGetLevel(
4419  hipArray_t* pLevelArray,
4420  hipMipmappedArray_t hMipMappedArray,
4421  unsigned int level);
4422 // doxygen end unsuppported texture management
4427 // doxygen end Texture management
4439 // This group is for HIPrtc
4440 
4441 // doxygen end Runtime
4452 hipError_t hipRegisterApiCallback(uint32_t id, void* fun, void* arg);
4453 hipError_t hipRemoveApiCallback(uint32_t id);
4454 hipError_t hipRegisterActivityCallback(uint32_t id, void* fun, void* arg);
4455 hipError_t hipRemoveActivityCallback(uint32_t id);
4456 const char* hipApiName(uint32_t id);
4457 const char* hipKernelNameRef(const hipFunction_t f);
4458 const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream);
4459 int hipGetStreamDeviceId(hipStream_t stream);
4460 
4461 // doxygen end Callback
4476 typedef struct ihipGraph* hipGraph_t;
4480 typedef struct hipGraphNode* hipGraphNode_t;
4484 typedef struct hipGraphExec* hipGraphExec_t;
4485 
4491 typedef enum hipGraphNodeType {
4503  hipGraphNodeTypeCount
4505 
4506 typedef void (*hipHostFn_t)(void* userData);
4507 typedef struct hipHostNodeParams {
4508  hipHostFn_t fn;
4509  void* userData;
4511 typedef struct hipKernelNodeParams {
4512  dim3 blockDim;
4513  void** extra;
4514  void* func;
4515  dim3 gridDim;
4516  void** kernelParams;
4517  unsigned int sharedMemBytes;
4519 typedef struct hipMemsetParams {
4520  void* dst;
4521  unsigned int elementSize;
4522  size_t height;
4523  size_t pitch;
4524  unsigned int value;
4525  size_t width;
4526 } hipMemsetParams;
4527 
4540  0x4,
4542  0x5,
4544  0x6,
4545  hipGraphExecUpdateErrorUnsupportedFunctionChange = 0x7
4547 
4548 typedef enum hipStreamCaptureMode {
4549  hipStreamCaptureModeGlobal = 0,
4550  hipStreamCaptureModeThreadLocal,
4551  hipStreamCaptureModeRelaxed
4552 } hipStreamCaptureMode;
4559 
4564 
4578 hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode);
4579 
4592 hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t* pGraph);
4593 
4607 hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus,
4608  unsigned long long* pId);
4609 
4626 hipError_t hipStreamGetCaptureInfo_v2(hipStream_t stream, hipStreamCaptureStatus* captureStatus_out,
4627  unsigned long long* id_out __dparm(0),
4628  hipGraph_t* graph_out __dparm(0),
4629  const hipGraphNode_t** dependencies_out __dparm(0),
4630  size_t* numDependencies_out __dparm(0));
4631 
4644 hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus);
4645 
4658 hipError_t hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t* dependencies,
4659  size_t numDependencies,
4660  unsigned int flags __dparm(0));
4661 
4674 hipError_t hipGraphCreate(hipGraph_t* pGraph, unsigned int flags);
4675 
4687 hipError_t hipGraphDestroy(hipGraph_t graph);
4688 
4702 hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t* from,
4703  const hipGraphNode_t* to, size_t numDependencies);
4704 
4718 hipError_t hipGraphRemoveDependencies(hipGraph_t graph, const hipGraphNode_t* from,
4719  const hipGraphNode_t* to, size_t numDependencies);
4720 
4738 hipError_t hipGraphGetEdges(hipGraph_t graph, hipGraphNode_t* from, hipGraphNode_t* to,
4739  size_t* numEdges);
4740 
4757 hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t* nodes, size_t* numNodes);
4758 
4775 hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t* pRootNodes,
4776  size_t* pNumRootNodes);
4777 
4794 hipError_t hipGraphNodeGetDependencies(hipGraphNode_t node, hipGraphNode_t* pDependencies,
4795  size_t* pNumDependencies);
4796 
4814 hipError_t hipGraphNodeGetDependentNodes(hipGraphNode_t node, hipGraphNode_t* pDependentNodes,
4815  size_t* pNumDependentNodes);
4816 
4828 hipError_t hipGraphNodeGetType(hipGraphNode_t node, hipGraphNodeType* pType);
4829 
4840 hipError_t hipGraphDestroyNode(hipGraphNode_t node);
4841 
4853 hipError_t hipGraphClone(hipGraph_t* pGraphClone, hipGraph_t originalGraph);
4854 
4867 hipError_t hipGraphNodeFindInClone(hipGraphNode_t* pNode, hipGraphNode_t originalNode,
4868  hipGraph_t clonedGraph);
4869 
4886 hipError_t hipGraphInstantiate(hipGraphExec_t* pGraphExec, hipGraph_t graph,
4887  hipGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
4888 
4901 hipError_t hipGraphInstantiateWithFlags(hipGraphExec_t* pGraphExec, hipGraph_t graph,
4902  unsigned long long flags);
4903 
4914 hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream);
4915 
4926 hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec);
4927 
4928 // Check whether an executable graph can be updated with a graph and perform the update if possible.
4942 hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph,
4943  hipGraphNode_t* hErrorNode_out,
4944  hipGraphExecUpdateResult* updateResult_out);
4945 
4958 hipError_t hipGraphAddKernelNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
4959  const hipGraphNode_t* pDependencies, size_t numDependencies,
4960  const hipKernelNodeParams* pNodeParams);
4961 
4971 hipError_t hipGraphKernelNodeGetParams(hipGraphNode_t node, hipKernelNodeParams* pNodeParams);
4972 
4982 hipError_t hipGraphKernelNodeSetParams(hipGraphNode_t node, const hipKernelNodeParams* pNodeParams);
4983 
4995  const hipKernelNodeParams* pNodeParams);
4996 
5009 hipError_t hipGraphAddMemcpyNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5010  const hipGraphNode_t* pDependencies, size_t numDependencies,
5011  const hipMemcpy3DParms* pCopyParams);
5021 hipError_t hipGraphMemcpyNodeGetParams(hipGraphNode_t node, hipMemcpy3DParms* pNodeParams);
5022 
5032 hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms* pNodeParams);
5033 
5045  hipMemcpy3DParms* pNodeParams);
5046 
5062 hipError_t hipGraphAddMemcpyNode1D(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5063  const hipGraphNode_t* pDependencies, size_t numDependencies,
5064  void* dst, const void* src, size_t count, hipMemcpyKind kind);
5065 
5078 hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void* dst, const void* src,
5079  size_t count, hipMemcpyKind kind);
5080 
5096  void* dst, const void* src, size_t count,
5097  hipMemcpyKind kind);
5098 
5115 hipError_t hipGraphAddMemcpyNodeFromSymbol(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5116  const hipGraphNode_t* pDependencies,
5117  size_t numDependencies, void* dst, const void* symbol,
5118  size_t count, size_t offset, hipMemcpyKind kind);
5119 
5133 hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void* dst, const void* symbol,
5134  size_t count, size_t offset, hipMemcpyKind kind);
5135 
5152  void* dst, const void* symbol, size_t count,
5153  size_t offset, hipMemcpyKind kind);
5154 
5171 hipError_t hipGraphAddMemcpyNodeToSymbol(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5172  const hipGraphNode_t* pDependencies,
5173  size_t numDependencies, const void* symbol,
5174  const void* src, size_t count, size_t offset,
5175  hipMemcpyKind kind);
5176 
5190 hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void* symbol,
5191  const void* src, size_t count, size_t offset,
5192  hipMemcpyKind kind);
5193 
5194 
5210  const void* symbol, const void* src,
5211  size_t count, size_t offset, hipMemcpyKind kind);
5212 
5225 hipError_t hipGraphAddMemsetNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5226  const hipGraphNode_t* pDependencies, size_t numDependencies,
5227  const hipMemsetParams* pMemsetParams);
5228 
5238 hipError_t hipGraphMemsetNodeGetParams(hipGraphNode_t node, hipMemsetParams* pNodeParams);
5239 
5249 hipError_t hipGraphMemsetNodeSetParams(hipGraphNode_t node, const hipMemsetParams* pNodeParams);
5250 
5262  const hipMemsetParams* pNodeParams);
5263 
5276 hipError_t hipGraphAddHostNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5277  const hipGraphNode_t* pDependencies, size_t numDependencies,
5278  const hipHostNodeParams* pNodeParams);
5279 
5289 hipError_t hipGraphHostNodeGetParams(hipGraphNode_t node, hipHostNodeParams* pNodeParams);
5290 
5300 hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams* pNodeParams);
5301 
5312 hipError_t hipGraphExecHostNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node,
5313  const hipHostNodeParams* pNodeParams);
5314 
5327 hipError_t hipGraphAddChildGraphNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5328  const hipGraphNode_t* pDependencies, size_t numDependencies,
5329  hipGraph_t childGraph);
5330 
5340 hipError_t hipGraphChildGraphNodeGetGraph(hipGraphNode_t node, hipGraph_t* pGraph);
5341 
5353  hipGraph_t childGraph);
5354 
5366 hipError_t hipGraphAddEmptyNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5367  const hipGraphNode_t* pDependencies, size_t numDependencies);
5368 
5369 
5382 hipError_t hipGraphAddEventRecordNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5383  const hipGraphNode_t* pDependencies, size_t numDependencies,
5384  hipEvent_t event);
5385 
5395 hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t* event_out);
5396 
5406 hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event);
5407 
5419  hipEvent_t event);
5420 
5433 hipError_t hipGraphAddEventWaitNode(hipGraphNode_t* pGraphNode, hipGraph_t graph,
5434  const hipGraphNode_t* pDependencies, size_t numDependencies,
5435  hipEvent_t event);
5436 
5437 
5447 hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t* event_out);
5448 
5458 hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event);
5459 
5471  hipEvent_t event);
5472 
5473 // doxygen end graph API
5486 typedef unsigned int GLuint;
5487 typedef unsigned int GLenum;
5488 
5489 // Queries devices associated with GL Context.
5490 hipError_t hipGLGetDevices(unsigned int* pHipDeviceCount, int* pHipDevices,
5491  unsigned int hipDeviceCount, hipGLDeviceList deviceList);
5492 // Registers a GL Buffer for interop and returns corresponding graphics resource.
5493 hipError_t hipGraphicsGLRegisterBuffer(hipGraphicsResource** resource, GLuint buffer,
5494  unsigned int flags);
5495 // Register a GL Image for interop and returns the corresponding graphic resource
5496 hipError_t hipGraphicsGLRegisterImage(hipGraphicsResource** resource, GLuint image,
5497  GLenum target, unsigned int flags);
5498 // Maps a graphics resource for hip access.
5499 hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t* resources,
5500  hipStream_t stream __dparm(0) );
5501 // Get an array through which to access a subresource of a mapped graphics resource.
5502 hipError_t hipGraphicsSubResourceGetMappedArray(hipArray_t* array, hipGraphicsResource_t resource,
5503  unsigned int arrayIndex, unsigned int mipLevel);
5504 // Gets device accessible address of a graphics resource.
5505 hipError_t hipGraphicsResourceGetMappedPointer(void** devPtr, size_t* size,
5506  hipGraphicsResource_t resource);
5507 // Unmaps a graphics resource for hip access.
5508 hipError_t hipGraphicsUnmapResources(int count, hipGraphicsResource_t* resources,
5509  hipStream_t stream __dparm(0));
5510 // Unregisters a graphics resource.
5511 hipError_t hipGraphicsUnregisterResource(hipGraphicsResource_t resource);
5512 // doxygen end GL Interop
5518 #ifdef __cplusplus
5519 } /* extern "c" */
5520 #endif
5521 #ifdef __cplusplus
5522 #if defined(__clang__) && defined(__HIP__)
5523 template <typename T>
5524 static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
5525  T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0) {
5526  return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
5527 }
5528 template <typename T>
5529 static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
5530  T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0, unsigned int flags = 0 ) {
5531  return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
5532 }
5533 #endif // defined(__clang__) && defined(__HIP__)
5534 template <typename T>
5535 hipError_t hipGetSymbolAddress(void** devPtr, const T &symbol) {
5536  return ::hipGetSymbolAddress(devPtr, (const void *)&symbol);
5537 }
5538 template <typename T>
5539 hipError_t hipGetSymbolSize(size_t* size, const T &symbol) {
5540  return ::hipGetSymbolSize(size, (const void *)&symbol);
5541 }
5542 template <typename T>
5543 hipError_t hipMemcpyToSymbol(const T& symbol, const void* src, size_t sizeBytes,
5544  size_t offset __dparm(0),
5545  hipMemcpyKind kind __dparm(hipMemcpyHostToDevice)) {
5546  return ::hipMemcpyToSymbol((const void*)&symbol, src, sizeBytes, offset, kind);
5547 }
5548 template <typename T>
5549 hipError_t hipMemcpyToSymbolAsync(const T& symbol, const void* src, size_t sizeBytes, size_t offset,
5550  hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
5551  return ::hipMemcpyToSymbolAsync((const void*)&symbol, src, sizeBytes, offset, kind, stream);
5552 }
5553 template <typename T>
5554 hipError_t hipMemcpyFromSymbol(void* dst, const T &symbol,
5555  size_t sizeBytes, size_t offset __dparm(0),
5556  hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost)) {
5557  return ::hipMemcpyFromSymbol(dst, (const void*)&symbol, sizeBytes, offset, kind);
5558 }
5559 template <typename T>
5560 hipError_t hipMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t sizeBytes, size_t offset,
5561  hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
5562  return ::hipMemcpyFromSymbolAsync(dst, (const void*)&symbol, sizeBytes, offset, kind, stream);
5563 }
5564 template <class T>
5566  int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk) {
5568  numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk);
5569 }
5570 template <class T>
5572  int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags) {
5574  numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk, flags);
5575 }
5576 template <typename F>
5577 inline hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
5578  F kernel, size_t dynSharedMemPerBlk, uint32_t blockSizeLimit) {
5579 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize,(hipFunction_t)kernel, dynSharedMemPerBlk, blockSizeLimit);
5580 }
5581 template <class T>
5582 inline hipError_t hipLaunchCooperativeKernel(T f, dim3 gridDim, dim3 blockDim,
5583  void** kernelParams, unsigned int sharedMemBytes, hipStream_t stream) {
5584  return hipLaunchCooperativeKernel(reinterpret_cast<const void*>(f), gridDim,
5585  blockDim, kernelParams, sharedMemBytes, stream);
5586 }
5587 template <class T>
5588 inline hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams* launchParamsList,
5589  unsigned int numDevices, unsigned int flags = 0) {
5590  return hipLaunchCooperativeKernelMultiDevice(launchParamsList, numDevices, flags);
5591 }
5592 template <class T>
5593 inline hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams* launchParamsList,
5594  unsigned int numDevices, unsigned int flags = 0) {
5595  return hipExtLaunchMultiKernelMultiDevice(launchParamsList, numDevices, flags);
5596 }
5597 hipError_t hipCreateSurfaceObject(hipSurfaceObject_t* pSurfObject, const hipResourceDesc* pResDesc);
5598 hipError_t hipDestroySurfaceObject(hipSurfaceObject_t surfaceObject);
5599 template <class T, int dim, enum hipTextureReadMode readMode>
5600 DEPRECATED(DEPRECATED_MSG)
5601 static inline hipError_t hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex,
5602  const void* devPtr, size_t size = UINT_MAX) {
5603  return hipBindTexture(offset, &tex, devPtr, &tex.channelDesc, size);
5604 }
5605 template <class T, int dim, enum hipTextureReadMode readMode>
5606 DEPRECATED(DEPRECATED_MSG)
5607 static inline hipError_t
5608  hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex, const void* devPtr,
5609  const struct hipChannelFormatDesc& desc, size_t size = UINT_MAX) {
5610  return hipBindTexture(offset, &tex, devPtr, &desc, size);
5611 }
5612 template<class T, int dim, enum hipTextureReadMode readMode>
5613 DEPRECATED(DEPRECATED_MSG)
5614 static inline hipError_t hipBindTexture2D(
5615  size_t *offset,
5616  const struct texture<T, dim, readMode> &tex,
5617  const void *devPtr,
5618  size_t width,
5619  size_t height,
5620  size_t pitch)
5621 {
5622  return hipBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch);
5623 }
5624 template<class T, int dim, enum hipTextureReadMode readMode>
5625 DEPRECATED(DEPRECATED_MSG)
5626 static inline hipError_t hipBindTexture2D(
5627  size_t *offset,
5628  const struct texture<T, dim, readMode> &tex,
5629  const void *devPtr,
5630  const struct hipChannelFormatDesc &desc,
5631  size_t width,
5632  size_t height,
5633  size_t pitch)
5634 {
5635  return hipBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch);
5636 }
5637 template<class T, int dim, enum hipTextureReadMode readMode>
5638 DEPRECATED(DEPRECATED_MSG)
5639 static inline hipError_t hipBindTextureToArray(
5640  const struct texture<T, dim, readMode> &tex,
5641  hipArray_const_t array)
5642 {
5643  struct hipChannelFormatDesc desc;
5644  hipError_t err = hipGetChannelDesc(&desc, array);
5645  return (err == hipSuccess) ? hipBindTextureToArray(&tex, array, &desc) : err;
5646 }
5647 template<class T, int dim, enum hipTextureReadMode readMode>
5648 DEPRECATED(DEPRECATED_MSG)
5649 static inline hipError_t hipBindTextureToArray(
5650  const struct texture<T, dim, readMode> &tex,
5651  hipArray_const_t array,
5652  const struct hipChannelFormatDesc &desc)
5653 {
5654  return hipBindTextureToArray(&tex, array, &desc);
5655 }
5656 template<class T, int dim, enum hipTextureReadMode readMode>
5657 static inline hipError_t hipBindTextureToMipmappedArray(
5658  const struct texture<T, dim, readMode> &tex,
5659  hipMipmappedArray_const_t mipmappedArray)
5660 {
5661  struct hipChannelFormatDesc desc;
5662  hipArray_t levelArray;
5663  hipError_t err = hipGetMipmappedArrayLevel(&levelArray, mipmappedArray, 0);
5664  if (err != hipSuccess) {
5665  return err;
5666  }
5667  err = hipGetChannelDesc(&desc, levelArray);
5668  return (err == hipSuccess) ? hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc) : err;
5669 }
5670 template<class T, int dim, enum hipTextureReadMode readMode>
5671 static inline hipError_t hipBindTextureToMipmappedArray(
5672  const struct texture<T, dim, readMode> &tex,
5673  hipMipmappedArray_const_t mipmappedArray,
5674  const struct hipChannelFormatDesc &desc)
5675 {
5676  return hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc);
5677 }
5678 template<class T, int dim, enum hipTextureReadMode readMode>
5679 DEPRECATED(DEPRECATED_MSG)
5680 static inline hipError_t hipUnbindTexture(
5681  const struct texture<T, dim, readMode> &tex)
5682 {
5683  return hipUnbindTexture(&tex);
5684 }
5685 
5686 
5687 #endif // __cplusplus
5688 
5689 #ifdef __GNUC__
5690 #pragma GCC visibility pop
5691 #endif
5692 // doxygen end HIP API
5697 #elif !(defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && (defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
5698 #include "hip/nvidia_detail/nvidia_hip_runtime_api.h"
5699 #else
5700 #error("Must define exactly one of __HIP_PLATFORM_AMD__ or __HIP_PLATFORM_NVIDIA__");
5701 #endif
5702 
5703 
5715 #if defined(__cplusplus) && !defined(__HIP_DISABLE_CPP_FUNCTIONS__)
5716 template <class T>
5717 static inline hipError_t hipMalloc(T** devPtr, size_t size) {
5718  return hipMalloc((void**)devPtr, size);
5719 }
5720 
5721 // Provide an override to automatically typecast the pointer type from void**, and also provide a
5722 // default for the flags.
5723 template <class T>
5724 static inline hipError_t hipHostMalloc(T** ptr, size_t size,
5725  unsigned int flags = hipHostMallocDefault) {
5726  return hipHostMalloc((void**)ptr, size, flags);
5727 }
5728 
5729 template <class T>
5730 static inline hipError_t hipMallocManaged(T** devPtr, size_t size,
5731  unsigned int flags = hipMemAttachGlobal) {
5732  return hipMallocManaged((void**)devPtr, size, flags);
5733 }
5734 #endif
5735 #endif
5736 
5737 #if USE_PROF_API
5738 #include <hip/amd_detail/hip_prof_str.h>
5739 #endif
hipError_t hipMemcpy2DFromArrayAsync(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipError_t hipHostFree(void *ptr)
Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...
hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname)
Function with kname will be extracted if present in module.
Definition: hip_runtime_api.h:398
Device supports allocating managed memory on this system.
Definition: hip_runtime_api.h:356
frame.
Definition: hip_runtime_api.h:888
Definition: driver_types.h:327
hipErrorLaunchFailure
An exception occurred on the device while executing a kernel.
Definition: hip_runtime_api.h:277
prefer larger L1 cache and smaller shared memory
Definition: hip_runtime_api.h:761
hipErrorMapBufferObjectFailed
Produced when the IPC memory attach failed from ROCr.
Definition: hip_runtime_api.h:234
Memory is physically located on host.
Definition: hip_runtime_api.h:157
hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent)
Fills synchronously the memory area pointed to by pitchedDevPtr with the constant value...
size_t totalConstMem
Size of shared memory region (in bytes).
Definition: hip_runtime_api.h:96
hipError_t hipGetChannelDesc(hipChannelFormatDesc *desc, hipArray_const_t array)
Gets the channel descriptor in an array.
hipGraphExecUpdateResult
Definition: hip_runtime_api.h:4533
Maximum Shared Memory PerMultiprocessor.
Definition: hip_runtime_api.h:429
hipError_t hipStreamGetPriority(hipStream_t stream, int *priority)
Query the priority of a stream.
int asicRevision
Revision of the GPU in this device.
Definition: hip_runtime_api.h:143
hipError_t hipModuleOccupancyMaxPotentialBlockSizeWithFlags(int *gridSize, int *blockSize, hipFunction_t f, size_t dynSharedMemPerBlk, int blockSizeLimit, unsigned int flags)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipError_t hipDeviceGetCacheConfig(hipFuncCache_t *cacheConfig)
Set Cache configuration for a specific function.
The update failed because something about the node is not supported.
Definition: hip_runtime_api.h:4543
Max block size in width.
Definition: hip_runtime_api.h:358
Definition: hip_runtime_api.h:815
hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream)
launches an executable graph in a stream
hipError_t hipDriverGetVersion(int *driverVersion)
Returns the approximate HIP driver version.
hipError_t hipLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes __dparm(0), hipStream_t stream __dparm(0))
C compliant kernel launch API.
hipError_t hipGraphExecChildGraphNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipGraph_t childGraph)
Updates node parameters in the child graph node in the given graphExec.
Definition: hip_runtime_api.h:786
hipError_t hipPeekAtLastError(void)
Return last error returned by any HIP runtime API call.
hipGraphNodeType
Definition: hip_runtime_api.h:4491
hipErrorStreamCaptureIsolation
Definition: hip_runtime_api.h:293
hipError_t hipGraphHostNodeGetParams(hipGraphNode_t node, hipHostNodeParams *pNodeParams)
Returns a host node&#39;s parameters.
hipError_t hipGraphMemcpyNodeGetParams(hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Gets a memcpy node&#39;s parameters.
Max grid size in width.
Definition: hip_runtime_api.h:361
hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph, hipGraphNode_t *hErrorNode_out, hipGraphExecUpdateResult *updateResult_out)
Check whether an executable graph can be updated with a graph and perform the update if * possible...
hipError_t hipGraphNodeGetDependencies(hipGraphNode_t node, hipGraphNode_t *pDependencies, size_t *pNumDependencies)
Returns a node&#39;s dependencies.
Empty (no-op) node.
Definition: hip_runtime_api.h:4497
int isLargeBar
1: if it is a large PCI bar device, else 0
Definition: hip_runtime_api.h:142
int pageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host&#39;s page tables.
Definition: hip_runtime_api.h:149
Maximum pitch in bytes allowed by memory copies.
Definition: hip_runtime_api.h:391
hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute *attributes, void **data, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
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.
Cuda only. Asynchronous engines number.
Definition: hip_runtime_api.h:331
hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Adds dependency edges to a graph.
hipError_t hipMemcpyParam2D(const hip_Memcpy2D *pCopy)
Copies memory for 2D arrays.
hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags)
Set flags for the primary context.
Cuda only. 8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms...
Definition: hip_runtime_api.h:353
Definition: hip_runtime_api.h:678
hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
Enables direct access to memory allocations in a peer context.
int concurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition: hip_runtime_api.h:146
hipError_t hipDevicePrimaryCtxRetain(hipCtx_t *pctx, hipDevice_t dev)
Retain the primary context on the GPU.
struct dim3 dim3
hipError_t hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device)
Returns the compute capability of the device.
hipError_t hipDeviceGetByPCIBusId(int *device, const char *pciBusId)
Returns a handle to a compute device.
int cooperativeMultiDeviceUnmatchedBlockDim
Definition: hip_runtime_api.h:138
hipError_t hipImportExternalMemory(hipExternalMemory_t *extMem_out, const hipExternalMemoryHandleDesc *memHandleDesc)
Imports an external memory object.
Definition: hip_runtime_api.h:520
Defines surface types for HIP runtime.
Global memory bus width in bits.
Definition: hip_runtime_api.h:392
Device accesses pageable memory via the host&#39;s page tables.
Definition: hip_runtime_api.h:400
hipError_t hipExtMallocWithFlags(void **ptr, size_t sizeBytes, unsigned int flags)
Allocate memory on the default accelerator.
hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets a host node&#39;s parameters.
Cuda only. Performance ratio of single precision to double precision.
Definition: hip_runtime_api.h:412
hipError_t hipFuncSetAttribute(const void *func, hipFuncAttribute attr, int value)
Set attribute for a specific function.
hipError_t hipGraphNodeFindInClone(hipGraphNode_t *pNode, hipGraphNode_t originalNode, hipGraph_t clonedGraph)
Finds a cloned version of a node.
hipError_t hipMemGetAddressRange(hipDeviceptr_t *pbase, size_t *psize, hipDeviceptr_t dptr)
Get information on memory allocations.
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].
Definition: hip_runtime_api.h:344
Cuda only. Shared memory available per multiprocessor.
Definition: hip_runtime_api.h:411
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...
Definition: hip_runtime_api.h:4556
Definition: hip_runtime_api.h:827
int minor
Definition: hip_runtime_api.h:100
hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem)
Destroys an external memory object.
hipError_t hipFreeHost(void *ptr)
Free memory allocated by the hcc hip host memory allocation API. [Deprecated].
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.
unsigned int * hdpRegFlushCntl
Addres of HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:127
hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t *pRootNodes, size_t *pNumRootNodes)
Returns graph&#39;s root nodes.
hipErrorHostMemoryAlreadyRegistered
Produced when trying to lock a page-locked memory.
Definition: hip_runtime_api.h:273
hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node&#39;s parameters to copy to a symbol on the device.
Definition: driver_types.h:358
Memset 1D node.
Definition: hip_runtime_api.h:4494
hipErrorPeerAccessAlreadyEnabled
Peer access was already enabled from the current device.
Definition: hip_runtime_api.h:266
size_t texturePitchAlignment
Pitch alignment requirement for texture references bound to pitched memory.
Definition: hip_runtime_api.h:130
hipError_t hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height)
Definition: hip_runtime_api.h:700
hipMemRangeCoherencyMode
Definition: hip_runtime_api.h:697
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
int canMapHostMemory
Check whether HIP can map host memory.
Definition: hip_runtime_api.h:116
Definition: hip_runtime_api.h:405
hipError_t hipCtxSetCurrent(hipCtx_t ctx)
Set the passed context as current/default.
hipError_t hipMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode)
Begins graph capture on a stream.
#define hipMemAttachGlobal
Definition: hip_runtime_api.h:600
Definition: hip_runtime_api.h:839
Maximum dimension of a block.
Definition: hip_runtime_api.h:388
hipErrorInvalidMemcpyDirection
Invalid memory copy direction.
Definition: hip_runtime_api.h:222
Revision of the GPU in this device.
Definition: hip_runtime_api.h:443
&#39;1&#39; if Device supports image, &#39;0&#39; otherwise.
Definition: hip_runtime_api.h:446
Replace the dependency set with the new nodes.
Definition: hip_runtime_api.h:4562
hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event record node.
hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipError_t hipModuleLoad(hipModule_t *module, const char *fname)
Loads code object from file into a hipModule_t.
int regsPerBlock
Registers per block.
Definition: hip_runtime_api.h:88
int maxTexture3D[3]
Maximum dimensions (width, height, depth) of 3D images, in image elements.
Definition: hip_runtime_api.h:125
hipError_t hipMemcpy2D(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipModuleLoadData(hipModule_t *module, const void *image)
builds module from code object which resides in host memory. Image is pointer to that location...
Size of L2 cache in bytes. 0 if the device doesn&#39;t have L2 cache.
Definition: hip_runtime_api.h:351
Run time limit for kernels executed on the device.
Definition: hip_runtime_api.h:350
Definition: hip_runtime_api.h:719
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...
#define hipHostMallocDefault
Definition: hip_runtime_api.h:576
Not used currently.
Definition: hip_runtime_api.h:162
hipMemoryType
Definition: hip_runtime_api.h:156
Maximum dimension width of 3D texture.
Definition: hip_runtime_api.h:382
Device is integrated GPU.
Definition: hip_runtime_api.h:348
hipStreamUpdateCaptureDependenciesFlags
Definition: hip_runtime_api.h:4560
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.
int isMultiGpuBoard
1 if device is on a multi-GPU board, 0 if not.
Definition: hip_runtime_api.h:115
hipError_t hipGraphAddMemcpyNodeFromSymbol(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Creates a memcpy node to copy from a symbol on the device and adds it to a graph. ...
hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreSignalParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Signals a set of external semaphore objects.
hipErrorAssert
Produced when the kernel calls assert.
Definition: hip_runtime_api.h:272
hipError_t hipGraphInstantiateWithFlags(hipGraphExec_t *pGraphExec, hipGraph_t graph, unsigned long long flags)
Creates an executable graph from a graph.
Cuda only. Maximum dimension of Cubemap layered surface.
Definition: hip_runtime_api.h:370
uint32_t x
x
Definition: hip_runtime_api.h:779
hipError_t hipMemcpyAtoH(void *dst, hipArray *srcArray, size_t srcOffset, size_t count)
Copies data between host and device.
hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D *pCopy)
Copies data between host and device.
Cuda only. Alignment requirement for surfaces.
Definition: hip_runtime_api.h:414
hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray)
Frees a mipmapped array on the device.
hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
Enable direct access from current device&#39;s virtual address space to memory allocations physically loc...
hipErrorInvalidKernelFile
In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.
Definition: hip_runtime_api.h:247
const char * hipGetErrorString(hipError_t hipError)
Return handy text string message to explain the error which occurred.
Peak clock frequency in kilohertz.
Definition: hip_runtime_api.h:335
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags)
Returns occupancy for a device function.
int maxTexture1D
Maximum number of elements in 1D images.
Definition: hip_runtime_api.h:123
hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
Returns bank width of shared memory for current device.
hipError_t hipGraphInstantiate(hipGraphExec_t *pGraphExec, hipGraph_t graph, hipGraphNode_t *pErrorNode, char *pLogBuffer, size_t bufferSize)
Creates an executable graph from a graph.
Definition: hip_runtime_api.h:169
Cuda only. Maximum dimensions of Cubemap surface.
Definition: hip_runtime_api.h:369
hipError_t hipDeviceGetStreamPriorityRange(int *leastPriority, int *greatestPriority)
Returns numerical values that correspond to the least and greatest stream priority.
hipError_t hipGetMipmappedArrayLevel(hipArray_t *levelArray, hipMipmappedArray_const_t mipmappedArray, unsigned int level)
Gets a mipmap level of a HIP mipmapped array.
Device gcnArch name in 256 bytes.
Definition: hip_runtime_api.h:431
int clockRate
Max clock frequency of the multiProcessors in khz.
Definition: hip_runtime_api.h:93
struct ihipGraph * hipGraph_t
Definition: hip_runtime_api.h:4476
Max grid size in depth.
Definition: hip_runtime_api.h:363
hipError_t hipGraphExecKernelNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets the parameters for a kernel node in the given graphExec.
prefer equal size L1 cache and shared memory
Definition: hip_runtime_api.h:762
Definition: hip_runtime_api.h:4511
hipError_t hipGetSymbolSize(size_t *size, const void *symbol)
Gets the size of the given symbol on the device.
hipError_t hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
Get Device pointer from Host Pointer allocated through hipHostMalloc.
hipError_t hipFreeArray(hipArray *array)
Frees an array on the device.
hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices and guarantees all specified kernels are dispatched on respectiv...
hipError_t hipStreamCreateWithPriority(hipStream_t *stream, unsigned int flags, int priority)
Create an asynchronous stream with the specified priority.
hipError_t hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...
hipError_t hipEventSynchronize(hipEvent_t event)
Wait for an event to complete.
Definition: driver_types.h:258
Cuda only. Maximum dimensions of 2D layered surface.
Definition: hip_runtime_api.h:367
#define hipMemAttachSingle
Definition: hip_runtime_api.h:606
hipError_t hipGetTextureReference(const textureReference **texref, const void *symbol)
Gets the texture reference related with the symbol.
hipError_t hipGraphKernelNodeSetParams(hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets a kernel node&#39;s parameters.
hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t *pGraph)
Ends capture on a stream, returning the captured graph.
hipError_t hipGraphDestroyNode(hipGraphNode_t node)
Remove a node from the graph.
hipErrorHostMemoryNotRegistered
Produced when trying to unlock a non-page-locked memory.
Definition: hip_runtime_api.h:275
hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t *handle, void *devPtr)
Gets an interprocess memory handle for an existing device memory allocation.
hipError_t hipMemcpyFromSymbolAsync(void *dst, const void *symbol, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data from the given symbol on the device asynchronously.
hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes)
Copy data from Host to Device.
caching locals in L1 is supported
Definition: hip_runtime_api.h:352
Minor compute capability version number.
Definition: hip_runtime_api.h:394
hipError_t hipSetDeviceFlags(unsigned flags)
The current device behavior is changed according the flags passed.
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.
hipErrorInvalidDevice
DeviceID must be in range 0...#compute-devices.
Definition: hip_runtime_api.h:228
Maximum shared memory available per block in bytes.
Definition: hip_runtime_api.h:409
hipError_t hipEventQuery(hipEvent_t event)
Query event status.
struct hipDeviceProp_t hipDeviceProp_t
hipError_t hipBindTextureToMipmappedArray(const textureReference *tex, hipMipmappedArray_const_t mipmappedArray, const hipChannelFormatDesc *desc)
Binds a mipmapped array to a texture.
hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event wait node.
hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
Disable direct access from current device&#39;s virtual address space to memory allocations physically lo...
hipErrorInvalidContext
Produced when input context is invalid.
Definition: hip_runtime_api.h:230
Cuda only. Maximum dimensions of Cubemap texture.
Definition: hip_runtime_api.h:386
hipError_t hipGraphAddChildGraphNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipGraph_t childGraph)
Creates a child graph node and adds it to a graph.
hipError_t 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.
int pciBusID
PCI Bus ID.
Definition: hip_runtime_api.h:112
hipErrorCapturedEvent
Definition: hip_runtime_api.h:300
hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t *cuMask)
Get CU mask associated with an asynchronous stream.
hipError_t hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t *dependencies, size_t numDependencies, unsigned int flags __dparm(0))
Update the set of dependencies in a capturing stream.
hipError_t hipMemcpy2DFromArray(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets a memcpy node&#39;s parameters to perform a 1-dimensional copy.
hipErrorNotReady
Definition: hip_runtime_api.h:259
Max grid size in height.
Definition: hip_runtime_api.h:362
Stream is actively capturing.
Definition: hip_runtime_api.h:4555
hipErrorPeerAccessNotEnabled
Peer access was never enabled from the current device.
Definition: hip_runtime_api.h:268
hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
Cuda only. An unified address space shared with the host.
Definition: hip_runtime_api.h:420
Definition: hip_runtime_api.h:158
#define hipArrayDefault
Definition: hip_runtime_api.h:648
hipError_t hipCreateTextureObject(hipTextureObject_t *pTexObject, const hipResourceDesc *pResDesc, const hipTextureDesc *pTexDesc, const struct hipResourceViewDesc *pResViewDesc)
Creates a texture object.
Restores cache coherency policy back to fine-grain.
Definition: hip_runtime_api.h:690
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.
HIP will not write to this registered resource.
Definition: hip_runtime_api.h:899
struct hipPointerAttribute_t hipPointerAttribute_t
hipError_t hipCtxPushCurrent(hipCtx_t ctx)
Push the context to be set as current/ default context.
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.
Multiple GPU devices.
Definition: hip_runtime_api.h:349
Cuda only. Maximum dimensions of 2D mipmapped texture.
Definition: hip_runtime_api.h:381
hipError_t __hipPopCallConfiguration(dim3 *gridDim, dim3 *blockDim, size_t *sharedMem, hipStream_t *stream)
Pop configuration of a kernel launch.
int tccDriver
1:If device is Tesla device using TCC driver, else 0
Definition: hip_runtime_api.h:133
struct hipGraphExec * hipGraphExec_t
Definition: hip_runtime_api.h:4484
Definition: hip_runtime_api.h:525
int maxThreadsPerBlock
Max work items per work group or workgroup max size.
Definition: hip_runtime_api.h:90
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.
int maxTexture1DLinear
Maximum size for 1D textures bound to linear memory.
Definition: hip_runtime_api.h:122
Max block size in height.
Definition: hip_runtime_api.h:359
Definition: driver_types.h:117
Cuda only. Device supports Compute Preemption.
Definition: hip_runtime_api.h:337
hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory.
hipError_t hipCtxGetFlags(unsigned int *flags)
Return flags used for creating default context.
size_t sharedMemPerBlock
Size of shared memory region (in bytes).
Definition: hip_runtime_api.h:87
Device can coherently access managed memory concurrently with the CPU.
Definition: hip_runtime_api.h:339
hipError_t hipModuleGetTexRef(textureReference **texRef, hipModule_t hmod, const char *name)
returns the handle of the texture reference with the name from the module.
Definition: texture_types.h:88
Maximum size of 1D surface.
Definition: hip_runtime_api.h:364
Maximum dimension (width, height) of 2D surface.
Definition: hip_runtime_api.h:366
Support cooperative launch on multiple devices.
Definition: hip_runtime_api.h:341
int maxThreadsPerMultiProcessor
Maximum resident threads per multi-processor.
Definition: hip_runtime_api.h:105
hipError_t hipDeviceGetLimit(size_t *pValue, enum hipLimit_t limit)
Get Resource limits of current device.
Definition: hip_runtime_api.h:447
Definition: driver_types.h:281
size_t memPitch
Maximum pitch in bytes allowed by memory copies.
Definition: hip_runtime_api.h:128
Definition: hip_runtime_api.h:342
Definition: driver_types.h:82
int l2CacheSize
L2 cache size.
Definition: hip_runtime_api.h:104
hipDeviceAttribute_t
Definition: hip_runtime_api.h:326
hipError_t hipEventDestroy(hipEvent_t event)
Destroy the specified event.
hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
Create an asynchronous stream.
size_t textureAlignment
Alignment requirement for textures.
Definition: hip_runtime_api.h:129
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Configure a kernel launch.
hipError_t hipFuncGetAttribute(int *value, hipFunction_attribute attrib, hipFunction_t hfunc)
Find out a specific attribute for a given function.
hipError_t hipChooseDevice(int *device, const hipDeviceProp_t *prop)
Device which matches hipDeviceProp_t is returned.
Cuda only. Maximum dimensions of alternate 3D texture.
Definition: hip_runtime_api.h:385
Major compute capability version number.
Definition: hip_runtime_api.h:355
Definition: hip_runtime_api.h:778
hipError_t hipGraphClone(hipGraph_t *pGraphClone, hipGraph_t originalGraph)
Clones a graph.
uint32_t y
y
Definition: hip_runtime_api.h:780
Maximum number of threads per block.
Definition: hip_runtime_api.h:389
hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms *pNodeParams)
Sets a memcpy node&#39;s parameters.
int gcnArch
DEPRECATED: use gcnArchName instead.
Definition: hip_runtime_api.h:117
Maximum dimension depth of 3D texture.
Definition: hip_runtime_api.h:384
hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion)
Returns the approximate HIP api version.
Definition: hip_runtime_api.h:803
hipError_t hipGraphRemoveDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Removes dependency edges from a graph.
int kernelExecTimeoutEnabled
Run time limit for kernels executed on the device.
Definition: hip_runtime_api.h:131
Node which executes an embedded graph.
Definition: hip_runtime_api.h:4496
hipDeviceArch_t arch
Architectural feature flags. New for HIP.
Definition: hip_runtime_api.h:109
void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void *userData)
Definition: hip_runtime_api.h:1703
The update failed because the function of a kernel node changed.
Definition: hip_runtime_api.h:4539
int maxGridSize[3]
Max grid dimensions (XYZ).
Definition: hip_runtime_api.h:92
hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev)
Resets the primary context on the GPU.
hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
Create an event with the specified flags.
hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory [Deprecated].
int computeMode
Compute mode.
Definition: hip_runtime_api.h:106
Definition: hip_runtime_api.h:698
hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus)
Get stream&#39;s capture state.
MemcpyFromSymbol node.
Definition: hip_runtime_api.h:4501
Max block size in depth.
Definition: hip_runtime_api.h:360
PCI Bus ID.
Definition: hip_runtime_api.h:401
hipError_t hipMallocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
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&#39;s capture state.
hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
Return the elapsed time between two events.
hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipStreamCaptureStatus
Definition: hip_runtime_api.h:4553
Memcpy 1D node.
Definition: hip_runtime_api.h:4500
Definition: hip_runtime_api.h:715
hipErrorRuntimeMemory
Definition: hip_runtime_api.h:312
hipErrorInvalidValue
Definition: hip_runtime_api.h:205
hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId)
Determine if a device can access a peer&#39;s memory.
hipError_t hipGetDeviceCount(int *count)
Return number of compute-capable devices.
Cuda only. Maximum size of 1D mipmapped texture.
Definition: hip_runtime_api.h:375
Definition: driver_types.h:74
unsigned int * hdpMemFlushCntl
Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:126
Definition: hip_runtime_api.h:373
hipError_t hipMemset(void *dst, int value, size_t sizeBytes)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t 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.
Definition: driver_types.h:369
hipErrorStreamCaptureImplicit
Definition: hip_runtime_api.h:297
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.
hipErrorNotSupported
Produced when the hip API is not supported/implemented.
Definition: hip_runtime_api.h:283
hipError_t hipPointerGetAttribute(void *data, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
Maximum dimension hight of 2D texture.
Definition: hip_runtime_api.h:377
hipError_t hipStreamDestroy(hipStream_t stream)
Destroys the specified stream.
Warp size in threads.
Definition: hip_runtime_api.h:422
hipError_t hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr)
Return flags associated with host pointer.
hipError_t hipStreamSynchronize(hipStream_t stream)
Wait for all commands in stream to complete.
Definition: driver_types.h:165
hipErrorCooperativeLaunchTooLarge
Definition: hip_runtime_api.h:279
hipError_t hipGraphExecMemsetNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets the parameters for a memset node in the given graphExec.
int major
Definition: hip_runtime_api.h:97
hipError_t hipMemAllocPitch(hipDeviceptr_t *dptr, size_t *pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes)
hipError_t hipIpcOpenEventHandle(hipEvent_t *event, hipIpcEventHandle_t handle)
Opens an interprocess event handles.
hipError_t hipGetTextureObjectResourceDesc(hipResourceDesc *pResDesc, hipTextureObject_t textureObject)
Gets resource descriptor for the texture object.
hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Device.
Maximum dimension height of 3D texture.
Definition: hip_runtime_api.h:383
Peak memory clock frequency in kilohertz.
Definition: hip_runtime_api.h:393
hipError_t hipGetTextureObjectResourceViewDesc(struct hipResourceViewDesc *pResViewDesc, hipTextureObject_t textureObject)
Gets resource view descriptor for the texture object.
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...
Maximum resident threads per multiprocessor.
Definition: hip_runtime_api.h:390
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.
Definition: hip_runtime_api.h:685
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault))
Returns occupancy for a device function.
Definition: hip_runtime_api.h:769
Cuda only. Unique ID in 16 byte.
Definition: hip_runtime_api.h:421
dim3 gridDim
Grid dimentions.
Definition: hip_runtime_api.h:788
no preference for shared memory or L1 (default)
Definition: hip_runtime_api.h:759
Device name.
Definition: hip_runtime_api.h:397
Cuda only. Maximum dimensions of 1D layered texture.
Definition: hip_runtime_api.h:372
Address of the HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:433
hipGraphicsRegisterFlags
Definition: hip_runtime_api.h:897
hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
Create a context and set it as current/ default context.
External event record node.
Definition: hip_runtime_api.h:4499
Stream is not capturing.
Definition: hip_runtime_api.h:4554
hipError_t hipGraphMemsetNodeSetParams(hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets a memset node&#39;s parameters.
hipError_t hipGraphNodeGetDependentNodes(hipGraphNode_t node, hipGraphNode_t *pDependentNodes, size_t *pNumDependentNodes)
Returns a node&#39;s dependent nodes.
Cuda11 only. Maximum l2 persisting lines capacity in bytes.
Definition: hip_runtime_api.h:404
Undo the effect of hipMemAdviseSetReadMostly.
Definition: hip_runtime_api.h:677
int clockInstructionRate
Definition: hip_runtime_api.h:107
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...
int cooperativeMultiDeviceLaunch
HIP device supports cooperative launch on multiple devices.
Definition: hip_runtime_api.h:121
hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec)
Destroys an executable graph.
hipFuncAttribute
Definition: hip_runtime_api.h:750
hipError_t hipGraphMemsetNodeGetParams(hipGraphNode_t node, hipMemsetParams *pNodeParams)
Gets a memset node&#39;s parameters.
Constant memory size in bytes.
Definition: hip_runtime_api.h:418
hipError_t hipMalloc3DArray(hipArray **array, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int flags)
Allocate an array on the device.
hipError_t hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Host asynchronously.
hipError_t hipCtxSynchronize(void)
Blocks until the default context has completed all preceding requested tasks.
Global memory available on devicice.
Definition: hip_runtime_api.h:419
frame
Definition: hip_runtime_api.h:886
Pitch alignment requirement for 2D texture references bound to pitched memory;.
Definition: hip_runtime_api.h:417
hipError_t hipCtxPopCurrent(hipCtx_t *ctx)
Pop the current/default context and return the popped context.
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.
void * func
Device function symbol.
Definition: hip_runtime_api.h:787
hipError_t hipDeviceSynchronize(void)
Waits on all active streams on current device.
hipSuccess
Successful completion.
Definition: hip_runtime_api.h:204
hipGLDeviceList
Definition: hip_runtime_api.h:884
hipError_t hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Host.
Definition: hip_runtime_api.h:4519
32-bit registers available per block.
Definition: hip_runtime_api.h:407
hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t *nodes, size_t *numNodes)
Returns graph nodes.
int warpSize
Warp size.
Definition: hip_runtime_api.h:89
hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t *extSem_out, const hipExternalSemaphoreHandleDesc *semHandleDesc)
Imports an external semaphore.
int concurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition: hip_runtime_api.h:110
hipError_t hipStreamWriteValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
Cuda only. Luid device node mask. Undefined on TCC and non-Windows platforms.
Definition: hip_runtime_api.h:354
hipError_t hipExtLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes, hipStream_t stream, hipEvent_t startEvent, hipEvent_t stopEvent, int flags)
Launches kernel from the pointer address, with arguments and shared memory on stream.
hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t *handle, hipEvent_t event)
Gets an opaque interprocess handle for an event.
hipError_t hipExtStreamCreateWithCUMask(hipStream_t *stream, uint32_t cuMaskSize, const uint32_t *cuMask)
Create an asynchronous stream with the specified CU mask.
prefetched
Definition: hip_runtime_api.h:717
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.
hipErrorIllegalState
Resource required is not in a valid state to perform operation.
Definition: hip_runtime_api.h:257
hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device)
Returns an identifer string for the device.
hipError_t hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId)
Returns device properties.
Alignment requirement for textures.
Definition: hip_runtime_api.h:416
hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
Register host memory so it can be accessed from the current device.
struct hipGraphNode * hipGraphNode_t
Definition: hip_runtime_api.h:4480
size_t totalGlobalMem
Size of global memory region (in bytes).
Definition: hip_runtime_api.h:86
hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreWaitParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Waits on a set of external semaphore objects.
Cuda only. Maximum dimensions of 2D texture if gather operations performed.
Definition: hip_runtime_api.h:378
Cuda only. Whether device is a Tesla device using TCC driver.
Definition: hip_runtime_api.h:415
Definition: driver_types.h:68
Host (executable) node.
Definition: hip_runtime_api.h:4495
hipError_t hipMalloc(void **ptr, size_t size)
Allocate memory on the default accelerator.
const char * hipGetErrorName(hipError_t hip_error)
Return name of the specified error code in text form.
hipError_t hipGraphExecEventWaitNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipError_t hipMemset2D(void *dst, size_t pitch, int value, size_t width, size_t height)
Fills the memory area pointed to by dst with the constant value.
hipError_t hipIpcCloseMemHandle(void *devPtr)
Close memory mapped with hipIpcOpenMemHandle.
Definition: driver_types.h:352
Compute mode that device is currently in.
Definition: hip_runtime_api.h:336
hipErrorLaunchOutOfResources
Out of resources error.
Definition: hip_runtime_api.h:264
hipErrorStreamCaptureUnsupported
Definition: hip_runtime_api.h:284
dim3 blockDim
Block dimentions.
Definition: hip_runtime_api.h:789
GPU kernel node.
Definition: hip_runtime_api.h:4492
hipFuncCache_t
Definition: hip_runtime_api.h:758
PCI Device ID.
Definition: hip_runtime_api.h:402
hipError_t hipGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
Make the specified compute stream wait for an event.
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...
Cuda only. Maximum dimensions of Cubemap layered texture.
Definition: hip_runtime_api.h:387
Cuda only. The maximum size of the window policy in bytes.
Definition: hip_runtime_api.h:330
hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
Get the handle of the current/ default context.
Whether host memory can be mapped into device address space.
Definition: hip_runtime_api.h:332
int maxThreadsDim[3]
Max number of threads in each dimension (XYZ) of a block.
Definition: hip_runtime_api.h:91
Maximum dimension (width, height, depth) of 3D surface.
Definition: hip_runtime_api.h:368
Definition: hip_runtime_api.h:160
hipError_t hipStreamWriteValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
Return flags associated with this stream.
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.
hipMemRangeAttribute
Definition: hip_runtime_api.h:711
hipErrorNoDevice
Call to hipGetDeviceCount returned 0 devices.
Definition: hip_runtime_api.h:227
Number of multiprocessors on the device.
Definition: hip_runtime_api.h:396
Cuda only. Device supports caching globals in L1.
Definition: hip_runtime_api.h:346
hipErrorInvalidResourceHandle
Resource handle (hipEvent_t or hipStream_t) invalid.
Definition: hip_runtime_api.h:256
hipErrorStreamCaptureWrongThread
Definition: hip_runtime_api.h:302
hipStream_t stream
Stream identifier.
Definition: hip_runtime_api.h:792
hipError_t hipMemGetInfo(size_t *free, size_t *total)
Query memory info. Return snapshot of free memory, and total allocatable memory on the device...
hipError_t __hipPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Push configuration of a kernel launch.
hipError_t hipModuleLoadDataEx(hipModule_t *module, const void *image, unsigned int numOptions, hipJitOption *options, void **optionValues)
builds module from code object which resides in host memory. Image is pointer to that location...
hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams, void **extra)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelp...
hipError_t hipGraphNodeGetType(hipGraphNode_t node, hipGraphNodeType *pType)
Returns a node&#39;s type.
hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev)
Release the primary context on the GPU.
int integrated
APU vs dGPU.
Definition: hip_runtime_api.h:119
hipError_t hipFree(void *ptr)
Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...
uint32_t z
z
Definition: hip_runtime_api.h:781
int memoryBusWidth
Global memory bus width in bits.
Definition: hip_runtime_api.h:95
hipError_t hipDeviceGetP2PAttribute(int *value, hipDeviceP2PAttr attr, int srcDevice, int dstDevice)
Returns a value for attr of link between two devices.
hipError_t hipDeviceReset(void)
The state of current device is discarded and updated to a fresh state.
hipError_t hipInit(unsigned int flags)
Explicitly initializes the HIP runtime.
hipError_t hipGetTextureObjectTextureDesc(hipTextureDesc *pTexDesc, hipTextureObject_t textureObject)
Gets texture descriptor for the texture object.
hipError_t hipMemcpy3D(const struct hipMemcpy3DParms *p)
Copies data between host and device.
hipError_t hipRuntimeGetVersion(int *runtimeVersion)
Returns the approximate HIP Runtime version.
Definition: hip_runtime_api.h:712
struct hipExternalSemaphoreWaitParams_st hipExternalSemaphoreWaitParams
hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event record node&#39;s event.
hipError_t hipMemcpyHtoA(hipArray *dstArray, size_t dstOffset, const void *srcHost, size_t count)
Copies data between host and device.
Definition: hip_runtime_api.h:4507
hipError_t hipSetupArgument(const void *arg, size_t size, size_t offset)
Set a kernel argument.
Cuda only. Whether to support stream priorities.
Definition: hip_runtime_api.h:413
hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Device asynchronously.
hipErrorMemoryAllocation
Memory allocation error.
Definition: hip_runtime_api.h:209
Definition: hip_runtime_api.h:84
hipError_t hipSetDevice(int deviceId)
Set default device to be used for subsequent hip API calls from this thread.
Clear the preferred location for the data.
Definition: hip_runtime_api.h:680
hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration.
hipError_t hipDeviceGet(hipDevice_t *device, int ordinal)
Returns a handle to a compute device.
hipError_t hipDeviceTotalMem(size_t *bytes, hipDevice_t device)
Returns the total amount of memory on the device.
Cuda only. Unique ID of device group on the same multi-GPU board.
Definition: hip_runtime_api.h:395
hipError_t hipMemAllocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D *pCopy, hipStream_t stream)
Copies data between host and device asynchronously.
Frequency in khz of the timer used by the device-side "clock*".
Definition: hip_runtime_api.h:427
hipError_t hipMemcpyToSymbol(const void *symbol, const void *src, size_t sizeBytes, size_t offset __dparm(0), hipMemcpyKind kind __dparm(hipMemcpyHostToDevice))
Copies data to the given symbol on the device. Symbol HIP APIs allow a kernel to define a device-side...
hipError_t hipGraphExecEventRecordNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipError_t hipFuncSetCacheConfig(const void *func, hipFuncCache_t config)
Set Cache configuration for a specific function.
char gcnArchName[256]
AMD GCN Arch Name.
Definition: hip_runtime_api.h:118
The compiler selects a device-specific value for the banking.
Definition: hip_runtime_api.h:768
hipError_t hipGraphExecHostNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets the parameters for a host node in the given graphExec.
size_t maxSharedMemoryPerMultiProcessor
Maximum Shared Memory Per Multiprocessor.
Definition: hip_runtime_api.h:114
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
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.
int cooperativeLaunch
HIP device supports cooperative launch.
Definition: hip_runtime_api.h:120
hipErrorStreamCaptureUnmatched
The capture was not initiated in this stream.
Definition: hip_runtime_api.h:290
hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx)
Disable direct access from current context&#39;s virtual address space to memory allocations physically l...
PCI Domain ID.
Definition: hip_runtime_api.h:403
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.
Support cooperative launch.
Definition: hip_runtime_api.h:340
Maximum size of 1D texture.
Definition: hip_runtime_api.h:371
Cuda only. Link between the device and the host supports native atomic operations.
Definition: hip_runtime_api.h:347
hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t *linktype, uint32_t *hopcount)
Returns the link type and hop count between two devices.
hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus, unsigned long long *pId)
Get capture status of a stream.
hipError_t hipMemRangeGetAttribute(void *data, size_t data_size, hipMemRangeAttribute attribute, const void *dev_ptr, size_t count)
Query an attribute of a given memory range in HIP.
hipError_t hipGraphAddEventRecordNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
Creates an event record node and adds it to a graph.
hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event wait node&#39;s event.
int pciDeviceID
PCI Device ID.
Definition: hip_runtime_api.h:113
All hip devices used by current OpenGL context.
Definition: hip_runtime_api.h:885
Device architecture.
Definition: hip_runtime_api.h:428
Whether it is LargeBar.
Definition: hip_runtime_api.h:442
hipError_t hipGraphCreate(hipGraph_t *pGraph, unsigned int flags)
Creates a graph.
hipSharedMemConfig
Definition: hip_runtime_api.h:767
Definition: hip_runtime_api.h:683
hipError_t hipGraphAddEmptyNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies)
Creates an empty node and adds it to a graph.
hipError_t hipModuleUnload(hipModule_t module)
Frees the module.
int pciDomainID
PCI Domain ID.
Definition: hip_runtime_api.h:111
int ECCEnabled
Device has ECC support enabled.
Definition: hip_runtime_api.h:132
Definition: driver_types.h:47
char name[256]
Device name.
Definition: hip_runtime_api.h:85
hipError_t hipCtxGetDevice(hipDevice_t *device)
Get the handle of the device associated with current/default context.
int managedMemory
Device supports allocating managed memory on this system.
Definition: hip_runtime_api.h:144
Cuda11 only. Shared memory reserved by CUDA driver per block.
Definition: hip_runtime_api.h:408
hipError_t hipFuncGetAttributes(struct hipFuncAttributes *attr, const void *func)
Find out attributes for a given function.
hipErrorStreamCaptureInvalidated
Definition: hip_runtime_api.h:286
hipMemoryAdvise
Definition: hip_runtime_api.h:674
The update failed because a node type changed.
Definition: hip_runtime_api.h:4538
Definition: hip_runtime_api.h:4535
The preferred location of the range.
Definition: hip_runtime_api.h:714
Definition: hip_runtime_api.h:675
Cuda only. Maximum dimensions of 1D layered surface.
Definition: hip_runtime_api.h:365
hipErrorGraphExecUpdateFailure
Definition: hip_runtime_api.h:306
hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId)
Query for a specific device attribute.
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...
hipErrorInvalidDevicePointer
Invalid Device Pointer.
Definition: hip_runtime_api.h:221
hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream)
Copy data from Host to Device asynchronously.
int directManagedMemAccessFromHost
Host can directly access managed memory on the device without migration.
Definition: hip_runtime_api.h:145
hipError_t hipMemPrefetchAsync(const void *dev_ptr, size_t count, int device, hipStream_t stream __dparm(0))
Prefetches memory to the specified destination device using HIP.
hipError_t hipHostUnregister(void *hostPtr)
Un-register host pointer.
Definition: hip_runtime_api.h:681
hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpyPeer(void *dst, int dstDeviceId, const void *src, int srcDeviceId, size_t sizeBytes)
Copies memory from one device to memory on another device.
HIP will only write and will not read from this registered resource.
Definition: hip_runtime_api.h:900
Definition: hip_runtime_api.h:702
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.
MemcpyToSymbol node.
Definition: hip_runtime_api.h:4502
hipError_t hipGraphChildGraphNodeGetGraph(hipGraphNode_t node, hipGraph_t *pGraph)
Gets a handle to the embedded graph of a child graph node.
hipError_t hipGetSymbolAddress(void **devPtr, const void *symbol)
Gets device pointer associated with symbol on the device.
hipError_t hipStreamCreate(hipStream_t *stream)
Create an asynchronous stream.
hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms *p, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
Definition: hip_runtime_api.h:45
hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject)
Destroys a texture object.
hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
Copy data from src to dst.
hipError_t hipGraphKernelNodeGetParams(hipGraphNode_t node, hipKernelNodeParams *pNodeParams)
Gets kernel node&#39;s parameters.
hipError_t hipEventCreate(hipEvent_t *event)
Device gcn architecture.
Definition: hip_runtime_api.h:430
Definition: driver_types.h:379
hipError_t hipCtxDestroy(hipCtx_t ctx)
Destroy a HIP context.
Definition: driver_types.h:95
Add new nodes to the dependency set.
Definition: hip_runtime_api.h:4561
Definition: hip_runtime_api.h:517
int cooperativeMultiDeviceUnmatchedSharedMem
Definition: hip_runtime_api.h:140
hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node&#39;s parameters to copy from a symbol on the device.
hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem)
Destroys an external semaphore object and releases any references to the underlying resource...
hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int *flags, int *active)
Get the state of the primary context.
External event wait node.
Definition: hip_runtime_api.h:4498
Definition: driver_types.h:314
hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices where thread blocks can cooperate and synchronize as they execut...
hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
The bank width of shared memory on current device is set.
hipError_t hipGetDevice(int *deviceId)
Return the default device id for the calling host thread.
hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream)
Record an event in the specified stream.
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.
Cuda only. Maximum shared memory per block usable by special opt in.
Definition: hip_runtime_api.h:410
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...
HIP will perform texture gather operations on this registered resource.
Definition: hip_runtime_api.h:903
hipError_t hipFuncSetSharedMemConfig(const void *func, hipSharedMemConfig config)
Set shared memory configuation for a specific function.
int memoryClockRate
Max global memory clock frequency in khz.
Definition: hip_runtime_api.h:94
Maximum dimension width of 2D texture.
Definition: hip_runtime_api.h:376
hipError_t hipMallocManaged(void **dev_ptr, size_t size, unsigned int flags __dparm(hipMemAttachGlobal))
Allocates memory that will be automatically managed by HIP.
hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config)
Set Shared memory bank configuration.
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.
int pageableMemoryAccess
Definition: hip_runtime_api.h:147
Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory...
Definition: hip_runtime_api.h:380
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...
The update failed because the parameters changed in a way that is not supported.
Definition: hip_runtime_api.h:4541
Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition: hip_runtime_api.h:432
Definition: hip_runtime_api.h:444
hipErrorStreamCaptureMerge
Definition: hip_runtime_api.h:288
hipError_t hipDeviceGetPCIBusId(char *pciBusId, int len, int device)
Returns a PCI Bus Id string for the device, overloaded to take int device ID.
int maxTexture2D[2]
Maximum dimensions (width, height) of 2D images, in image elements.
Definition: hip_runtime_api.h:124
prefer larger shared memory and smaller L1 cache
Definition: hip_runtime_api.h:760
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.
void ** args
Arguments.
Definition: hip_runtime_api.h:790
hipErrorRuntimeOther
Definition: hip_runtime_api.h:314
Whether ECC support is enabled.
Definition: hip_runtime_api.h:329
hipError_t hipStreamQuery(hipStream_t stream)
Return hipSuccess if all of the operations in the specified stream have completed, or hipErrorNotReady if not.
hipError_t hipOccupancyMaxPotentialBlockSize(int *gridSize, int *blockSize, const void *f, size_t dynSharedMemPerBlk, int blockSizeLimit)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipError_t hipMemcpy2DToArrayAsync(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipError_t 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].
int cooperativeMultiDeviceUnmatchedFunc
Definition: hip_runtime_api.h:134
int cooperativeMultiDeviceUnmatchedGridDim
Definition: hip_runtime_api.h:136
Definition: hip_runtime_api.h:771
hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, const void *ptr)
Return attributes for the specified pointer.
hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D *pCopy, hipStream_t stream __dparm(0))
Copies memory for 2D arrays.
size_t sharedMem
Shared memory.
Definition: hip_runtime_api.h:791
hipError_t hipGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Sets the parameters for a memcpy node in the given graphExec.
hipError_t hipCtxGetCacheConfig(hipFuncCache_t *cacheConfig)
Set Cache configuration for a specific function.
The update succeeded.
Definition: hip_runtime_api.h:4534
hipError_t hipGraphDestroy(hipGraph_t graph)
Destroys a graph.
hipError_t hipGraphGetEdges(hipGraph_t graph, hipGraphNode_t *from, hipGraphNode_t *to, size_t *numEdges)
Returns a graph&#39;s dependency edges.
hipErrorStreamCaptureUnjoined
Definition: hip_runtime_api.h:291
hipError_t hipGetDeviceFlags(unsigned int *flags)
Gets the flags set for current device.
HIP will bind this resource to a surface.
Definition: hip_runtime_api.h:902
hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc)
Maps a buffer onto an imported memory object.
The update failed because the topology changed.
Definition: hip_runtime_api.h:4537
Cuda only. Max block size per multiprocessor.
Definition: hip_runtime_api.h:357
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...
Cuda only. Maximum dimensions of 2D layered texture.
Definition: hip_runtime_api.h:379
hipError_t hipProfilerStop()
Stop recording of profiling information. When using this API, start the profiler with profiling disab...
Device can possibly execute multiple kernels concurrently.
Definition: hip_runtime_api.h:338
Memcpy 3D node.
Definition: hip_runtime_api.h:4493
int multiProcessorCount
Number of multi-processors (compute units).
Definition: hip_runtime_api.h:103
hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count)
Fills the memory area pointed to by dest with the constant integer value for specified number of time...
hipError_t hipGraphExecMemcpyNodeSetParamsToSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to copy to a symbol on the device...
hipError_t hipGraphExecMemcpyNodeSetParams1D(hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy...
hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D *pCopy)
hipError_t hipProfilerStart()
Start recording of profiling information When using this API, start the profiler with profiling disab...
hipError_t hipLaunchByPtr(const void *func)
Launch a kernel.
Definition: texture_types.h:109
Definition: hip_runtime_api.h:855