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

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

HIP Runtime API Reference: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hip/checkouts/docs-5.3.3/include/hip/hip_runtime_api.h Source File
hip_runtime_api.h
Go to the documentation of this file.
1/*
2Copyright (c) 2015 - 2022 Advanced Micro Devices, Inc. All rights reserved.
3
4Permission is hereby granted, free of charge, to any person obtaining a copy
5of this software and associated documentation files (the "Software"), to deal
6in the Software without restriction, including without limitation the rights
7to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8copies of the Software, and to permit persons to whom the Software is
9furnished to do so, subject to the following conditions:
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20THE SOFTWARE.
21*/
22
30#ifndef HIP_INCLUDE_HIP_HIP_RUNTIME_API_H
31#define HIP_INCLUDE_HIP_HIP_RUNTIME_API_H
32
33
34#include <string.h> // for getDeviceProp
35#include <hip/hip_version.h>
36#include <hip/hip_common.h>
37
38enum {
43};
44
45typedef struct {
46 // 32-bit Atomics
47 unsigned hasGlobalInt32Atomics : 1;
49 unsigned hasSharedInt32Atomics : 1;
51 unsigned hasFloatAtomicAdd : 1;
52
53 // 64-bit Atomics
54 unsigned hasGlobalInt64Atomics : 1;
55 unsigned hasSharedInt64Atomics : 1;
56
57 // Doubles
58 unsigned hasDoubles : 1;
59
60 // Warp cross-lane operations
61 unsigned hasWarpVote : 1;
62 unsigned hasWarpBallot : 1;
63 unsigned hasWarpShuffle : 1;
64 unsigned hasFunnelShift : 1;
65
66 // Sync
67 unsigned hasThreadFenceSystem : 1;
68 unsigned hasSyncThreadsExt : 1;
69
70 // Misc
71 unsigned hasSurfaceFuncs : 1;
72 unsigned has3dGrid : 1;
73 unsigned hasDynamicParallelism : 1;
75
76typedef struct hipUUID_t {
77 char bytes[16];
78} hipUUID;
79
80//---
81// Common headers for both NVCC and HCC paths:
82
87typedef struct hipDeviceProp_t {
88 char name[256];
95 int maxGridSize[3];
100 int major;
103 int minor;
121 char gcnArchName[256];
129 unsigned int* hdpMemFlushCntl;
130 unsigned int* hdpRegFlushCntl;
131 size_t memPitch;
154
155
168
172typedef struct hipPointerAttribute_t {
178 unsigned allocationFlags; /* flags specified when memory was allocated*/
179 /* peers? */
181
182
183// hack to get these to show up in Doxygen:
190// Ignoring error-code return values from hip APIs is discouraged. On C++17,
191// we can make that yield a warning
192#if __cplusplus >= 201703L
193#define __HIP_NODISCARD [[nodiscard]]
194#else
195#define __HIP_NODISCARD
196#endif
197
198/*
199 * @brief hipError_t
200 * @enum
201 * @ingroup Enumerations
202 */
203// Developer note - when updating these, update the hipErrorName and hipErrorString functions in
204// NVCC and HCC paths Also update the hipCUDAErrorTohipError function in NVCC path.
205
211 // Deprecated
214 // Deprecated
236 // Deprecated
258 // Deprecated
270 704,
272 705,
277 712,
279 713,
281 719,
283 720,
313 hipErrorUnknown = 999, //< Unknown error.
314 // HSA Runtime Error Codes start here.
319 hipErrorTbd
320} hipError_t;
321
322#undef __HIP_NODISCARD
323
324/*
325 * @brief hipDeviceAttribute_t
326 * @enum
327 * @ingroup Enumerations
328 */
331
428
431
456
459 // Extended attributes for vendors
461
468
473#if (defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && !(defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
474
475#include <stdint.h>
476#include <stddef.h>
477#ifndef GENERIC_GRID_LAUNCH
478#define GENERIC_GRID_LAUNCH 1
479#endif
480#include <hip/amd_detail/host_defines.h>
481#include <hip/driver_types.h>
482#include <hip/texture_types.h>
483#include <hip/surface_types.h>
484#if defined(_MSC_VER)
485#define DEPRECATED(msg) __declspec(deprecated(msg))
486#else // !defined(_MSC_VER)
487#define DEPRECATED(msg) __attribute__ ((deprecated(msg)))
488#endif // !defined(_MSC_VER)
489#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"
490#define HIP_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
491#define HIP_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
492#define HIP_LAUNCH_PARAM_END ((void*)0x03)
493#ifdef __cplusplus
494 #define __dparm(x) \
495 = x
496#else
497 #define __dparm(x)
498#endif
499#ifdef __GNUC__
500#pragma GCC visibility push (default)
501#endif
502#ifdef __cplusplus
503namespace hip_impl {
504hipError_t hip_init();
505} // namespace hip_impl
506#endif
507// Structure definitions:
508#ifdef __cplusplus
509extern "C" {
510#endif
511//---
512// API-visible structures
513typedef struct ihipCtx_t* hipCtx_t;
514// Note many APIs also use integer deviceIds as an alternative to the device pointer:
515typedef int hipDevice_t;
522typedef struct ihipStream_t* hipStream_t;
523#define hipIpcMemLazyEnablePeerAccess 0
524#define HIP_IPC_HANDLE_SIZE 64
525typedef struct hipIpcMemHandle_st {
526 char reserved[HIP_IPC_HANDLE_SIZE];
528typedef struct hipIpcEventHandle_st {
529 char reserved[HIP_IPC_HANDLE_SIZE];
531typedef struct ihipModule_t* hipModule_t;
532typedef struct ihipModuleSymbol_t* hipFunction_t;
536typedef struct ihipMemPoolHandle_t* hipMemPool_t;
537
550typedef struct ihipEvent_t* hipEvent_t;
552 hipLimitStackSize = 0x0, // limit device stack size
553 hipLimitPrintfFifoSize = 0x01, // limit printf fifo size
554 hipLimitMallocHeapSize = 0x02, // limit heap size
555 hipLimitRange // supported limit range
561//Flags that can be used with hipStreamCreateWithFlags.
563#define hipStreamDefault 0x00
564
566#define hipStreamNonBlocking 0x01
567
568//Flags that can be used with hipEventCreateWithFlags.
570#define hipEventDefault 0x0
571
573#define hipEventBlockingSync 0x1
574
576#define hipEventDisableTiming 0x2
577
579#define hipEventInterprocess 0x4
580
583#define hipEventReleaseToDevice 0x40000000
584
587#define hipEventReleaseToSystem 0x80000000
588
589//Flags that can be used with hipHostMalloc.
591#define hipHostMallocDefault 0x0
592
594#define hipHostMallocPortable 0x1
595
598#define hipHostMallocMapped 0x2
599
603#define hipHostMallocWriteCombined 0x4
604
606#define hipHostMallocNumaUser 0x20000000
607
609#define hipHostMallocCoherent 0x40000000
610
612#define hipHostMallocNonCoherent 0x80000000
613
615#define hipMemAttachGlobal 0x01
616
618#define hipMemAttachHost 0x02
619
621#define hipMemAttachSingle 0x04
622
623#define hipDeviceMallocDefault 0x0
624
626#define hipDeviceMallocFinegrained 0x1
627
629#define hipMallocSignalMemory 0x2
630
631//Flags that can be used with hipHostRegister.
633#define hipHostRegisterDefault 0x0
634
636#define hipHostRegisterPortable 0x1
637
640#define hipHostRegisterMapped 0x2
641
643#define hipHostRegisterIoMemory 0x4
644
646#define hipExtHostRegisterCoarseGrained 0x8
647
649#define hipDeviceScheduleAuto 0x0
650
653#define hipDeviceScheduleSpin 0x1
654
657#define hipDeviceScheduleYield 0x2
658#define hipDeviceScheduleBlockingSync 0x4
659#define hipDeviceScheduleMask 0x7
660#define hipDeviceMapHost 0x8
661#define hipDeviceLmemResizeToMax 0x10
663#define hipArrayDefault 0x00
664#define hipArrayLayered 0x01
665#define hipArraySurfaceLoadStore 0x02
666#define hipArrayCubemap 0x04
667#define hipArrayTextureGather 0x08
668#define hipOccupancyDefault 0x00
669#define hipCooperativeLaunchMultiDeviceNoPreSync 0x01
670#define hipCooperativeLaunchMultiDeviceNoPostSync 0x02
671#define hipCpuDeviceId ((int)-1)
672#define hipInvalidDeviceId ((int)-2)
673//Flags that can be used with hipExtLaunch Set of APIs.
675#define hipExtAnyOrderLaunch 0x01
676// Flags to be used with hipStreamWaitValue32 and hipStreamWaitValue64.
677#define hipStreamWaitValueGte 0x0
678#define hipStreamWaitValueEq 0x1
679#define hipStreamWaitValueAnd 0x2
680#define hipStreamWaitValueNor 0x3
681// Stream per thread
683#define hipStreamPerThread ((hipStream_t)2)
684/*
685 * @brief HIP Memory Advise values
686 * @enum
687 * @ingroup Enumerations
688 */
707/*
708 * @brief HIP Coherency Mode
709 * @enum
710 * @ingroup Enumerations
711 */
721/*
722 * @brief HIP range attributes
723 * @enum
724 * @ingroup Enumerations
725 */
737
875 unsigned char reserved[64];
877
878/*
879 * @brief hipJitOption
880 * @enum
881 * @ingroup Enumerations
882 */
934typedef struct dim3 {
935 uint32_t x;
936 uint32_t y;
937 uint32_t z;
938#ifdef __cplusplus
939 constexpr __host__ __device__ dim3(uint32_t _x = 1, uint32_t _y = 1, uint32_t _z = 1) : x(_x), y(_y), z(_z){};
940#endif
941} dim3;
942typedef struct hipLaunchParams_t {
943 void* func;
946 void **args;
947 size_t sharedMem;
959typedef struct hipExternalMemoryHandleDesc_st {
961 union {
962 int fd;
963 struct {
964 void *handle;
965 const void *name;
966 } win32;
967 } handle;
968 unsigned long long size;
969 unsigned int flags;
971typedef struct hipExternalMemoryBufferDesc_st {
972 unsigned long long offset;
973 unsigned long long size;
974 unsigned int flags;
983typedef struct hipExternalSemaphoreHandleDesc_st {
985 union {
986 int fd;
987 struct {
988 void* handle;
989 const void* name;
990 } win32;
991 } handle;
992 unsigned int flags;
995typedef struct hipExternalSemaphoreSignalParams_st {
996 struct {
997 struct {
998 unsigned long long value;
999 } fence;
1000 struct {
1001 unsigned long long key;
1002 } keyedMutex;
1003 unsigned int reserved[12];
1004 } params;
1005 unsigned int flags;
1006 unsigned int reserved[16];
1011typedef struct hipExternalSemaphoreWaitParams_st {
1012 struct {
1013 struct {
1014 unsigned long long value;
1015 } fence;
1016 struct {
1017 unsigned long long key;
1018 unsigned int timeoutMs;
1019 } keyedMutex;
1020 unsigned int reserved[10];
1021 } params;
1022 unsigned int flags;
1023 unsigned int reserved[16];
1025
1026#if __HIP_HAS_GET_PCH
1032 void __hipGetPCH(const char** pch, unsigned int*size);
1033#endif
1034
1035/*
1036 * @brief HIP Devices used by current OpenGL Context.
1037 * @enum
1038 * @ingroup Enumerations
1039 */
1047
1048/*
1049 * @brief HIP Access falgs for Interop resources.
1050 * @enum
1051 * @ingroup Enumerations
1052 */
1062
1063typedef struct _hipGraphicsResource hipGraphicsResource;
1064
1066
1070typedef struct ihipGraph* hipGraph_t;
1074typedef struct hipGraphNode* hipGraphNode_t;
1078typedef struct hipGraphExec* hipGraphExec_t;
1079
1083typedef struct hipUserObject* hipUserObject_t;
1084
1085
1106
1107typedef void (*hipHostFn_t)(void* userData);
1120typedef struct hipMemsetParams {
1121 void* dst;
1122 unsigned int elementSize;
1123 size_t height;
1124 size_t pitch;
1125 unsigned int value;
1126 size_t width;
1128
1154
1174
1186
1191
1201
1205
1210
1211// Doxygen end group GlobalDefs
1213//-------------------------------------------------------------------------------------------------
1214// The handle allows the async commands to use the stream even if the parent hipStream_t goes
1215// out-of-scope.
1216// typedef class ihipStream_t * hipStream_t;
1217/*
1218 * Opaque structure allows the true event (pointed at by the handle) to remain "live" even if the
1219 * surrounding hipEvent_t goes out-of-scope. This is handy for cases where the hipEvent_t goes
1220 * out-of-scope but the true event is being written by some async queue or device */
1221// typedef struct hipEvent_t {
1222// struct ihipEvent_t *_handle;
1223//} hipEvent_t;
1242// TODO-ctx - more description on error codes.
1243hipError_t hipInit(unsigned int flags);
1284
1293hipError_t hipDeviceComputeCapability(int* major, int* minor, hipDevice_t device);
1302hipError_t hipDeviceGetName(char* name, int len, hipDevice_t device);
1325 int srcDevice, int dstDevice);
1334hipError_t hipDeviceGetPCIBusId(char* pciBusId, int len, int device);
1342hipError_t hipDeviceGetByPCIBusId(int* device, const char* pciBusId);
1351// doxygen end initialization
1555hipError_t hipDeviceGetLimit(size_t* pValue, enum hipLimit_t limit);
1565hipError_t hipDeviceSetLimit ( enum hipLimit_t limit, size_t value );
1585hipError_t hipGetDeviceFlags(unsigned int* flags);
1644hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t* linktype, uint32_t* hopcount);
1645// TODO: implement IPC apis
1708hipError_t hipIpcOpenMemHandle(void** devPtr, hipIpcMemHandle_t handle, unsigned int flags);
1728
1744
1761
1762// end doxygen Device
1786hipError_t hipFuncSetAttribute(const void* func, hipFuncAttribute attr, int value);
1811//doxygen end execution
1853const char* hipGetErrorName(hipError_t hip_error);
1864const char* hipGetErrorString(hipError_t hipError);
1865// end doxygen Error
1930hipError_t hipStreamCreateWithPriority(hipStream_t* stream, unsigned int flags, int priority);
1944hipError_t hipDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
2019hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
2033hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int* flags);
2067hipError_t hipExtStreamCreateWithCUMask(hipStream_t* stream, uint32_t cuMaskSize, const uint32_t* cuMask);
2080hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t* cuMask);
2084typedef void (*hipStreamCallback_t)(hipStream_t stream, hipError_t status, void* userData);
2101 unsigned int flags);
2102// end doxygen Stream
2145hipError_t hipStreamWaitValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags,
2146 uint32_t mask __dparm(0xFFFFFFFF));
2179hipError_t hipStreamWaitValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags,
2180 uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF));
2200hipError_t hipStreamWriteValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags);
2220hipError_t hipStreamWriteValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags);
2221// end doxygen Stream Memory Operations
2294#ifdef __cplusplus
2295hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
2296#else
2298#endif
2386// end doxygen Events
2429 hipDeviceptr_t ptr);
2446hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute* attributes,
2447 void** data, hipDeviceptr_t ptr);
2459 const hipExternalSemaphoreHandleDesc* semHandleDesc);
2473 const hipExternalSemaphoreSignalParams* paramsArray,
2474 unsigned int numExtSems, hipStream_t stream);
2488 const hipExternalSemaphoreWaitParams* paramsArray,
2489 unsigned int numExtSems, hipStream_t stream);
2500
2547hipError_t hipMalloc(void** ptr, size_t size);
2562hipError_t hipExtMallocWithFlags(void** ptr, size_t sizeBytes, unsigned int flags);
2575DEPRECATED("use hipHostMalloc instead")
2576hipError_t hipMallocHost(void** ptr, size_t size);
2589DEPRECATED("use hipHostMalloc instead")
2590hipError_t hipMemAllocHost(void** ptr, size_t size);
2604hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags);
2625 size_t size,
2626 unsigned int flags __dparm(hipMemAttachGlobal));
2638 size_t count,
2639 int device,
2640 hipStream_t stream __dparm(0));
2651hipError_t hipMemAdvise(const void* dev_ptr,
2652 size_t count,
2653 hipMemoryAdvise advice,
2654 int device);
2668 size_t data_size,
2669 hipMemRangeAttribute attribute,
2670 const void* dev_ptr,
2671 size_t count);
2687 size_t* data_sizes,
2688 hipMemRangeAttribute* attributes,
2689 size_t num_attributes,
2690 const void* dev_ptr,
2691 size_t count);
2705 void* dev_ptr,
2706 size_t length __dparm(0),
2707 unsigned int flags __dparm(hipMemAttachSingle));
2708// end doxygen Managed Memory
2764hipError_t hipMallocAsync(void** dev_ptr, size_t size, hipStream_t stream);
2787hipError_t hipFreeAsync(void* dev_ptr, hipStream_t stream);
2813hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold);
2903hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc* desc_list, size_t count);
3000hipError_t hipMallocFromPoolAsync(void** dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream);
3026 void* shared_handle,
3027 hipMemPool_t mem_pool,
3028 hipMemAllocationHandleType handle_type,
3029 unsigned int flags);
3052 hipMemPool_t* mem_pool,
3053 void* shared_handle,
3054 hipMemAllocationHandleType handle_type,
3055 unsigned int flags);
3101 void** dev_ptr,
3102 hipMemPool_t mem_pool,
3103 hipMemPoolPtrExportData* export_data);
3104// Doxygen end of ordered memory allocator
3122DEPRECATED("use hipHostMalloc instead")
3123hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags);
3135hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags);
3145hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr);
3182hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags);
3210hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
3232hipError_t hipMemAllocPitch(hipDeviceptr_t* dptr, size_t* pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes);
3256DEPRECATED("use hipHostFree instead")
3301hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
3302// TODO: Add description
3303hipError_t hipMemcpyWithStream(void* dst, const void* src, size_t sizeBytes,
3304 hipMemcpyKind kind, hipStream_t stream);
3322hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void* src, size_t sizeBytes);
3340hipError_t hipMemcpyDtoH(void* dst, hipDeviceptr_t src, size_t sizeBytes);
3376hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void* src, size_t sizeBytes, hipStream_t stream);
3394hipError_t hipMemcpyDtoHAsync(void* dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
3413 hipStream_t stream);
3414
3430 hipModule_t hmod, const char* name);
3431
3441hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
3442
3452hipError_t hipGetSymbolSize(size_t* size, const void* symbol);
3453
3472hipError_t hipMemcpyToSymbol(const void* symbol, const void* src,
3473 size_t sizeBytes, size_t offset __dparm(0),
3475
3489hipError_t hipMemcpyToSymbolAsync(const void* symbol, const void* src,
3490 size_t sizeBytes, size_t offset,
3491 hipMemcpyKind kind, hipStream_t stream __dparm(0));
3492
3505hipError_t hipMemcpyFromSymbol(void* dst, const void* symbol,
3506 size_t sizeBytes, size_t offset __dparm(0),
3508
3522hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbol,
3523 size_t sizeBytes, size_t offset,
3524 hipMemcpyKind kind,
3525 hipStream_t stream __dparm(0));
3554hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind,
3555 hipStream_t stream __dparm(0));
3565hipError_t hipMemset(void* dst, int value, size_t sizeBytes);
3575hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count);
3591hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0));
3601hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count);
3617hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0));
3627hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count);
3643hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0));
3659hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count,
3660 hipStream_t stream __dparm(0));
3671hipError_t hipMemset2D(void* dst, size_t pitch, int value, size_t width, size_t height);
3683hipError_t hipMemset2DAsync(void* dst, size_t pitch, int value, size_t width, size_t height,hipStream_t stream __dparm(0));
3692hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent );
3702hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent ,hipStream_t stream __dparm(0));
3712hipError_t hipMemGetInfo(size_t* free, size_t* total);
3713hipError_t hipMemPtrGetInfo(void* ptr, size_t* size);
3726hipError_t hipMallocArray(hipArray** array, const hipChannelFormatDesc* desc, size_t width,
3727 size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault));
3728hipError_t hipArrayCreate(hipArray** pHandle, const HIP_ARRAY_DESCRIPTOR* pAllocateArray);
3748hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray);
3761 struct hipExtent extent, unsigned int flags);
3774 hipMipmappedArray_t *mipmappedArray,
3775 const struct hipChannelFormatDesc* desc,
3776 struct hipExtent extent,
3777 unsigned int numLevels,
3778 unsigned int flags __dparm(0));
3789 hipArray_t *levelArray,
3790 hipMipmappedArray_const_t mipmappedArray,
3791 unsigned int level);
3808hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
3809 size_t height, hipMemcpyKind kind);
3848hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
3849 size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
3867hipError_t hipMemcpy2DToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3868 size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
3887hipError_t hipMemcpy2DToArrayAsync(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3888 size_t spitch, size_t width, size_t height, hipMemcpyKind kind,
3889 hipStream_t stream __dparm(0));
3906hipError_t hipMemcpyToArray(hipArray* dst, size_t wOffset, size_t hOffset, const void* src,
3907 size_t count, hipMemcpyKind kind);
3924hipError_t hipMemcpyFromArray(void* dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset,
3925 size_t count, hipMemcpyKind kind);
3943hipError_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);
3962hipError_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));
3976hipError_t hipMemcpyAtoH(void* dst, hipArray* srcArray, size_t srcOffset, size_t count);
3990hipError_t hipMemcpyHtoA(hipArray* dstArray, size_t dstOffset, const void* srcHost, size_t count);
4037// doxygen end Memory
4065hipError_t hipDeviceCanAccessPeer(int* canAccessPeer, int deviceId, int peerDeviceId);
4082hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags);
4108#ifndef USE_PEER_NON_UNIFIED
4109#define USE_PEER_NON_UNIFIED 1
4110#endif
4111#if USE_PEER_NON_UNIFIED == 1
4123hipError_t hipMemcpyPeer(void* dst, int dstDeviceId, const void* src, int srcDeviceId,
4124 size_t sizeBytes);
4137hipError_t hipMemcpyPeerAsync(void* dst, int dstDeviceId, const void* src, int srcDevice,
4138 size_t sizeBytes, hipStream_t stream __dparm(0));
4139#endif
4140// doxygen end PeerToPeer
4171hipError_t hipCtxCreate(hipCtx_t* ctx, unsigned int flags, hipDevice_t device);
4347hipError_t hipCtxGetFlags(unsigned int* flags);
4368hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags);
4387// doxygen end Context deprecated
4403hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int* flags, int* active);
4452// doxygen end Context Management
4476hipError_t hipModuleLoad(hipModule_t* module, const char* fname);
4497hipError_t hipModuleGetFunction(hipFunction_t* function, hipModule_t module, const char* kname);
4506hipError_t hipFuncGetAttributes(struct hipFuncAttributes* attr, const void* func);
4536hipError_t hipModuleLoadData(hipModule_t* module, const void* image);
4549hipError_t hipModuleLoadDataEx(hipModule_t* module, const void* image, unsigned int numOptions,
4550 hipJitOption* options, void** optionValues);
4579hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY,
4580 unsigned int gridDimZ, unsigned int blockDimX,
4581 unsigned int blockDimY, unsigned int blockDimZ,
4582 unsigned int sharedMemBytes, hipStream_t stream,
4583 void** kernelParams, void** extra);
4602hipError_t hipLaunchCooperativeKernel(const void* f, dim3 gridDim, dim3 blockDimX,
4603 void** kernelParams, unsigned int sharedMemBytes,
4604 hipStream_t stream);
4616 int numDevices, unsigned int flags);
4629 int numDevices, unsigned int flags);
4630// doxygen end Module
4655//TODO - Match CUoccupancyB2DSize
4657 hipFunction_t f, size_t dynSharedMemPerBlk,
4658 int blockSizeLimit);
4674//TODO - Match CUoccupancyB2DSize
4676 hipFunction_t f, size_t dynSharedMemPerBlk,
4677 int blockSizeLimit, unsigned int flags);
4687 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk);
4698 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags);
4708 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk);
4719 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault));
4734hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
4735 const void* f, size_t dynSharedMemPerBlk,
4736 int blockSizeLimit);
4737// doxygen end Occupancy
4751// TODO - expand descriptions:
4757DEPRECATED("use roctracer/rocTX instead")
4764DEPRECATED("use roctracer/rocTX instead")
4766// doxygen end profiler
4793hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0));
4804hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
4813hipError_t hipLaunchByPtr(const void* func);
4831 dim3 blockDim,
4832 size_t sharedMem __dparm(0),
4833 hipStream_t stream __dparm(0));
4854 dim3 *blockDim,
4855 size_t *sharedMem,
4856 hipStream_t *stream);
4872hipError_t hipLaunchKernel(const void* function_address,
4873 dim3 numBlocks,
4874 dim3 dimBlocks,
4875 void** args,
4876 size_t sharedMemBytes __dparm(0),
4877 hipStream_t stream __dparm(0));
4886//TODO: Move this to hip_ext.h
4907hipError_t hipExtLaunchKernel(const void* function_address, dim3 numBlocks, dim3 dimBlocks,
4908 void** args, size_t sharedMemBytes, hipStream_t stream,
4909 hipEvent_t startEvent, hipEvent_t stopEvent, int flags);
4910// doxygen end Clang launch
4933 const textureReference* tex,
4934 hipMipmappedArray_const_t mipmappedArray,
4935 const hipChannelFormatDesc* desc);
4936
4949 hipTextureObject_t* pTexObject,
4950 const hipResourceDesc* pResDesc,
4951 const hipTextureDesc* pTexDesc,
4952 const struct hipResourceViewDesc* pResViewDesc);
4953
4963
4975 hipArray_const_t array);
4976
4987 hipResourceDesc* pResDesc,
4988 hipTextureObject_t textureObject);
4989
5000 struct hipResourceViewDesc* pResViewDesc,
5001 hipTextureObject_t textureObject);
5002
5013 hipTextureDesc* pTexDesc,
5014 hipTextureObject_t textureObject);
5015
5028 hipTextureObject_t* pTexObject,
5029 const HIP_RESOURCE_DESC* pResDesc,
5030 const HIP_TEXTURE_DESC* pTexDesc,
5031 const HIP_RESOURCE_VIEW_DESC* pResViewDesc);
5032
5042 hipTextureObject_t texObject);
5043
5054 HIP_RESOURCE_DESC* pResDesc,
5055 hipTextureObject_t texObject);
5056
5067 HIP_RESOURCE_VIEW_DESC* pResViewDesc,
5068 hipTextureObject_t texObject);
5069
5080 HIP_TEXTURE_DESC* pTexDesc,
5081 hipTextureObject_t texObject);
5082
5101 const textureReference** texref,
5102 const void* symbol);
5103
5106 textureReference* texRef,
5107 int dim,
5108 enum hipTextureAddressMode am);
5111 textureReference* tex,
5112 hipArray_const_t array,
5113 unsigned int flags);
5116 textureReference* texRef,
5117 enum hipTextureFilterMode fm);
5120 textureReference* texRef,
5121 unsigned int Flags);
5124 textureReference* texRef,
5125 hipArray_Format fmt,
5126 int NumPackedComponents);
5129 size_t* offset,
5130 const textureReference* tex,
5131 const void* devPtr,
5132 const hipChannelFormatDesc* desc,
5133 size_t size __dparm(UINT_MAX));
5136 size_t* offset,
5137 const textureReference* tex,
5138 const void* devPtr,
5139 const hipChannelFormatDesc* desc,
5140 size_t width,
5141 size_t height,
5142 size_t pitch);
5145 const textureReference* tex,
5146 hipArray_const_t array,
5147 const hipChannelFormatDesc* desc);
5150 size_t* offset,
5151 const textureReference* texref);
5156 hipDeviceptr_t* dev_ptr,
5157 const textureReference* texRef);
5160 enum hipTextureAddressMode* pam,
5161 const textureReference* texRef,
5162 int dim);
5165 enum hipTextureFilterMode* pfm,
5166 const textureReference* texRef);
5169 unsigned int* pFlags,
5170 const textureReference* texRef);
5173 hipArray_Format* pFormat,
5174 int* pNumChannels,
5175 const textureReference* texRef);
5178 int* pmaxAnsio,
5179 const textureReference* texRef);
5182 enum hipTextureFilterMode* pfm,
5183 const textureReference* texRef);
5186 float* pbias,
5187 const textureReference* texRef);
5190 float* pminMipmapLevelClamp,
5191 float* pmaxMipmapLevelClamp,
5192 const textureReference* texRef);
5195 hipMipmappedArray_t* pArray,
5196 const textureReference* texRef);
5199 size_t* ByteOffset,
5200 textureReference* texRef,
5201 hipDeviceptr_t dptr,
5202 size_t bytes);
5205 textureReference* texRef,
5206 const HIP_ARRAY_DESCRIPTOR* desc,
5207 hipDeviceptr_t dptr,
5208 size_t Pitch);
5211 textureReference* texRef,
5212 unsigned int maxAniso);
5215 textureReference* texRef,
5216 float* pBorderColor);
5219 textureReference* texRef,
5220 enum hipTextureFilterMode fm);
5223 textureReference* texRef,
5224 float bias);
5227 textureReference* texRef,
5228 float minMipMapLevelClamp,
5229 float maxMipMapLevelClamp);
5232 textureReference* texRef,
5233 struct hipMipmappedArray* mipmappedArray,
5234 unsigned int Flags);
5235
5236// doxygen end deprecated texture management
5241// The following are not supported.
5251 hipMipmappedArray_t* pHandle,
5252 HIP_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc,
5253 unsigned int numMipmapLevels);
5255 hipMipmappedArray_t hMipmappedArray);
5257 hipArray_t* pLevelArray,
5258 hipMipmappedArray_t hMipMappedArray,
5259 unsigned int level);
5260// doxygen end unsuppported texture management
5265// doxygen end Texture management
5277// This group is for HIPrtc
5278
5279// doxygen end Runtime
5290const char* hipApiName(uint32_t id);
5291const char* hipKernelNameRef(const hipFunction_t f);
5292const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream);
5294
5295// doxygen end Callback
5321
5335
5350 unsigned long long* pId);
5351
5369 unsigned long long* id_out __dparm(0),
5370 hipGraph_t* graph_out __dparm(0),
5371 const hipGraphNode_t** dependencies_out __dparm(0),
5372 size_t* numDependencies_out __dparm(0));
5373
5387
5401 size_t numDependencies,
5402 unsigned int flags __dparm(0));
5403
5416
5428
5441hipError_t hipGraphCreate(hipGraph_t* pGraph, unsigned int flags);
5442
5455
5470 const hipGraphNode_t* to, size_t numDependencies);
5471
5486 const hipGraphNode_t* to, size_t numDependencies);
5487
5506 size_t* numEdges);
5507
5524hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t* nodes, size_t* numNodes);
5525
5543 size_t* pNumRootNodes);
5544
5562 size_t* pNumDependencies);
5563
5582 size_t* pNumDependentNodes);
5583
5596
5608
5620hipError_t hipGraphClone(hipGraph_t* pGraphClone, hipGraph_t originalGraph);
5621
5635 hipGraph_t clonedGraph);
5636
5654 hipGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
5655
5669 unsigned long long flags);
5670
5682
5694
5706
5707// Check whether an executable graph can be updated with a graph and perform the update if possible.
5722 hipGraphNode_t* hErrorNode_out,
5723 hipGraphExecUpdateResult* updateResult_out);
5724
5738 const hipGraphNode_t* pDependencies, size_t numDependencies,
5739 const hipKernelNodeParams* pNodeParams);
5740
5751
5762
5774 const hipKernelNodeParams* pNodeParams);
5775
5789 const hipGraphNode_t* pDependencies, size_t numDependencies,
5790 const hipMemcpy3DParms* pCopyParams);
5801
5812
5824 const hipKernelNodeAttrValue* value);
5836 hipKernelNodeAttrValue* value);
5848 hipMemcpy3DParms* pNodeParams);
5849
5866 const hipGraphNode_t* pDependencies, size_t numDependencies,
5867 void* dst, const void* src, size_t count, hipMemcpyKind kind);
5868
5882 size_t count, hipMemcpyKind kind);
5883
5899 void* dst, const void* src, size_t count,
5900 hipMemcpyKind kind);
5901
5919 const hipGraphNode_t* pDependencies,
5920 size_t numDependencies, void* dst, const void* symbol,
5921 size_t count, size_t offset, hipMemcpyKind kind);
5922
5937 size_t count, size_t offset, hipMemcpyKind kind);
5938
5955 void* dst, const void* symbol, size_t count,
5956 size_t offset, hipMemcpyKind kind);
5957
5975 const hipGraphNode_t* pDependencies,
5976 size_t numDependencies, const void* symbol,
5977 const void* src, size_t count, size_t offset,
5978 hipMemcpyKind kind);
5979
5994 const void* src, size_t count, size_t offset,
5995 hipMemcpyKind kind);
5996
5997
6013 const void* symbol, const void* src,
6014 size_t count, size_t offset, hipMemcpyKind kind);
6015
6029 const hipGraphNode_t* pDependencies, size_t numDependencies,
6030 const hipMemsetParams* pMemsetParams);
6031
6042
6053
6065 const hipMemsetParams* pNodeParams);
6066
6080 const hipGraphNode_t* pDependencies, size_t numDependencies,
6081 const hipHostNodeParams* pNodeParams);
6082
6093
6104
6116 const hipHostNodeParams* pNodeParams);
6117
6131 const hipGraphNode_t* pDependencies, size_t numDependencies,
6132 hipGraph_t childGraph);
6133
6144
6156 hipGraph_t childGraph);
6157
6170 const hipGraphNode_t* pDependencies, size_t numDependencies);
6171
6172
6186 const hipGraphNode_t* pDependencies, size_t numDependencies,
6187 hipEvent_t event);
6188
6199
6210
6222 hipEvent_t event);
6223
6237 const hipGraphNode_t* pDependencies, size_t numDependencies,
6238 hipEvent_t event);
6239
6240
6251
6262
6274 hipEvent_t event);
6275
6287
6299
6308
6321hipError_t hipUserObjectCreate(hipUserObject_t* object_out, void* ptr, hipHostFn_t destroy, unsigned int initialRefcount, unsigned int flags);
6322
6333
6344
6356hipError_t hipGraphRetainUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count, unsigned int flags);
6357
6369// doxygen end graph API
6389
6393typedef struct ihipMemGenericAllocationHandle* hipMemGenericAllocationHandle_t;
6394
6404
6413
6423
6433
6437typedef struct hipArrayMapInfo {
6439 union {
6441 hipArray_t array;
6444 union {
6445 struct {
6446 unsigned int level;
6447 unsigned int layer;
6448 unsigned int offsetX;
6449 unsigned int offsetY;
6450 unsigned int offsetZ;
6451 unsigned int extentWidth;
6452 unsigned int extentHeight;
6453 unsigned int extentDepth;
6455 struct {
6456 unsigned int layer;
6457 unsigned long long offset;
6458 unsigned long long size;
6463 union {
6466 unsigned long long offset;
6467 unsigned int deviceBitMask;
6468 unsigned int flags;
6469 unsigned int reserved[2];
6471
6489hipError_t hipMemAddressFree(void* devPtr, size_t size);
6490
6503hipError_t hipMemAddressReserve(void** ptr, size_t size, size_t alignment, void* addr, unsigned long long flags);
6504
6516hipError_t hipMemCreate(hipMemGenericAllocationHandle_t* handle, size_t size, const hipMemAllocationProp* prop, unsigned long long flags);
6517
6529hipError_t hipMemExportToShareableHandle(void* shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags);
6530
6541hipError_t hipMemGetAccess(unsigned long long* flags, const hipMemLocation* location, void* ptr);
6542
6554
6565
6577
6590hipError_t hipMemMap(void* ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags);
6591
6602hipError_t hipMemMapArrayAsync(hipArrayMapInfo* mapInfoList, unsigned int count, hipStream_t stream);
6603
6613
6624
6636hipError_t hipMemSetAccess(void* ptr, size_t size, const hipMemAccessDesc* desc, size_t count);
6637
6647hipError_t hipMemUnmap(void* ptr, size_t size);
6648
6649// doxygen end virtual memory management API
6661typedef unsigned int GLuint;
6662typedef unsigned int GLenum;
6663
6664// Queries devices associated with GL Context.
6665hipError_t hipGLGetDevices(unsigned int* pHipDeviceCount, int* pHipDevices,
6666 unsigned int hipDeviceCount, hipGLDeviceList deviceList);
6667// Registers a GL Buffer for interop and returns corresponding graphics resource.
6669 unsigned int flags);
6670// Register a GL Image for interop and returns the corresponding graphic resource
6672 GLenum target, unsigned int flags);
6673// Maps a graphics resource for hip access.
6675 hipStream_t stream __dparm(0) );
6676// Get an array through which to access a subresource of a mapped graphics resource.
6678 unsigned int arrayIndex, unsigned int mipLevel);
6679// Gets device accessible address of a graphics resource.
6681 hipGraphicsResource_t resource);
6682// Unmaps a graphics resource for hip access.
6684 hipStream_t stream __dparm(0));
6685// Unregisters a graphics resource.
6687// doxygen end GL Interop
6693#ifdef __cplusplus
6694} /* extern "c" */
6695#endif
6696#ifdef __cplusplus
6697#if defined(__clang__) && defined(__HIP__)
6698template <typename T>
6699static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
6700 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0) {
6701 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
6702}
6703template <typename T>
6704static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
6705 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0, unsigned int flags = 0 ) {
6706 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
6707}
6708#endif // defined(__clang__) && defined(__HIP__)
6709template <typename T>
6710hipError_t hipGetSymbolAddress(void** devPtr, const T &symbol) {
6711 return ::hipGetSymbolAddress(devPtr, (const void *)&symbol);
6712}
6713template <typename T>
6714hipError_t hipGetSymbolSize(size_t* size, const T &symbol) {
6715 return ::hipGetSymbolSize(size, (const void *)&symbol);
6716}
6717template <typename T>
6718hipError_t hipMemcpyToSymbol(const T& symbol, const void* src, size_t sizeBytes,
6719 size_t offset __dparm(0),
6721 return ::hipMemcpyToSymbol((const void*)&symbol, src, sizeBytes, offset, kind);
6722}
6723template <typename T>
6724hipError_t hipMemcpyToSymbolAsync(const T& symbol, const void* src, size_t sizeBytes, size_t offset,
6725 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
6726 return ::hipMemcpyToSymbolAsync((const void*)&symbol, src, sizeBytes, offset, kind, stream);
6727}
6728template <typename T>
6729hipError_t hipMemcpyFromSymbol(void* dst, const T &symbol,
6730 size_t sizeBytes, size_t offset __dparm(0),
6732 return ::hipMemcpyFromSymbol(dst, (const void*)&symbol, sizeBytes, offset, kind);
6733}
6734template <typename T>
6735hipError_t hipMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t sizeBytes, size_t offset,
6736 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
6737 return ::hipMemcpyFromSymbolAsync(dst, (const void*)&symbol, sizeBytes, offset, kind, stream);
6738}
6739template <class T>
6741 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk) {
6743 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk);
6744}
6745template <class T>
6747 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags) {
6749 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk, flags);
6750}
6751template <typename F>
6752inline hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
6753 F kernel, size_t dynSharedMemPerBlk, uint32_t blockSizeLimit) {
6754return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize,(hipFunction_t)kernel, dynSharedMemPerBlk, blockSizeLimit);
6755}
6756template <class T>
6757inline hipError_t hipLaunchCooperativeKernel(T f, dim3 gridDim, dim3 blockDim,
6758 void** kernelParams, unsigned int sharedMemBytes, hipStream_t stream) {
6759 return hipLaunchCooperativeKernel(reinterpret_cast<const void*>(f), gridDim,
6760 blockDim, kernelParams, sharedMemBytes, stream);
6761}
6762template <class T>
6764 unsigned int numDevices, unsigned int flags = 0) {
6765 return hipLaunchCooperativeKernelMultiDevice(launchParamsList, numDevices, flags);
6766}
6767template <class T>
6769 unsigned int numDevices, unsigned int flags = 0) {
6770 return hipExtLaunchMultiKernelMultiDevice(launchParamsList, numDevices, flags);
6771}
6772hipError_t hipCreateSurfaceObject(hipSurfaceObject_t* pSurfObject, const hipResourceDesc* pResDesc);
6773hipError_t hipDestroySurfaceObject(hipSurfaceObject_t surfaceObject);
6774template <class T, int dim, enum hipTextureReadMode readMode>
6776static inline hipError_t hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex,
6777 const void* devPtr, size_t size = UINT_MAX) {
6778 return hipBindTexture(offset, &tex, devPtr, &tex.channelDesc, size);
6779}
6780template <class T, int dim, enum hipTextureReadMode readMode>
6782static inline hipError_t
6783 hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex, const void* devPtr,
6784 const struct hipChannelFormatDesc& desc, size_t size = UINT_MAX) {
6785 return hipBindTexture(offset, &tex, devPtr, &desc, size);
6786}
6787template<class T, int dim, enum hipTextureReadMode readMode>
6789static inline hipError_t hipBindTexture2D(
6790 size_t *offset,
6791 const struct texture<T, dim, readMode> &tex,
6792 const void *devPtr,
6793 size_t width,
6794 size_t height,
6795 size_t pitch)
6796{
6797 return hipBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch);
6798}
6799template<class T, int dim, enum hipTextureReadMode readMode>
6801static inline hipError_t hipBindTexture2D(
6802 size_t *offset,
6803 const struct texture<T, dim, readMode> &tex,
6804 const void *devPtr,
6805 const struct hipChannelFormatDesc &desc,
6806 size_t width,
6807 size_t height,
6808 size_t pitch)
6809{
6810 return hipBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch);
6811}
6812template<class T, int dim, enum hipTextureReadMode readMode>
6814static inline hipError_t hipBindTextureToArray(
6815 const struct texture<T, dim, readMode> &tex,
6816 hipArray_const_t array)
6817{
6818 struct hipChannelFormatDesc desc;
6819 hipError_t err = hipGetChannelDesc(&desc, array);
6820 return (err == hipSuccess) ? hipBindTextureToArray(&tex, array, &desc) : err;
6821}
6822template<class T, int dim, enum hipTextureReadMode readMode>
6824static inline hipError_t hipBindTextureToArray(
6825 const struct texture<T, dim, readMode> &tex,
6826 hipArray_const_t array,
6827 const struct hipChannelFormatDesc &desc)
6828{
6829 return hipBindTextureToArray(&tex, array, &desc);
6830}
6831template<class T, int dim, enum hipTextureReadMode readMode>
6833 const struct texture<T, dim, readMode> &tex,
6834 hipMipmappedArray_const_t mipmappedArray)
6835{
6836 struct hipChannelFormatDesc desc;
6837 hipArray_t levelArray;
6838 hipError_t err = hipGetMipmappedArrayLevel(&levelArray, mipmappedArray, 0);
6839 if (err != hipSuccess) {
6840 return err;
6841 }
6842 err = hipGetChannelDesc(&desc, levelArray);
6843 return (err == hipSuccess) ? hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc) : err;
6844}
6845template<class T, int dim, enum hipTextureReadMode readMode>
6847 const struct texture<T, dim, readMode> &tex,
6848 hipMipmappedArray_const_t mipmappedArray,
6849 const struct hipChannelFormatDesc &desc)
6850{
6851 return hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc);
6852}
6853template<class T, int dim, enum hipTextureReadMode readMode>
6855static inline hipError_t hipUnbindTexture(
6856 const struct texture<T, dim, readMode> &tex)
6857{
6858 return hipUnbindTexture(&tex);
6859}
6867static inline hipError_t hipMallocAsync(
6868 void** dev_ptr,
6869 size_t size,
6870 hipMemPool_t mem_pool,
6871 hipStream_t stream) {
6872 return hipMallocFromPoolAsync(dev_ptr, size, mem_pool, stream);
6873}
6874
6875template<class T>
6876static inline hipError_t hipMallocAsync(
6877 T** dev_ptr,
6878 size_t size,
6879 hipMemPool_t mem_pool,
6880 hipStream_t stream) {
6881 return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
6882}
6883
6884template<class T>
6885static inline hipError_t hipMallocAsync(
6886 T** dev_ptr,
6887 size_t size,
6888 hipStream_t stream) {
6889 return hipMallocAsync(reinterpret_cast<void**>(dev_ptr), size, stream);
6890}
6891
6892template<class T>
6894 T** dev_ptr,
6895 size_t size,
6896 hipMemPool_t mem_pool,
6897 hipStream_t stream) {
6898 return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
6899}
6900#endif // __cplusplus
6901
6902#ifdef __GNUC__
6903#pragma GCC visibility pop
6904#endif
6905// doxygen end HIP API
6910#elif !(defined(__HIP_PLATFORM_HCC__) || defined(__HIP_PLATFORM_AMD__)) && (defined(__HIP_PLATFORM_NVCC__) || defined(__HIP_PLATFORM_NVIDIA__))
6911#include "hip/nvidia_detail/nvidia_hip_runtime_api.h"
6912#else
6913#error("Must define exactly one of __HIP_PLATFORM_AMD__ or __HIP_PLATFORM_NVIDIA__");
6914#endif
6915
6916
6928#if defined(__cplusplus) && !defined(__HIP_DISABLE_CPP_FUNCTIONS__)
6929template <class T>
6930static inline hipError_t hipMalloc(T** devPtr, size_t size) {
6931 return hipMalloc((void**)devPtr, size);
6932}
6933
6934// Provide an override to automatically typecast the pointer type from void**, and also provide a
6935// default for the flags.
6936template <class T>
6937static inline hipError_t hipHostMalloc(T** ptr, size_t size,
6938 unsigned int flags = hipHostMallocDefault) {
6939 return hipHostMalloc((void**)ptr, size, flags);
6940}
6941
6942template <class T>
6943static inline hipError_t hipMallocManaged(T** devPtr, size_t size,
6944 unsigned int flags = hipMemAttachGlobal) {
6945 return hipMallocManaged((void**)devPtr, size, flags);
6946}
6947
6948#endif
6949#endif
6950
6951#include <hip/amd_detail/amd_hip_runtime_pt_api.h>
6952
6953#if USE_PROF_API
6954#include <hip/amd_detail/hip_prof_str.h>
6955#endif
hipMemcpyKind
Definition driver_types.h:344
@ hipMemcpyDeviceToHost
Device-to-Host Copy.
Definition driver_types.h:347
@ hipMemcpyHostToDevice
Host-to-Device Copy.
Definition driver_types.h:346
hipPointer_attribute
Definition driver_types.h:441
void * hipDeviceptr_t
Definition driver_types.h:40
hipFunction_attribute
Definition driver_types.h:427
hipArray_Format
Definition driver_types.h:58
hipResourceType
Definition driver_types.h:134
hipMemHandleType
Definition hip_runtime_api.h:6410
hipMemOperationType
Definition hip_runtime_api.h:6419
hipMemAllocationGranularity_flags
Definition hip_runtime_api.h:6400
struct ihipMemGenericAllocationHandle * hipMemGenericAllocationHandle_t
Definition hip_runtime_api.h:6393
hipArraySparseSubresourceType
Definition hip_runtime_api.h:6429
@ hipMemHandleTypeGeneric
Generic handle type.
Definition hip_runtime_api.h:6411
@ hipMemOperationTypeMap
Map operation.
Definition hip_runtime_api.h:6420
@ hipMemOperationTypeUnmap
Unmap operation.
Definition hip_runtime_api.h:6421
@ hipMemAllocationGranularityMinimum
Minimum granularity.
Definition hip_runtime_api.h:6401
@ hipMemAllocationGranularityRecommended
Recommended granularity for performance.
Definition hip_runtime_api.h:6402
@ hipArraySparseSubresourceTypeSparseLevel
Sparse level.
Definition hip_runtime_api.h:6430
@ hipArraySparseSubresourceTypeMiptail
Miptail.
Definition hip_runtime_api.h:6431
const char * hipApiName(uint32_t id)
const char * hipKernelNameRef(const hipFunction_t f)
const char * hipKernelNameRefByPtr(const void *hostFunction, hipStream_t stream)
int hipGetStreamDeviceId(hipStream_t stream)
hipError_t hipSetupArgument(const void *arg, size_t size, size_t offset)
Set a kernel argument.
hipError_t __hipPopCallConfiguration(dim3 *gridDim, dim3 *blockDim, size_t *sharedMem, hipStream_t *stream)
Pop configuration of a kernel launch.
hipError_t __hipPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Push configuration of a kernel launch.
hipError_t hipExtLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes, hipStream_t stream, hipEvent_t startEvent, hipEvent_t stopEvent, int flags)
Launches kernel from the pointer address, with arguments and shared memory on stream.
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Configure a kernel launch.
hipError_t hipLaunchByPtr(const void *func)
Launch a kernel.
hipError_t hipLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes __dparm(0), hipStream_t stream __dparm(0))
C compliant kernel launch API.
hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D *pCopy)
hipError_t hipCtxGetFlags(unsigned int *flags)
Return flags used for creating default context.
hipError_t hipCtxPopCurrent(hipCtx_t *ctx)
Pop the current/default context and return the popped context.
hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration.
hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
Get the handle of the current/ default context.
hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipError_t hipCtxSetCurrent(hipCtx_t ctx)
Set the passed context as current/default.
hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
Enables direct access to memory allocations in a peer context.
hipError_t hipCtxGetDevice(hipDevice_t *device)
Get the handle of the device associated with current/default context.
hipError_t hipCtxDestroy(hipCtx_t ctx)
Destroy a HIP context.
hipError_t hipCtxPushCurrent(hipCtx_t ctx)
Push the context to be set as current/ default context.
hipError_t hipCtxGetCacheConfig(hipFuncCache_t *cacheConfig)
Set Cache configuration for a specific function.
hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
Create a context and set it as current/ default context.
hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion)
Returns the approximate HIP api version.
hipError_t hipCtxSynchronize(void)
Blocks until the default context has completed all preceding requested tasks.
hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config)
Set Shared memory bank configuration.
hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx)
Disable direct access from current context's virtual address space to memory allocations physically l...
hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags)
Set flags for the primary context.
hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int *flags, int *active)
Get the state of the primary context.
hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev)
Release the primary context on the GPU.
hipError_t hipDevicePrimaryCtxRetain(hipCtx_t *pctx, hipDevice_t dev)
Retain the primary context on the GPU.
hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev)
Resets the primary context on the GPU.
hipError_t hipGetDeviceFlags(unsigned int *flags)
Gets the flags set for current device.
hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t *handle, hipEvent_t event)
Gets an opaque interprocess handle for an event.
hipError_t hipDeviceGetDefaultMemPool(hipMemPool_t *mem_pool, int device)
Returns the default memory pool of the specified device.
hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
Returns bank width of shared memory for current device.
hipError_t hipDeviceSetMemPool(int device, hipMemPool_t mem_pool)
Sets the current memory pool of a device.
hipError_t hipIpcOpenMemHandle(void **devPtr, hipIpcMemHandle_t handle, unsigned int flags)
Opens an interprocess memory handle exported from another process and returns a device pointer usable...
hipError_t hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId)
Returns device properties.
hipError_t hipDeviceGetCacheConfig(hipFuncCache_t *cacheConfig)
Get Cache configuration for a specific Device.
hipError_t hipSetDevice(int deviceId)
Set default device to be used for subsequent hip API calls from this thread.
hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t *linktype, uint32_t *hopcount)
Returns the link type and hop count between two devices.
hipError_t hipSetDeviceFlags(unsigned flags)
The current device behavior is changed according the flags passed.
hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId)
Query for a specific device attribute.
hipError_t hipGetDevice(int *deviceId)
Return the default device id for the calling host thread.
hipError_t hipGetDeviceCount(int *count)
Return number of compute-capable devices.
hipError_t hipDeviceGetMemPool(hipMemPool_t *mem_pool, int device)
Gets the current memory pool for the specified device.
hipError_t hipDeviceReset(void)
The state of current device is discarded and updated to a fresh state.
hipError_t hipDeviceGetLimit(size_t *pValue, enum hipLimit_t limit)
Get Resource limits of current device.
hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
The bank width of shared memory on current device is set.
hipError_t hipDeviceSetLimit(enum hipLimit_t limit, size_t value)
Set Resource limits of current device.
hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipError_t hipIpcCloseMemHandle(void *devPtr)
Close memory mapped with hipIpcOpenMemHandle.
hipError_t hipIpcOpenEventHandle(hipEvent_t *event, hipIpcEventHandle_t handle)
Opens an interprocess event handles.
hipError_t hipDeviceSynchronize(void)
Waits on all active streams on current device.
hipError_t hipChooseDevice(int *device, const hipDeviceProp_t *prop)
Device which matches hipDeviceProp_t is returned.
hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t *handle, void *devPtr)
Gets an interprocess memory handle for an existing device memory allocation.
hipError_t hipInit(unsigned int flags)
Explicitly initializes the HIP runtime.
hipError_t hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device)
Returns the compute capability of the device.
hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device)
Returns an identifer string for the device.
hipError_t hipDeviceGetByPCIBusId(int *device, const char *pciBusId)
Returns a handle to a compute device.
hipError_t hipDeviceGetUuid(hipUUID *uuid, hipDevice_t device)
Returns an UUID for the device.[BETA].
hipError_t hipDeviceTotalMem(size_t *bytes, hipDevice_t device)
Returns the total amount of memory on the device.
hipError_t hipDeviceGetPCIBusId(char *pciBusId, int len, int device)
Returns a PCI Bus Id string for the device, overloaded to take int device ID.
hipError_t hipDeviceGet(hipDevice_t *device, int ordinal)
Returns a handle to a compute device.
hipError_t hipRuntimeGetVersion(int *runtimeVersion)
Returns the approximate HIP Runtime version.
hipError_t hipDeviceGetP2PAttribute(int *value, hipDeviceP2PAttr attr, int srcDevice, int dstDevice)
Returns a value for attr of link between two devices.
hipError_t hipDriverGetVersion(int *driverVersion)
Returns the approximate HIP driver version.
const char * hipGetErrorString(hipError_t hipError)
Return handy text string message to explain the error which occurred.
hipError_t hipPeekAtLastError(void)
Return last error returned by any HIP runtime API call.
hipError_t hipGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
const char * hipGetErrorName(hipError_t hip_error)
Return name of the specified error code in text form.
hipError_t hipEventSynchronize(hipEvent_t event)
Wait for an event to complete.
hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream)
Record an event in the specified stream.
hipError_t hipEventQuery(hipEvent_t event)
Query event status.
hipError_t hipEventCreate(hipEvent_t *event)
hipError_t hipEventDestroy(hipEvent_t event)
Destroy the specified event.
hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
Return the elapsed time between two events.
hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
Create an event with the specified flags.
hipError_t hipFuncSetSharedMemConfig(const void *func, hipSharedMemConfig config)
Set shared memory configuation for a specific function.
hipError_t hipFuncSetAttribute(const void *func, hipFuncAttribute attr, int value)
Set attribute for a specific function.
hipError_t hipFuncSetCacheConfig(const void *func, hipFuncCache_t config)
Set Cache configuration for a specific function.
hipError_t hipGLGetDevices(unsigned int *pHipDeviceCount, int *pHipDevices, unsigned int hipDeviceCount, hipGLDeviceList deviceList)
hipError_t hipGraphicsGLRegisterImage(hipGraphicsResource **resource, GLuint image, GLenum target, unsigned int flags)
hipError_t hipGraphicsUnregisterResource(hipGraphicsResource_t resource)
hipError_t hipGraphicsGLRegisterBuffer(hipGraphicsResource **resource, GLuint buffer, unsigned int flags)
hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream __dparm(0))
unsigned int GLenum
Definition hip_runtime_api.h:6662
hipError_t hipGraphicsSubResourceGetMappedArray(hipArray_t *array, hipGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel)
unsigned int GLuint
Definition hip_runtime_api.h:6661
hipError_t hipGraphicsUnmapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream __dparm(0))
hipError_t hipGraphicsResourceGetMappedPointer(void **devPtr, size_t *size, hipGraphicsResource_t resource)
hipMemAllocationHandleType
Definition hip_runtime_api.h:852
hipGraphicsResource * hipGraphicsResource_t
Definition hip_runtime_api.h:1065
hipGLDeviceList
Definition hip_runtime_api.h:1040
hipAccessProperty
Definition hip_runtime_api.h:1138
hipMemRangeAttribute
Definition hip_runtime_api.h:726
#define hipMemAttachSingle
Definition hip_runtime_api.h:621
hipMemoryAdvise
Definition hip_runtime_api.h:689
#define hipArrayDefault
Definition hip_runtime_api.h:663
hipSharedMemConfig
Definition hip_runtime_api.h:923
hipComputeMode
Definition hip_runtime_api.h:462
hipStreamCaptureMode
Definition hip_runtime_api.h:1175
hipGraphNodeType
Definition hip_runtime_api.h:1091
hipExternalMemoryHandleType
Definition hip_runtime_api.h:950
#define hipMemAttachGlobal
Definition hip_runtime_api.h:615
hipFuncAttribute
Definition hip_runtime_api.h:906
hipExternalSemaphoreHandleType
Definition hip_runtime_api.h:977
hipJitOption
Definition hip_runtime_api.h:883
hipUserObjectRetainFlags
Definition hip_runtime_api.h:1202
enum __HIP_NODISCARD hipError_t hipError_t
Definition hip_runtime_api.h:206
void(* hipHostFn_t)(void *userData)
Definition hip_runtime_api.h:1107
#define hipOccupancyDefault
Definition hip_runtime_api.h:668
hipStreamUpdateCaptureDependenciesFlags
Definition hip_runtime_api.h:1187
struct ihipGraph * hipGraph_t
Definition hip_runtime_api.h:1070
hipFuncCache_t
Definition hip_runtime_api.h:914
hipUserObjectFlags
Definition hip_runtime_api.h:1198
#define __HIP_NODISCARD
Definition hip_runtime_api.h:195
hipGraphMemAttributeType
Definition hip_runtime_api.h:1192
hipMemPoolAttr
Definition hip_runtime_api.h:744
struct hipUserObject * hipUserObject_t
Definition hip_runtime_api.h:1083
void * hipExternalSemaphore_t
Definition hip_runtime_api.h:994
hipGraphicsRegisterFlags
Definition hip_runtime_api.h:1053
hipMemRangeCoherencyMode
Definition hip_runtime_api.h:712
hipMemAccessFlags
Definition hip_runtime_api.h:822
struct hipGraphExec * hipGraphExec_t
Definition hip_runtime_api.h:1078
hipGraphExecUpdateResult
Definition hip_runtime_api.h:1160
void * hipExternalMemory_t
Definition hip_runtime_api.h:976
hipStreamCaptureStatus
Definition hip_runtime_api.h:1180
hipDeviceAttribute_t
Definition hip_runtime_api.h:329
#define hipHostMallocDefault
Definition hip_runtime_api.h:591
struct _hipGraphicsResource hipGraphicsResource
Definition hip_runtime_api.h:1063
hipMemAllocationType
Definition hip_runtime_api.h:839
struct hipGraphNode * hipGraphNode_t
Definition hip_runtime_api.h:1074
hipGraphInstantiateFlags
Definition hip_runtime_api.h:1206
hipKernelNodeAttrID
Definition hip_runtime_api.h:1134
hipMemLocationType
Definition hip_runtime_api.h:804
@ hipMemHandleTypeWin32
Allows a Win32 NT handle for exporting. (HANDLE)
Definition hip_runtime_api.h:855
@ hipMemHandleTypeWin32Kmt
Allows a Win32 KMT handle for exporting. (D3DKMT_HANDLE)
Definition hip_runtime_api.h:856
@ hipMemHandleTypeNone
Does not allow any export mechanism.
Definition hip_runtime_api.h:853
@ hipMemHandleTypePosixFileDescriptor
Allows a file descriptor for exporting. Permitted only on POSIX systems.
Definition hip_runtime_api.h:854
@ hipGLDeviceListNextFrame
frame.
Definition hip_runtime_api.h:1044
@ hipGLDeviceListAll
All hip devices used by current OpenGL context.
Definition hip_runtime_api.h:1041
@ hipGLDeviceListCurrentFrame
frame
Definition hip_runtime_api.h:1042
@ hipAccessPropertyNormal
Definition hip_runtime_api.h:1139
@ hipAccessPropertyPersisting
Definition hip_runtime_api.h:1141
@ hipAccessPropertyStreaming
Definition hip_runtime_api.h:1140
@ hipMemRangeAttributeLastPrefetchLocation
prefetched
Definition hip_runtime_api.h:732
@ hipMemRangeAttributePreferredLocation
The preferred location of the range.
Definition hip_runtime_api.h:729
@ hipMemRangeAttributeAccessedBy
Definition hip_runtime_api.h:730
@ hipMemRangeAttributeReadMostly
Definition hip_runtime_api.h:727
@ hipMemRangeAttributeCoherencyMode
Definition hip_runtime_api.h:734
@ hipMemAdviseUnsetAccessedBy
Definition hip_runtime_api.h:698
@ hipMemAdviseUnsetCoarseGrain
Restores cache coherency policy back to fine-grain.
Definition hip_runtime_api.h:705
@ hipMemAdviseSetCoarseGrain
Definition hip_runtime_api.h:700
@ hipMemAdviseUnsetPreferredLocation
Clear the preferred location for the data.
Definition hip_runtime_api.h:695
@ hipMemAdviseSetAccessedBy
Definition hip_runtime_api.h:696
@ hipMemAdviseSetPreferredLocation
Definition hip_runtime_api.h:693
@ hipMemAdviseSetReadMostly
Definition hip_runtime_api.h:690
@ hipMemAdviseUnsetReadMostly
Undo the effect of hipMemAdviseSetReadMostly.
Definition hip_runtime_api.h:692
@ hipSharedMemBankSizeFourByte
Definition hip_runtime_api.h:925
@ hipSharedMemBankSizeEightByte
Definition hip_runtime_api.h:927
@ hipSharedMemBankSizeDefault
The compiler selects a device-specific value for the banking.
Definition hip_runtime_api.h:924
@ hipComputeModeProhibited
Definition hip_runtime_api.h:465
@ hipComputeModeExclusive
Definition hip_runtime_api.h:464
@ hipComputeModeDefault
Definition hip_runtime_api.h:463
@ hipComputeModeExclusiveProcess
Definition hip_runtime_api.h:466
@ hipStreamCaptureModeRelaxed
Definition hip_runtime_api.h:1178
@ hipStreamCaptureModeThreadLocal
Definition hip_runtime_api.h:1177
@ hipStreamCaptureModeGlobal
Definition hip_runtime_api.h:1176
@ hipGraphNodeTypeGraph
Node which executes an embedded graph.
Definition hip_runtime_api.h:1096
@ hipGraphNodeTypeMemset
Memset node.
Definition hip_runtime_api.h:1094
@ hipGraphNodeTypeEventRecord
External event record node.
Definition hip_runtime_api.h:1099
@ hipGraphNodeTypeExtSemaphoreSignal
External Semaphore signal node.
Definition hip_runtime_api.h:1100
@ hipGraphNodeTypeMemcpy
Memcpy node.
Definition hip_runtime_api.h:1093
@ hipGraphNodeTypeWaitEvent
External event wait node.
Definition hip_runtime_api.h:1098
@ hipGraphNodeTypeCount
Definition hip_runtime_api.h:1104
@ hipGraphNodeTypeKernel
GPU kernel node.
Definition hip_runtime_api.h:1092
@ hipGraphNodeTypeHost
Host (executable) node.
Definition hip_runtime_api.h:1095
@ hipGraphNodeTypeMemcpyFromSymbol
MemcpyFromSymbol node.
Definition hip_runtime_api.h:1102
@ hipGraphNodeTypeMemcpyToSymbol
MemcpyToSymbol node.
Definition hip_runtime_api.h:1103
@ hipGraphNodeTypeEmpty
Empty (no-op) node.
Definition hip_runtime_api.h:1097
@ hipGraphNodeTypeExtSemaphoreWait
External Semaphore wait node.
Definition hip_runtime_api.h:1101
@ hipExternalMemoryHandleTypeD3D11Resource
Definition hip_runtime_api.h:956
@ hipExternalMemoryHandleTypeD3D12Resource
Definition hip_runtime_api.h:955
@ hipExternalMemoryHandleTypeOpaqueFd
Definition hip_runtime_api.h:951
@ hipExternalMemoryHandleTypeD3D12Heap
Definition hip_runtime_api.h:954
@ hipExternalMemoryHandleTypeOpaqueWin32Kmt
Definition hip_runtime_api.h:953
@ hipExternalMemoryHandleTypeOpaqueWin32
Definition hip_runtime_api.h:952
@ hipExternalMemoryHandleTypeD3D11ResourceKmt
Definition hip_runtime_api.h:957
@ hipFuncAttributePreferredSharedMemoryCarveout
Definition hip_runtime_api.h:908
@ hipFuncAttributeMaxDynamicSharedMemorySize
Definition hip_runtime_api.h:907
@ hipFuncAttributeMax
Definition hip_runtime_api.h:909
@ hipExternalSemaphoreHandleTypeOpaqueWin32Kmt
Definition hip_runtime_api.h:980
@ hipExternalSemaphoreHandleTypeOpaqueFd
Definition hip_runtime_api.h:978
@ hipExternalSemaphoreHandleTypeOpaqueWin32
Definition hip_runtime_api.h:979
@ hipExternalSemaphoreHandleTypeD3D12Fence
Definition hip_runtime_api.h:981
@ hipJitOptionCacheMode
Definition hip_runtime_api.h:898
@ hipJitOptionFastCompile
Definition hip_runtime_api.h:900
@ hipJitOptionInfoLogBuffer
Definition hip_runtime_api.h:887
@ hipJitOptionErrorLogBuffer
Definition hip_runtime_api.h:889
@ hipJitOptionTarget
Definition hip_runtime_api.h:893
@ hipJitOptionThreadsPerBlock
Definition hip_runtime_api.h:885
@ hipJitOptionNumOptions
Definition hip_runtime_api.h:901
@ hipJitOptionGenerateLineInfo
Definition hip_runtime_api.h:897
@ hipJitOptionOptimizationLevel
Definition hip_runtime_api.h:891
@ hipJitOptionErrorLogBufferSizeBytes
Definition hip_runtime_api.h:890
@ hipJitOptionWallTime
Definition hip_runtime_api.h:886
@ hipJitOptionInfoLogBufferSizeBytes
Definition hip_runtime_api.h:888
@ hipJitOptionTargetFromContext
Definition hip_runtime_api.h:892
@ hipJitOptionGenerateDebugInfo
Definition hip_runtime_api.h:895
@ hipJitOptionLogVerbose
Definition hip_runtime_api.h:896
@ hipJitOptionMaxRegisters
Definition hip_runtime_api.h:884
@ hipJitOptionSm3xOpt
Definition hip_runtime_api.h:899
@ hipJitOptionFallbackStrategy
Definition hip_runtime_api.h:894
@ hipGraphUserObjectMove
Add new reference or retain.
Definition hip_runtime_api.h:1203
@ hipStreamAddCaptureDependencies
Add new nodes to the dependency set.
Definition hip_runtime_api.h:1188
@ hipStreamSetCaptureDependencies
Replace the dependency set with the new nodes.
Definition hip_runtime_api.h:1189
@ hipFuncCachePreferNone
no preference for shared memory or L1 (default)
Definition hip_runtime_api.h:915
@ hipFuncCachePreferEqual
prefer equal size L1 cache and shared memory
Definition hip_runtime_api.h:918
@ hipFuncCachePreferL1
prefer larger L1 cache and smaller shared memory
Definition hip_runtime_api.h:917
@ hipFuncCachePreferShared
prefer larger shared memory and smaller L1 cache
Definition hip_runtime_api.h:916
@ hipUserObjectNoDestructorSync
Destructor execution is not synchronized.
Definition hip_runtime_api.h:1199
@ hipGraphMemAttrReservedMemHigh
High watermark of memory, in bytes, currently allocated for graphs.
Definition hip_runtime_api.h:1196
@ hipGraphMemAttrUsedMemCurrent
Amount of memory, in bytes, currently associated with graphs.
Definition hip_runtime_api.h:1193
@ hipGraphMemAttrUsedMemHigh
High watermark of memory, in bytes, associated with graphs since the last time.
Definition hip_runtime_api.h:1194
@ hipGraphMemAttrReservedMemCurrent
Amount of memory, in bytes, currently allocated for graphs.
Definition hip_runtime_api.h:1195
@ hipMemPoolAttrUsedMemCurrent
Definition hip_runtime_api.h:791
@ hipMemPoolAttrReservedMemHigh
Definition hip_runtime_api.h:786
@ hipMemPoolAttrReservedMemCurrent
Definition hip_runtime_api.h:780
@ hipMemPoolAttrReleaseThreshold
Definition hip_runtime_api.h:775
@ hipMemPoolAttrUsedMemHigh
Definition hip_runtime_api.h:797
@ hipMemPoolReuseAllowInternalDependencies
Definition hip_runtime_api.h:766
@ hipMemPoolReuseFollowEventDependencies
Definition hip_runtime_api.h:753
@ hipMemPoolReuseAllowOpportunistic
Definition hip_runtime_api.h:759
@ hipGraphicsRegisterFlagsReadOnly
HIP will not write to this registered resource.
Definition hip_runtime_api.h:1055
@ hipGraphicsRegisterFlagsTextureGather
HIP will perform texture gather operations on this registered resource.
Definition hip_runtime_api.h:1059
@ hipGraphicsRegisterFlagsWriteDiscard
HIP will only write and will not read from this registered resource.
Definition hip_runtime_api.h:1056
@ hipGraphicsRegisterFlagsNone
Definition hip_runtime_api.h:1054
@ hipGraphicsRegisterFlagsSurfaceLoadStore
HIP will bind this resource to a surface.
Definition hip_runtime_api.h:1058
@ hipMemRangeCoherencyModeFineGrain
Definition hip_runtime_api.h:713
@ hipMemRangeCoherencyModeIndeterminate
Definition hip_runtime_api.h:717
@ hipMemRangeCoherencyModeCoarseGrain
Definition hip_runtime_api.h:715
@ hipMemAccessFlagsProtRead
Set the address range read accessible.
Definition hip_runtime_api.h:824
@ hipMemAccessFlagsProtNone
Default, make the address range not accessible.
Definition hip_runtime_api.h:823
@ hipMemAccessFlagsProtReadWrite
Set the address range read-write accessible.
Definition hip_runtime_api.h:825
@ hipGraphExecUpdateErrorNotSupported
The update failed because something about the node is not supported.
Definition hip_runtime_api.h:1170
@ hipGraphExecUpdateErrorNodeTypeChanged
The update failed because a node type changed.
Definition hip_runtime_api.h:1165
@ hipGraphExecUpdateErrorTopologyChanged
The update failed because the topology changed.
Definition hip_runtime_api.h:1164
@ hipGraphExecUpdateErrorUnsupportedFunctionChange
Definition hip_runtime_api.h:1172
@ hipGraphExecUpdateError
Definition hip_runtime_api.h:1162
@ hipGraphExecUpdateErrorFunctionChanged
The update failed because the function of a kernel node changed.
Definition hip_runtime_api.h:1166
@ hipGraphExecUpdateSuccess
The update succeeded.
Definition hip_runtime_api.h:1161
@ hipGraphExecUpdateErrorParametersChanged
The update failed because the parameters changed in a way that is not supported.
Definition hip_runtime_api.h:1168
@ hipStreamCaptureStatusInvalidated
Definition hip_runtime_api.h:1183
@ hipStreamCaptureStatusNone
Stream is not capturing.
Definition hip_runtime_api.h:1181
@ hipStreamCaptureStatusActive
Stream is actively capturing.
Definition hip_runtime_api.h:1182
@ hipDeviceAttributeDirectManagedMemAccessFromHost
Definition hip_runtime_api.h:347
@ hipDeviceAttributeSurfaceAlignment
Cuda only. Alignment requirement for surfaces.
Definition hip_runtime_api.h:417
@ hipDeviceAttributeMaxGridDimX
Max grid size in width.
Definition hip_runtime_api.h:364
@ hipDeviceAttributeMaxSurfaceCubemapLayered
Cuda only. Maximum dimension of Cubemap layered surface.
Definition hip_runtime_api.h:373
@ hipDeviceAttributeMaxSurface3D
Maximum dimension (width, height, depth) of 3D surface.
Definition hip_runtime_api.h:371
@ hipDeviceAttributeMaxPitch
Maximum pitch in bytes allowed by memory copies.
Definition hip_runtime_api.h:394
@ hipDeviceAttributeTccDriver
Cuda only. Whether device is a Tesla device using TCC driver.
Definition hip_runtime_api.h:418
@ hipDeviceAttributeHostNativeAtomicSupported
Cuda only. Link between the device and the host supports native atomic operations.
Definition hip_runtime_api.h:350
@ hipDeviceAttributePageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition hip_runtime_api.h:403
@ hipDeviceAttributeMaxBlockDimY
Max block size in height.
Definition hip_runtime_api.h:362
@ hipDeviceAttributeMaxSurfaceCubemap
Cuda only. Maximum dimensions of Cubemap surface.
Definition hip_runtime_api.h:372
@ hipDeviceAttributeName
Device name.
Definition hip_runtime_api.h:400
@ hipDeviceAttributePageableMemoryAccess
Definition hip_runtime_api.h:401
@ hipDeviceAttributeClockRate
Peak clock frequency in kilohertz.
Definition hip_runtime_api.h:338
@ hipDeviceAttributeCudaCompatibleEnd
Definition hip_runtime_api.h:429
@ hipDeviceAttributeMaxTexture1DMipmap
Cuda only. Maximum size of 1D mipmapped texture.
Definition hip_runtime_api.h:378
@ hipDeviceAttributeComputeCapabilityMajor
Major compute capability version number.
Definition hip_runtime_api.h:358
@ hipDeviceAttributeGlobalL1CacheSupported
Cuda only. Device supports caching globals in L1.
Definition hip_runtime_api.h:349
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem
Definition hip_runtime_api.h:445
@ hipDeviceAttributeAccessPolicyMaxWindowSize
Cuda only. The maximum size of the window policy in bytes.
Definition hip_runtime_api.h:333
@ hipDeviceAttributeMaxTexture3DHeight
Maximum dimension height of 3D texture.
Definition hip_runtime_api.h:386
@ hipDeviceAttributeComputeCapabilityMinor
Minor compute capability version number.
Definition hip_runtime_api.h:397
@ hipDeviceAttributeMaxTextureCubemap
Cuda only. Maximum dimensions of Cubemap texture.
Definition hip_runtime_api.h:389
@ hipDeviceAttributeDeviceOverlap
Definition hip_runtime_api.h:345
@ hipDeviceAttributeMaxTexture2DLinear
Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory.
Definition hip_runtime_api.h:383
@ hipDeviceAttributeMaxSurface2D
Maximum dimension (width, height) of 2D surface.
Definition hip_runtime_api.h:369
@ hipDeviceAttributeMaxSurface1DLayered
Cuda only. Maximum dimensions of 1D layered surface.
Definition hip_runtime_api.h:368
@ hipDeviceAttributeHdpRegFlushCntl
Address of the HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:438
@ hipDeviceAttributeComputeMode
Compute mode that device is currently in.
Definition hip_runtime_api.h:339
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc
Definition hip_runtime_api.h:439
@ hipDeviceAttributeAsicRevision
Revision of the GPU in this device.
Definition hip_runtime_api.h:448
@ hipDeviceAttributeCooperativeMultiDeviceLaunch
Support cooperative launch on multiple devices.
Definition hip_runtime_api.h:344
@ hipDeviceAttributeMaxTexture2DHeight
Maximum dimension hight of 2D texture.
Definition hip_runtime_api.h:380
@ hipDeviceAttributePersistingL2CacheMaxSize
Cuda11 only. Maximum l2 persisting lines capacity in bytes.
Definition hip_runtime_api.h:407
@ hipDeviceAttributeEccEnabled
Whether ECC support is enabled.
Definition hip_runtime_api.h:332
@ hipDeviceAttributeCanUseHostPointerForRegisteredMem
Definition hip_runtime_api.h:336
@ hipDeviceAttributePciBusId
PCI Bus ID.
Definition hip_runtime_api.h:404
@ hipDeviceAttributeL2CacheSize
Size of L2 cache in bytes. 0 if the device doesn't have L2 cache.
Definition hip_runtime_api.h:354
@ hipDeviceAttributeKernelExecTimeout
Run time limit for kernels executed on the device.
Definition hip_runtime_api.h:353
@ hipDeviceAttributeMaxThreadsDim
Maximum dimension of a block.
Definition hip_runtime_api.h:391
@ hipDeviceAttributeSingleToDoublePrecisionPerfRatio
Cuda only. Performance ratio of single precision to double precision.
Definition hip_runtime_api.h:415
@ hipDeviceAttributeMaxGridDimY
Max grid size in height.
Definition hip_runtime_api.h:365
@ hipDeviceAttributeMultiprocessorCount
Number of multiprocessors on the device.
Definition hip_runtime_api.h:399
@ hipDeviceAttributeUuid
Cuda only. Unique ID in 16 byte.
Definition hip_runtime_api.h:424
@ hipDeviceAttributeAmdSpecificBegin
Definition hip_runtime_api.h:430
@ hipDeviceAttributeMaxRegistersPerMultiprocessor
32-bit registers available per block.
Definition hip_runtime_api.h:410
@ hipDeviceAttributeGcnArchName
Device gcnArch name in 256 bytes.
Definition hip_runtime_api.h:436
@ hipDeviceAttributeIsMultiGpuBoard
Multiple GPU devices.
Definition hip_runtime_api.h:352
@ hipDeviceAttributeSharedMemPerBlockOptin
Cuda only. Maximum shared memory per block usable by special opt in.
Definition hip_runtime_api.h:413
@ hipDeviceAttributeMaxSurface2DLayered
Cuda only. Maximum dimensions of 2D layered surface.
Definition hip_runtime_api.h:370
@ hipDeviceAttributeAmdSpecificEnd
Definition hip_runtime_api.h:457
@ hipDeviceAttributeMemoryClockRate
Peak memory clock frequency in kilohertz.
Definition hip_runtime_api.h:396
@ hipDeviceAttributeGcnArch
Device gcn architecture.
Definition hip_runtime_api.h:435
@ hipDeviceAttributeMaxGridDimZ
Max grid size in depth.
Definition hip_runtime_api.h:366
@ hipDeviceAttributeHdpMemFlushCntl
Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:437
@ hipDeviceAttributeFineGrainSupport
'1' if Device supports fine grain, '0' otherwise
Definition hip_runtime_api.h:454
@ hipDeviceAttributeCooperativeLaunch
Support cooperative launch.
Definition hip_runtime_api.h:343
@ hipDeviceAttributeUnifiedAddressing
Cuda only. An unified address space shared with the host.
Definition hip_runtime_api.h:423
@ hipDeviceAttributeAsyncEngineCount
Cuda only. Asynchronous engines number.
Definition hip_runtime_api.h:334
@ hipDeviceAttributeMultiGpuBoardGroupID
Cuda only. Unique ID of device group on the same multi-GPU board.
Definition hip_runtime_api.h:398
@ hipDeviceAttributeStreamPrioritiesSupported
Cuda only. Whether to support stream priorities.
Definition hip_runtime_api.h:416
@ hipDeviceAttributeMaxSharedMemoryPerBlock
Maximum shared memory available per block in bytes.
Definition hip_runtime_api.h:412
@ hipDeviceAttributeLocalL1CacheSupported
caching locals in L1 is supported
Definition hip_runtime_api.h:355
@ hipDeviceAttributeCanUseStreamWaitValue
Definition hip_runtime_api.h:449
@ hipDeviceAttributeMaxRegistersPerBlock
Definition hip_runtime_api.h:408
@ hipDeviceAttributeMaxThreadsPerBlock
Maximum number of threads per block.
Definition hip_runtime_api.h:392
@ hipDeviceAttributeMemoryBusWidth
Global memory bus width in bits.
Definition hip_runtime_api.h:395
@ hipDeviceAttributeComputePreemptionSupported
Cuda only. Device supports Compute Preemption.
Definition hip_runtime_api.h:340
@ hipDeviceAttributeMaxSurface1D
Maximum size of 1D surface.
Definition hip_runtime_api.h:367
@ hipDeviceAttributeMaxTexture3DAlt
Cuda only. Maximum dimensions of alternate 3D texture.
Definition hip_runtime_api.h:388
@ hipDeviceAttributeMaxTexture1DLinear
Definition hip_runtime_api.h:376
@ hipDeviceAttributeMaxTexture2DGather
Cuda only. Maximum dimensions of 2D texture if gather operations performed.
Definition hip_runtime_api.h:381
@ hipDeviceAttributeWallClockRate
Constant frequency of wall clock in kilohertz.
Definition hip_runtime_api.h:455
@ hipDeviceAttributePciDeviceId
PCI Device ID.
Definition hip_runtime_api.h:405
@ hipDeviceAttributeCanMapHostMemory
Whether host memory can be mapped into device address space.
Definition hip_runtime_api.h:335
@ hipDeviceAttributeMaxTexture1DWidth
Maximum size of 1D texture.
Definition hip_runtime_api.h:374
@ hipDeviceAttributeConcurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition hip_runtime_api.h:342
@ hipDeviceAttributeVendorSpecificBegin
Definition hip_runtime_api.h:458
@ hipDeviceAttributeArch
Device architecture.
Definition hip_runtime_api.h:433
@ hipDeviceAttributeManagedMemory
Device supports allocating managed memory on this system.
Definition hip_runtime_api.h:359
@ hipDeviceAttributeIntegrated
Device is integrated GPU.
Definition hip_runtime_api.h:351
@ hipDeviceAttributeMaxTexture2DLayered
Cuda only. Maximum dimensions of 2D layered texture.
Definition hip_runtime_api.h:382
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim
Definition hip_runtime_api.h:441
@ hipDeviceAttributeMaxTexture3DDepth
Maximum dimension depth of 3D texture.
Definition hip_runtime_api.h:387
@ hipDeviceAttributeImageSupport
'1' if Device supports image, '0' otherwise.
Definition hip_runtime_api.h:451
@ hipDeviceAttributeTotalGlobalMem
Global memory available on devicice.
Definition hip_runtime_api.h:422
@ hipDeviceAttributeMaxBlocksPerMultiProcessor
Cuda only. Max block size per multiprocessor.
Definition hip_runtime_api.h:360
@ hipDeviceAttributeIsLargeBar
Whether it is LargeBar.
Definition hip_runtime_api.h:447
@ hipDeviceAttributeMaxTexture2DWidth
Maximum dimension width of 2D texture.
Definition hip_runtime_api.h:379
@ hipDeviceAttributeMaxBlockDimX
Max block size in width.
Definition hip_runtime_api.h:361
@ hipDeviceAttributeMaxTexture3DWidth
Maximum dimension width of 3D texture.
Definition hip_runtime_api.h:385
@ hipDeviceAttributeTotalConstantMemory
Constant memory size in bytes.
Definition hip_runtime_api.h:421
@ hipDeviceAttributeTextureAlignment
Alignment requirement for textures.
Definition hip_runtime_api.h:419
@ hipDeviceAttributeMaxTexture1DLayered
Cuda only. Maximum dimensions of 1D layered texture.
Definition hip_runtime_api.h:375
@ hipDeviceAttributeMaxSharedMemoryPerMultiprocessor
Maximum Shared Memory PerMultiprocessor.
Definition hip_runtime_api.h:434
@ hipDeviceAttributeReservedSharedMemPerBlock
Cuda11 only. Shared memory reserved by CUDA driver per block.
Definition hip_runtime_api.h:411
@ hipDeviceAttributeCudaCompatibleBegin
Definition hip_runtime_api.h:330
@ hipDeviceAttributeConcurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition hip_runtime_api.h:341
@ hipDeviceAttributeLuid
Cuda only. 8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms.
Definition hip_runtime_api.h:356
@ hipDeviceAttributePciDomainID
PCI Domain ID.
Definition hip_runtime_api.h:406
@ hipDeviceAttributeMaxThreadsPerMultiProcessor
Maximum resident threads per multiprocessor.
Definition hip_runtime_api.h:393
@ hipDeviceAttributeTexturePitchAlignment
Pitch alignment requirement for 2D texture references bound to pitched memory;.
Definition hip_runtime_api.h:420
@ hipDeviceAttributePhysicalMultiProcessorCount
Definition hip_runtime_api.h:452
@ hipDeviceAttributeSharedMemPerMultiprocessor
Cuda only. Shared memory available per multiprocessor.
Definition hip_runtime_api.h:414
@ hipDeviceAttributeLuidDeviceNodeMask
Cuda only. Luid device node mask. Undefined on TCC and non-Windows platforms.
Definition hip_runtime_api.h:357
@ hipDeviceAttributeMaxTextureCubemapLayered
Cuda only. Maximum dimensions of Cubemap layered texture.
Definition hip_runtime_api.h:390
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim
Definition hip_runtime_api.h:443
@ hipDeviceAttributeVirtualMemoryManagementSupported
Device supports HIP virtual memory management.
Definition hip_runtime_api.h:427
@ hipDeviceAttributeMemoryPoolsSupported
Device supports HIP Stream Ordered Memory Allocator.
Definition hip_runtime_api.h:426
@ hipDeviceAttributeClockInstructionRate
Frequency in khz of the timer used by the device-side "clock*".
Definition hip_runtime_api.h:432
@ hipDeviceAttributeMaxTexture2DMipmap
Cuda only. Maximum dimensions of 2D mipmapped texture.
Definition hip_runtime_api.h:384
@ hipDeviceAttributeMaxBlockDimZ
Max block size in depth.
Definition hip_runtime_api.h:363
@ hipDeviceAttributeWarpSize
Warp size in threads.
Definition hip_runtime_api.h:425
@ hipMemAllocationTypeMax
Definition hip_runtime_api.h:845
@ hipMemAllocationTypePinned
Definition hip_runtime_api.h:844
@ hipMemAllocationTypeInvalid
Definition hip_runtime_api.h:840
@ hipGraphInstantiateFlagAutoFreeOnLaunch
Automatically free memory allocated in a graph before relaunching.
Definition hip_runtime_api.h:1207
@ hipKernelNodeAttributeCooperative
Definition hip_runtime_api.h:1136
@ hipKernelNodeAttributeAccessPolicyWindow
Definition hip_runtime_api.h:1135
@ hipMemLocationTypeInvalid
Definition hip_runtime_api.h:805
@ hipMemLocationTypeDevice
Device location, thus it's HIP device ID.
Definition hip_runtime_api.h:806
hipError_t hipGraphKernelNodeSetParams(hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets a kernel node's parameters.
hipError_t hipGraphNodeGetDependencies(hipGraphNode_t node, hipGraphNode_t *pDependencies, size_t *pNumDependencies)
Returns a node's dependencies.
hipError_t hipGraphCreate(hipGraph_t *pGraph, unsigned int flags)
Creates a graph.
hipError_t hipGraphAddMemcpyNode1D(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Creates a 1D memcpy node and adds it to a graph.
hipError_t hipDeviceSetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void *value)
Set the mem attribute for graphs.
hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms *pNodeParams)
Sets a memcpy node's parameters.
hipError_t hipUserObjectCreate(hipUserObject_t *object_out, void *ptr, hipHostFn_t destroy, unsigned int initialRefcount, unsigned int flags)
Create an instance of userObject to manage lifetime of a resource.
hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph, hipGraphNode_t *hErrorNode_out, hipGraphExecUpdateResult *updateResult_out)
Check whether an executable graph can be updated with a graph and perform the update if * possible.
hipError_t hipGraphNodeFindInClone(hipGraphNode_t *pNode, hipGraphNode_t originalNode, hipGraph_t clonedGraph)
Finds a cloned version of a node.
hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void *userData)
Enqueues a host function call in a stream.
hipError_t hipGraphAddEventWaitNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
Creates an event wait node and adds it to a graph.
hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node's parameters to copy to a symbol on the device.
hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus)
Get stream's capture state.
hipError_t hipGraphAddChildGraphNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipGraph_t childGraph)
Creates a child graph node and adds it to a graph.
hipError_t hipGraphDestroyNode(hipGraphNode_t node)
Remove a node from the graph.
hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node's parameters to copy from a symbol on the device.
hipError_t hipGraphReleaseUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count)
Release user object from graphs.
hipError_t hipGraphRemoveDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Removes dependency edges from a graph.
hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets a memcpy node's parameters to perform a 1-dimensional copy.
hipError_t hipGraphExecMemcpyNodeSetParams1D(hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.
hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec)
Destroys an executable graph.
hipError_t hipGraphExecHostNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets the parameters for a host node in the given graphExec.
hipError_t hipGraphExecChildGraphNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipGraph_t childGraph)
Updates node parameters in the child graph node in the given graphExec.
hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus, unsigned long long *pId)
Get capture status of a stream.
hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Adds dependency edges to a graph.
hipError_t hipGraphExecKernelNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets the parameters for a kernel node in the given graphExec.
hipError_t hipGraphNodeGetDependentNodes(hipGraphNode_t node, hipGraphNode_t *pDependentNodes, size_t *pNumDependentNodes)
Returns a node's dependent nodes.
hipError_t hipDeviceGetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void *value)
Get the mem attribute for graphs.
hipError_t hipGraphHostNodeGetParams(hipGraphNode_t node, hipHostNodeParams *pNodeParams)
Returns a host node's parameters.
hipError_t hipGraphInstantiateWithFlags(hipGraphExec_t *pGraphExec, hipGraph_t graph, unsigned long long flags)
Creates an executable graph from a graph.
hipError_t hipGraphUpload(hipGraphExec_t graphExec, hipStream_t stream)
uploads an executable graph in a stream
hipError_t hipGraphExecMemcpyNodeSetParamsToSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to copy to a symbol on the device.
hipError_t hipUserObjectRelease(hipUserObject_t object, unsigned int count)
Release number of references to resource.
hipError_t hipGraphKernelNodeGetParams(hipGraphNode_t node, hipKernelNodeParams *pNodeParams)
Gets kernel node's parameters.
hipError_t hipGraphAddMemcpyNodeFromSymbol(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Creates a memcpy node to copy from a symbol on the device and adds it to a graph.
hipError_t hipGraphMemcpyNodeGetParams(hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Gets a memcpy node's parameters.
hipError_t hipGraphAddEventRecordNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
Creates an event record node and adds it to a graph.
hipError_t hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t *dependencies, size_t numDependencies, unsigned int flags __dparm(0))
Update the set of dependencies in a capturing stream.
hipError_t hipStreamBeginCapture(hipStream_t stream, hipStreamCaptureMode mode)
Begins graph capture on a stream.
hipError_t hipStreamEndCapture(hipStream_t stream, hipGraph_t *pGraph)
Ends capture on a stream, returning the captured graph.
hipError_t hipUserObjectRetain(hipUserObject_t object, unsigned int count)
Retain number of references to resource.
hipError_t hipGraphNodeGetType(hipGraphNode_t node, hipGraphNodeType *pType)
Returns a node's type.
hipError_t hipGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Sets the parameters for a memcpy node in the given graphExec.
hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets a host node's parameters.
hipError_t hipGraphExecEventRecordNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipError_t hipGraphMemsetNodeGetParams(hipGraphNode_t node, hipMemsetParams *pNodeParams)
Gets a memset node's parameters.
hipError_t hipGraphChildGraphNodeGetGraph(hipGraphNode_t node, hipGraph_t *pGraph)
Gets a handle to the embedded graph of a child graph node.
hipError_t hipGraphKernelNodeGetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, hipKernelNodeAttrValue *value)
Gets a node attribute.
hipError_t hipThreadExchangeStreamCaptureMode(hipStreamCaptureMode *mode)
Swaps the stream capture mode of a thread.
hipError_t hipGraphLaunch(hipGraphExec_t graphExec, hipStream_t stream)
launches an executable graph in a stream
hipError_t hipGraphExecMemsetNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets the parameters for a memset node in the given graphExec.
hipError_t hipGraphGetEdges(hipGraph_t graph, hipGraphNode_t *from, hipGraphNode_t *to, size_t *numEdges)
Returns a graph's dependency edges.
hipError_t hipGraphAddKernelNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipKernelNodeParams *pNodeParams)
Creates a kernel execution node and adds it to a graph.
hipError_t hipGraphExecEventWaitNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event wait node's event.
hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event record node's event.
hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event wait node.
hipError_t hipGraphKernelNodeSetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, const hipKernelNodeAttrValue *value)
Sets a node attribute.
hipError_t hipGraphMemsetNodeSetParams(hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets a memset node's parameters.
hipError_t hipGraphEventRecordNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event record node.
hipError_t hipGraphAddEmptyNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies)
Creates an empty node and adds it to a graph.
hipError_t hipGraphAddMemcpyNodeToSymbol(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Creates a memcpy node to copy to a symbol on the device and adds it to a graph.
hipError_t hipGraphDestroy(hipGraph_t graph)
Destroys a graph.
hipError_t hipGraphRetainUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count, unsigned int flags)
Retain user object for graphs.
hipError_t hipGraphExecMemcpyNodeSetParamsFromSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to copy from a symbol on the.
hipError_t hipGraphAddHostNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipHostNodeParams *pNodeParams)
Creates a host execution node and adds it to a graph.
hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t *nodes, size_t *numNodes)
Returns graph nodes.
hipError_t hipGraphAddMemsetNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipMemsetParams *pMemsetParams)
Creates a memset node and adds it to a graph.
hipError_t hipGraphInstantiate(hipGraphExec_t *pGraphExec, hipGraph_t graph, hipGraphNode_t *pErrorNode, char *pLogBuffer, size_t bufferSize)
Creates an executable graph from a graph.
hipError_t hipDeviceGraphMemTrim(int device)
Free unused memory on specific device used for graph back to OS.
hipError_t hipGraphClone(hipGraph_t *pGraphClone, hipGraph_t originalGraph)
Clones a graph.
hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t *pRootNodes, size_t *pNumRootNodes)
Returns graph's root nodes.
hipError_t hipGraphAddMemcpyNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipMemcpy3DParms *pCopyParams)
Creates a memcpy node and adds it to a graph.
hipError_t hipStreamGetCaptureInfo_v2(hipStream_t stream, hipStreamCaptureStatus *captureStatus_out, unsigned long long *id_out __dparm(0), hipGraph_t *graph_out __dparm(0), const hipGraphNode_t **dependencies_out __dparm(0), size_t *numDependencies_out __dparm(0))
Get stream's capture state.
hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray)
Frees a mipmapped array on the device.
hipError_t hipMemcpyToSymbol(const void *symbol, const void *src, size_t sizeBytes, size_t offset __dparm(0), hipMemcpyKind kind __dparm(hipMemcpyHostToDevice))
Copies data to the given symbol on the device. Symbol HIP APIs allow a kernel to define a device-side...
hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem)
Destroys an external memory object.
hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t *extSem_out, const hipExternalSemaphoreHandleDesc *semHandleDesc)
Imports an external semaphore.
hipError_t hipMemcpyAtoH(void *dst, hipArray *srcArray, size_t srcOffset, size_t count)
Copies data between host and device.
hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory [Deprecated].
hipError_t hipMemcpy2DToArrayAsync(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipError_t hipGetMipmappedArrayLevel(hipArray_t *levelArray, hipMipmappedArray_const_t mipmappedArray, unsigned int level)
Gets a mipmap level of a HIP mipmapped array.
hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipError_t hipFreeHost(void *ptr)
Free memory allocated by the hcc hip host memory allocation API. [Deprecated].
hipError_t hipMemcpyFromSymbol(void *dst, const void *symbol, size_t sizeBytes, size_t offset __dparm(0), hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost))
Copies data from the given symbol on the device.
hipError_t hipHostFree(void *ptr)
Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...
hipError_t hipMemcpyToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipMemcpy2DFromArrayAsync(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipError_t hipMemGetInfo(size_t *free, size_t *total)
Query memory info. Return snapshot of free memory, and total allocatable memory on the device.
hipError_t hipExtMallocWithFlags(void **ptr, size_t sizeBytes, unsigned int flags)
Allocate memory on the default accelerator.
hipError_t hipImportExternalMemory(hipExternalMemory_t *extMem_out, const hipExternalMemoryHandleDesc *memHandleDesc)
Imports an external memory object.
hipError_t hipMemcpy3D(const struct hipMemcpy3DParms *p)
Copies data between host and device.
hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms *p, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent)
Fills synchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipError_t hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name)
Returns a global pointer from a module. Returns in *dptr and *bytes the pointer and size of the globa...
hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipError_t hipMemcpyFromSymbolAsync(void *dst, const void *symbol, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data from the given symbol on the device asynchronously.
hipError_t hipMalloc(void **ptr, size_t size)
Allocate memory on the default accelerator.
hipError_t hipHostUnregister(void *hostPtr)
Un-register host pointer.
hipError_t hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr)
Return flags associated with host pointer.
hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count)
Fills the memory area pointed to by dest with the constant integer value for specified number of time...
hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D *pCopy, hipStream_t stream)
Copies data between host and device asynchronously.
hipError_t hipMallocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipError_t hipMalloc3DArray(hipArray **array, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int flags)
Allocate an array on the device.
hipError_t hipFree(void *ptr)
Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...
hipError_t hipMemcpyToSymbolAsync(const void *symbol, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data to the given symbol on the device asynchronously.
hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, const void *ptr)
Return attributes for the specified pointer.
hipError_t hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height)
hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Device.
hipError_t hipMemcpy2D(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipMemcpyFromArray(void *dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset, size_t count, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
Get Device pointer from Host Pointer allocated through hipHostMalloc.
hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D *pCopy, hipStream_t stream __dparm(0))
Copies memory for 2D arrays.
hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem)
Destroys an external semaphore object and releases any references to the underlying resource....
hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpy2DFromArray(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D *pCopy)
Copies data between host and device.
hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes)
Copy data from Host to Device.
hipError_t hipMemcpyParam2D(const hip_Memcpy2D *pCopy)
Copies memory for 2D arrays.
hipError_t hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...
hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent, hipStream_t stream __dparm(0))
Fills asynchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory.
hipError_t hipMemcpy2DToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copy data from src to dst asynchronously.
hipError_t hipArray3DCreate(hipArray **array, const HIP_ARRAY3D_DESCRIPTOR *pAllocateArray)
hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
Register host memory so it can be accessed from the current device.
hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
Copy data from src to dst.
hipError_t hipMemset(void *dst, int value, size_t sizeBytes)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute *attributes, void **data, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipError_t hipMalloc3D(hipPitchedPtr *pitchedDevPtr, hipExtent extent)
hipError_t hipMallocArray(hipArray **array, const hipChannelFormatDesc *desc, size_t width, size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault))
Allocate an array on the device.
hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Device asynchronously.
hipError_t hipMemAllocPitch(hipDeviceptr_t *dptr, size_t *pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes)
hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Host asynchronously.
hipError_t hipMemset2DAsync(void *dst, size_t pitch, int value, size_t width, size_t height, hipStream_t stream __dparm(0))
Fills asynchronously the memory area pointed to by dst with the constant value.
hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreWaitParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Waits on a set of external semaphore objects.
hipError_t hipMallocMipmappedArray(hipMipmappedArray_t *mipmappedArray, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int numLevels, unsigned int flags __dparm(0))
Allocate a mipmapped array on the device.
hipError_t hipMemset2D(void *dst, size_t pitch, int value, size_t width, size_t height)
Fills the memory area pointed to by dst with the constant value.
hipError_t hipFreeArray(hipArray *array)
Frees an array on the device.
hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream)
Copy data from Host to Device asynchronously.
hipError_t hipGetSymbolSize(size_t *size, const void *symbol)
Gets the size of the given symbol on the device.
hipError_t hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Host.
hipError_t hipMemcpyWithStream(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreSignalParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Signals a set of external semaphore objects.
hipError_t hipGetSymbolAddress(void **devPtr, const void *symbol)
Gets device pointer associated with symbol on the device.
hipError_t hipArrayCreate(hipArray **pHandle, const HIP_ARRAY_DESCRIPTOR *pAllocateArray)
hipError_t hipMemAllocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipError_t hipPointerGetAttribute(void *data, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipError_t hipArrayDestroy(hipArray *array)
hipError_t hipMemcpyHtoA(hipArray *dstArray, size_t dstOffset, const void *srcHost, size_t count)
Copies data between host and device.
hipError_t hipMemPtrGetInfo(void *ptr, size_t *size)
hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count, hipStream_t stream __dparm(0))
Fills the memory area pointed to by dev with the constant integer value for specified number of times...
hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc)
Maps a buffer onto an imported memory object.
hipError_t hipStreamAttachMemAsync(hipStream_t stream, void *dev_ptr, size_t length __dparm(0), unsigned int flags __dparm(hipMemAttachSingle))
Attach memory to a stream asynchronously in HIP.
hipError_t hipMemRangeGetAttributes(void **data, size_t *data_sizes, hipMemRangeAttribute *attributes, size_t num_attributes, const void *dev_ptr, size_t count)
Query attributes of a given memory range in HIP.
hipError_t hipMemAdvise(const void *dev_ptr, size_t count, hipMemoryAdvise advice, int device)
Advise about the usage of a given memory range to HIP.
hipError_t hipMemPrefetchAsync(const void *dev_ptr, size_t count, int device, hipStream_t stream __dparm(0))
Prefetches memory to the specified destination device using HIP.
hipError_t hipMemRangeGetAttribute(void *data, size_t data_size, hipMemRangeAttribute attribute, const void *dev_ptr, size_t count)
Query an attribute of a given memory range in HIP.
hipError_t hipMallocManaged(void **dev_ptr, size_t size, unsigned int flags __dparm(hipMemAttachGlobal))
Allocates memory that will be automatically managed by HIP.
hipError_t hipFuncGetAttributes(struct hipFuncAttributes *attr, const void *func)
Find out attributes for a given function.
hipError_t hipModuleGetTexRef(textureReference **texRef, hipModule_t hmod, const char *name)
returns the handle of the texture reference with the name from the module.
hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices and guarantees all specified kernels are dispatched on respectiv...
hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams, void **extra)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelp...
hipError_t hipModuleLoad(hipModule_t *module, const char *fname)
Loads code object from file into a hipModule_t.
hipError_t hipModuleLoadDataEx(hipModule_t *module, const void *image, unsigned int numOptions, hipJitOption *options, void **optionValues)
builds module from code object which resides in host memory. Image is pointer to that location....
hipError_t hipFuncGetAttribute(int *value, hipFunction_attribute attrib, hipFunction_t hfunc)
Find out a specific attribute for a given function.
hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices where thread blocks can cooperate and synchronize as they execut...
hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname)
Function with kname will be extracted if present in module.
hipError_t hipLaunchCooperativeKernel(const void *f, dim3 gridDim, dim3 blockDimX, void **kernelParams, unsigned int sharedMemBytes, hipStream_t stream)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelp...
hipError_t hipModuleLoadData(hipModule_t *module, const void *image)
builds module from code object which resides in host memory. Image is pointer to that location.
hipError_t hipModuleUnload(hipModule_t module)
Frees the module.
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault))
Returns occupancy for a device function.
hipError_t hipModuleOccupancyMaxPotentialBlockSize(int *gridSize, int *blockSize, hipFunction_t f, size_t dynSharedMemPerBlk, int blockSizeLimit)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipError_t hipOccupancyMaxPotentialBlockSize(int *gridSize, int *blockSize, const void *f, size_t dynSharedMemPerBlk, int blockSizeLimit)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags)
Returns occupancy for a device function.
hipError_t hipModuleOccupancyMaxPotentialBlockSizeWithFlags(int *gridSize, int *blockSize, hipFunction_t f, size_t dynSharedMemPerBlk, int blockSizeLimit, unsigned int flags)
determine the grid and block sizes to achieves maximum occupancy for a kernel
hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId)
Determine if a device can access a peer's memory.
hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
Enable direct access from current device's virtual address space to memory allocations physically loc...
hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
Disable direct access from current device's virtual address space to memory allocations physically lo...
hipError_t hipMemGetAddressRange(hipDeviceptr_t *pbase, size_t *psize, hipDeviceptr_t dptr)
Get information on memory allocations.
hipError_t hipProfilerStart()
Start recording of profiling information When using this API, start the profiler with profiling disab...
hipError_t hipProfilerStop()
Stop recording of profiling information. When using this API, start the profiler with profiling disab...
hipError_t hipDeviceGetStreamPriorityRange(int *leastPriority, int *greatestPriority)
Returns numerical values that correspond to the least and greatest stream priority.
hipError_t hipStreamDestroy(hipStream_t stream)
Destroys the specified stream.
hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
Return flags associated with this stream.
hipError_t hipStreamAddCallback(hipStream_t stream, hipStreamCallback_t callback, void *userData, unsigned int flags)
Adds a callback to be called on the host after all currently enqueued items in the stream have comple...
void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void *userData)
Definition hip_runtime_api.h:2084
hipError_t hipStreamQuery(hipStream_t stream)
Return hipSuccess if all of the operations in the specified stream have completed,...
hipError_t hipStreamSynchronize(hipStream_t stream)
Wait for all commands in stream to complete.
hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
Make the specified compute stream wait for an event.
hipError_t hipStreamCreateWithPriority(hipStream_t *stream, unsigned int flags, int priority)
Create an asynchronous stream with the specified priority.
hipError_t hipExtStreamCreateWithCUMask(hipStream_t *stream, uint32_t cuMaskSize, const uint32_t *cuMask)
Create an asynchronous stream with the specified CU mask.
hipError_t hipStreamGetPriority(hipStream_t stream, int *priority)
Query the priority of a stream.
hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t *cuMask)
Get CU mask associated with an asynchronous stream.
hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
Create an asynchronous stream.
hipError_t hipStreamCreate(hipStream_t *stream)
Create an asynchronous stream.
hipError_t hipStreamWriteValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipError_t hipStreamWriteValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags)
Enqueues a write command to the stream.[BETA].
hipError_t hipStreamWaitValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags, uint32_t mask __dparm(0xFFFFFFFF))
Enqueues a wait command to the stream.[BETA].
hipError_t hipStreamWaitValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags, uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF))
Enqueues a wait command to the stream.[BETA].
hipError_t hipMemPoolImportPointer(void **dev_ptr, hipMemPool_t mem_pool, hipMemPoolPtrExportData *export_data)
Import a memory pool allocation from another process.
hipError_t hipMemPoolImportFromShareableHandle(hipMemPool_t *mem_pool, void *shared_handle, hipMemAllocationHandleType handle_type, unsigned int flags)
Imports a memory pool from a shared handle.
hipError_t hipMallocFromPoolAsync(void **dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream)
Allocates memory from a specified pool with stream ordered semantics.
hipError_t hipFreeAsync(void *dev_ptr, hipStream_t stream)
Frees memory with stream ordered semantics.
hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold)
Releases freed memory back to the OS.
hipError_t hipMemPoolCreate(hipMemPool_t *mem_pool, const hipMemPoolProps *pool_props)
Creates a memory pool.
hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc *desc_list, size_t count)
Controls visibility of the specified pool between devices.
hipError_t hipMemPoolDestroy(hipMemPool_t mem_pool)
Destroys the specified memory pool.
hipError_t hipMemPoolSetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void *value)
Sets attributes of a memory pool.
hipError_t hipMemPoolGetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void *value)
Gets attributes of a memory pool.
hipError_t hipMemPoolExportToShareableHandle(void *shared_handle, hipMemPool_t mem_pool, hipMemAllocationHandleType handle_type, unsigned int flags)
Exports a memory pool to the requested handle type.
hipError_t hipMemPoolExportPointer(hipMemPoolPtrExportData *export_data, void *dev_ptr)
Export data to share a memory pool allocation between processes.
hipError_t hipMallocAsync(void **dev_ptr, size_t size, hipStream_t stream)
Allocates memory with stream ordered semantics.
hipError_t hipMemPoolGetAccess(hipMemAccessFlags *flags, hipMemPool_t mem_pool, hipMemLocation *location)
Returns the accessibility of a pool from a device.
hipError_t hipTexRefGetFilterMode(enum hipTextureFilterMode *pfm, const textureReference *texRef)
hipError_t hipTexRefGetMipmapLevelClamp(float *pminMipmapLevelClamp, float *pmaxMipmapLevelClamp, const textureReference *texRef)
hipError_t hipTexRefGetAddressMode(enum hipTextureAddressMode *pam, const textureReference *texRef, int dim)
hipError_t hipTexRefGetFlags(unsigned int *pFlags, const textureReference *texRef)
hipError_t hipTexRefSetAddress(size_t *ByteOffset, textureReference *texRef, hipDeviceptr_t dptr, size_t bytes)
hipError_t hipTexRefSetFilterMode(textureReference *texRef, enum hipTextureFilterMode fm)
hipError_t hipTexRefSetMipmappedArray(textureReference *texRef, struct hipMipmappedArray *mipmappedArray, unsigned int Flags)
hipError_t hipTexRefGetMipmapFilterMode(enum hipTextureFilterMode *pfm, const textureReference *texRef)
hipError_t hipGetTextureAlignmentOffset(size_t *offset, const textureReference *texref)
hipError_t hipBindTexture2D(size_t *offset, const textureReference *tex, const void *devPtr, const hipChannelFormatDesc *desc, size_t width, size_t height, size_t pitch)
hipError_t hipTexRefGetMaxAnisotropy(int *pmaxAnsio, const textureReference *texRef)
hipError_t hipUnbindTexture(const textureReference *tex)
hipError_t hipTexRefSetFormat(textureReference *texRef, hipArray_Format fmt, int NumPackedComponents)
hipError_t hipTexRefGetAddress(hipDeviceptr_t *dev_ptr, const textureReference *texRef)
hipError_t hipTexRefSetFlags(textureReference *texRef, unsigned int Flags)
hipError_t hipTexRefSetAddressMode(textureReference *texRef, int dim, enum hipTextureAddressMode am)
hipError_t hipTexRefGetMipMappedArray(hipMipmappedArray_t *pArray, const textureReference *texRef)
hipError_t hipTexRefSetMaxAnisotropy(textureReference *texRef, unsigned int maxAniso)
hipError_t hipTexRefSetMipmapLevelClamp(textureReference *texRef, float minMipMapLevelClamp, float maxMipMapLevelClamp)
hipError_t hipTexRefSetBorderColor(textureReference *texRef, float *pBorderColor)
hipError_t hipTexRefSetArray(textureReference *tex, hipArray_const_t array, unsigned int flags)
hipError_t hipTexRefSetMipmapLevelBias(textureReference *texRef, float bias)
hipError_t hipTexRefGetMipmapLevelBias(float *pbias, const textureReference *texRef)
hipError_t hipBindTextureToArray(const textureReference *tex, hipArray_const_t array, const hipChannelFormatDesc *desc)
hipError_t hipBindTexture(size_t *offset, const textureReference *tex, const void *devPtr, const hipChannelFormatDesc *desc, size_t size __dparm(UINT_MAX))
hipError_t hipGetTextureReference(const textureReference **texref, const void *symbol)
Gets the texture reference related with the symbol.
hipError_t hipTexRefSetAddress2D(textureReference *texRef, const HIP_ARRAY_DESCRIPTOR *desc, hipDeviceptr_t dptr, size_t Pitch)
hipError_t hipTexRefSetMipmapFilterMode(textureReference *texRef, enum hipTextureFilterMode fm)
hipError_t hipTexRefGetFormat(hipArray_Format *pFormat, int *pNumChannels, const textureReference *texRef)
hipError_t hipBindTextureToMipmappedArray(const textureReference *tex, hipMipmappedArray_const_t mipmappedArray, const hipChannelFormatDesc *desc)
Binds a mipmapped array to a texture.
hipError_t hipTexObjectCreate(hipTextureObject_t *pTexObject, const HIP_RESOURCE_DESC *pResDesc, const HIP_TEXTURE_DESC *pTexDesc, const HIP_RESOURCE_VIEW_DESC *pResViewDesc)
Creates a texture object.
hipError_t hipGetTextureObjectResourceDesc(hipResourceDesc *pResDesc, hipTextureObject_t textureObject)
Gets resource descriptor for the texture object.
hipError_t hipGetTextureObjectResourceViewDesc(struct hipResourceViewDesc *pResViewDesc, hipTextureObject_t textureObject)
Gets resource view descriptor for the texture object.
hipError_t hipTexObjectGetTextureDesc(HIP_TEXTURE_DESC *pTexDesc, hipTextureObject_t texObject)
Gets texture descriptor of a texture object.
hipError_t hipCreateTextureObject(hipTextureObject_t *pTexObject, const hipResourceDesc *pResDesc, const hipTextureDesc *pTexDesc, const struct hipResourceViewDesc *pResViewDesc)
Creates a texture object.
hipError_t hipTexObjectDestroy(hipTextureObject_t texObject)
Destroys a texture object.
hipError_t hipGetChannelDesc(hipChannelFormatDesc *desc, hipArray_const_t array)
Gets the channel descriptor in an array.
hipError_t hipTexObjectGetResourceDesc(HIP_RESOURCE_DESC *pResDesc, hipTextureObject_t texObject)
Gets resource descriptor of a texture object.
hipError_t hipTexObjectGetResourceViewDesc(HIP_RESOURCE_VIEW_DESC *pResViewDesc, hipTextureObject_t texObject)
Gets resource view descriptor of a texture object.
hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject)
Destroys a texture object.
hipError_t hipGetTextureObjectTextureDesc(hipTextureDesc *pTexDesc, hipTextureObject_t textureObject)
Gets texture descriptor for the texture object.
hipError_t hipMipmappedArrayGetLevel(hipArray_t *pLevelArray, hipMipmappedArray_t hMipMappedArray, unsigned int level)
hipError_t hipMipmappedArrayDestroy(hipMipmappedArray_t hMipmappedArray)
hipError_t hipMipmappedArrayCreate(hipMipmappedArray_t *pHandle, HIP_ARRAY3D_DESCRIPTOR *pMipmappedArrayDesc, unsigned int numMipmapLevels)
hipError_t hipMemAddressFree(void *devPtr, size_t size)
Frees an address range reservation made via hipMemAddressReserve.
hipError_t hipMemExportToShareableHandle(void *shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags)
Exports an allocation to a requested shareable handle type.
hipError_t hipMemGetAccess(unsigned long long *flags, const hipMemLocation *location, void *ptr)
Get the access flags set for the given location and ptr.
hipError_t hipMemSetAccess(void *ptr, size_t size, const hipMemAccessDesc *desc, size_t count)
Set the access flags for each location specified in desc for the given virtual address range.
hipError_t hipMemRelease(hipMemGenericAllocationHandle_t handle)
Release a memory handle representing a memory allocation which was previously allocated through hipMe...
hipError_t hipMemUnmap(void *ptr, size_t size)
Unmap memory allocation of a given address range.
hipError_t hipMemGetAllocationGranularity(size_t *granularity, const hipMemAllocationProp *prop, hipMemAllocationGranularity_flags option)
Calculates either the minimal or recommended granularity.
hipError_t hipMemRetainAllocationHandle(hipMemGenericAllocationHandle_t *handle, void *addr)
Returns the allocation handle of the backing memory allocation given the address.
hipError_t hipMemCreate(hipMemGenericAllocationHandle_t *handle, size_t size, const hipMemAllocationProp *prop, unsigned long long flags)
Creates a memory allocation described by the properties and size.
hipError_t hipMemMap(void *ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags)
Maps an allocation handle to a reserved virtual address range.
hipError_t hipMemAddressReserve(void **ptr, size_t size, size_t alignment, void *addr, unsigned long long flags)
Reserves an address range.
hipError_t hipMemGetAllocationPropertiesFromHandle(hipMemAllocationProp *prop, hipMemGenericAllocationHandle_t handle)
Retrieve the property structure of the given handle.
hipError_t hipMemMapArrayAsync(hipArrayMapInfo *mapInfoList, unsigned int count, hipStream_t stream)
Maps or unmaps subregions of sparse HIP arrays and sparse HIP mipmapped arrays.
hipError_t hipMemImportFromShareableHandle(hipMemGenericAllocationHandle_t *handle, void *osHandle, hipMemAllocationHandleType shHandleType)
Imports an allocation from a requested shareable handle type.
hipLimit_t
Definition hip_runtime_api.h:551
@ hipLimitMallocHeapSize
Definition hip_runtime_api.h:554
@ hipLimitStackSize
Definition hip_runtime_api.h:552
@ hipLimitRange
Definition hip_runtime_api.h:555
@ hipLimitPrintfFifoSize
Definition hip_runtime_api.h:553
hipErrorIllegalAddress
Definition hip_runtime_api.h:266
hipErrorMemoryAllocation
Memory allocation error.
Definition hip_runtime_api.h:212
hipErrorNotFound
Definition hip_runtime_api.h:261
struct ihipCtx_t * hipCtx_t
Definition hip_runtime_api.h:513
hipErrorProfilerDisabled
Definition hip_runtime_api.h:217
#define __dparm(x)
Definition hip_runtime_api.h:497
struct ihipStream_t * hipStream_t
Definition hip_runtime_api.h:522
hipErrorInvalidDevicePointer
Invalid Device Pointer.
Definition hip_runtime_api.h:224
int hipDevice_t
Definition hip_runtime_api.h:515
hipErrorRuntimeMemory
Definition hip_runtime_api.h:315
hipErrorInvalidImage
Definition hip_runtime_api.h:232
hipErrorPeerAccessUnsupported
Definition hip_runtime_api.h:249
hipErrorArrayIsMapped
Definition hip_runtime_api.h:239
hipErrorStreamCaptureIsolation
Definition hip_runtime_api.h:296
hipErrorInvalidKernelFile
In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.
Definition hip_runtime_api.h:250
hipErrorNotMapped
Definition hip_runtime_api.h:243
struct ihipEvent_t * hipEvent_t
Definition hip_runtime_api.h:550
hipErrorGraphExecUpdateFailure
Definition hip_runtime_api.h:309
hipErrorNotInitialized
Definition hip_runtime_api.h:213
hipErrorInvalidResourceHandle
Resource handle (hipEvent_t or hipStream_t) invalid.
Definition hip_runtime_api.h:259
hipErrorSharedObjectInitFailed
Definition hip_runtime_api.h:255
hipErrorInvalidPitchValue
Definition hip_runtime_api.h:222
hipErrorNoBinaryForGpu
Definition hip_runtime_api.h:241
hipErrorInvalidContext
Produced when input context is invalid.
Definition hip_runtime_api.h:233
hipDeviceP2PAttr
Definition hip_runtime_api.h:516
@ hipDevP2PAttrAccessSupported
Definition hip_runtime_api.h:518
@ hipDevP2PAttrHipArrayAccessSupported
Definition hip_runtime_api.h:520
@ hipDevP2PAttrNativeAtomicSupported
Definition hip_runtime_api.h:519
@ hipDevP2PAttrPerformanceRank
Definition hip_runtime_api.h:517
hipErrorStreamCaptureUnsupported
Definition hip_runtime_api.h:287
hipErrorPeerAccessNotEnabled
Peer access was never enabled from the current device.
Definition hip_runtime_api.h:271
hipErrorOperatingSystem
Definition hip_runtime_api.h:256
hipErrorStreamCaptureUnjoined
Definition hip_runtime_api.h:294
hipErrorInitializationError
Definition hip_runtime_api.h:215
hipErrorNotMappedAsPointer
Definition hip_runtime_api.h:245
hipErrorPriorLaunchFailure
Definition hip_runtime_api.h:228
hipErrorContextIsDestroyed
Definition hip_runtime_api.h:274
hipErrorInvalidValue
Definition hip_runtime_api.h:208
hipErrorLaunchTimeOut
Definition hip_runtime_api.h:268
hipErrorUnmapFailed
Definition hip_runtime_api.h:238
hipErrorSetOnActiveProcess
Definition hip_runtime_api.h:273
hipErrorFileNotFound
Definition hip_runtime_api.h:253
hipErrorLaunchFailure
An exception occurred on the device while executing a kernel.
Definition hip_runtime_api.h:280
hipErrorInvalidDevice
DeviceID must be in range 0...#compute-devices.
Definition hip_runtime_api.h:231
hipErrorUnsupportedLimit
Definition hip_runtime_api.h:247
hipErrorMapBufferObjectFailed
Produced when the IPC memory attach failed from ROCr.
Definition hip_runtime_api.h:237
hipErrorHostMemoryAlreadyRegistered
Produced when trying to lock a page-locked memory.
Definition hip_runtime_api.h:276
hipErrorMissingConfiguration
Definition hip_runtime_api.h:227
hipErrorSharedObjectSymbolNotFound
Definition hip_runtime_api.h:254
hipErrorECCNotCorrectable
Definition hip_runtime_api.h:246
hipErrorStreamCaptureWrongThread
Definition hip_runtime_api.h:305
hipErrorAssert
Produced when the kernel calls assert.
Definition hip_runtime_api.h:275
#define DEPRECATED_MSG
Definition hip_runtime_api.h:489
hipErrorContextAlreadyInUse
Definition hip_runtime_api.h:248
hipErrorNotReady
Definition hip_runtime_api.h:262
hipErrorInvalidSource
Definition hip_runtime_api.h:252
hipErrorLaunchOutOfResources
Out of resources error.
Definition hip_runtime_api.h:267
hipErrorInvalidDeviceFunction
Definition hip_runtime_api.h:229
hipErrorCooperativeLaunchTooLarge
Definition hip_runtime_api.h:282
hipErrorAlreadyMapped
Definition hip_runtime_api.h:240
struct ihipModule_t * hipModule_t
Definition hip_runtime_api.h:531
hipErrorProfilerNotInitialized
Definition hip_runtime_api.h:218
hipErrorProfilerAlreadyStarted
Definition hip_runtime_api.h:219
hipErrorNoDevice
Call to hipGetDeviceCount returned 0 devices.
Definition hip_runtime_api.h:230
@ HIP_ERROR_LAUNCH_OUT_OF_RESOURCES
Definition hip_runtime_api.h:42
@ HIP_ERROR_INVALID_VALUE
Definition hip_runtime_api.h:40
@ HIP_SUCCESS
Definition hip_runtime_api.h:39
@ HIP_ERROR_NOT_INITIALIZED
Definition hip_runtime_api.h:41
hipErrorMapFailed
Definition hip_runtime_api.h:235
hipErrorStreamCaptureInvalidated
Definition hip_runtime_api.h:289
struct ihipModuleSymbol_t * hipFunction_t
Definition hip_runtime_api.h:532
hipErrorProfilerAlreadyStopped
Definition hip_runtime_api.h:220
hipErrorDeinitialized
Definition hip_runtime_api.h:216
hipErrorPeerAccessAlreadyEnabled
Peer access was already enabled from the current device.
Definition hip_runtime_api.h:269
hipErrorNotMappedAsArray
Definition hip_runtime_api.h:244
#define DEPRECATED(msg)
Definition hip_runtime_api.h:487
hipErrorNotSupported
Produced when the hip API is not supported/implemented.
Definition hip_runtime_api.h:286
hipErrorInvalidConfiguration
Definition hip_runtime_api.h:221
hipErrorStreamCaptureImplicit
Definition hip_runtime_api.h:300
hipErrorStreamCaptureMerge
Definition hip_runtime_api.h:291
hipErrorInvalidGraphicsContext
Definition hip_runtime_api.h:251
hipErrorIllegalState
Resource required is not in a valid state to perform operation.
Definition hip_runtime_api.h:260
hipErrorOutOfMemory
Definition hip_runtime_api.h:210
hipErrorInvalidSymbol
Definition hip_runtime_api.h:223
hipSuccess
Successful completion.
Definition hip_runtime_api.h:207
hipErrorUnknown
Definition hip_runtime_api.h:313
hipMemoryType
Definition hip_runtime_api.h:159
@ hipMemoryTypeDevice
Definition hip_runtime_api.h:161
@ hipMemoryTypeHost
Memory is physically located on host.
Definition hip_runtime_api.h:160
@ hipMemoryTypeArray
Definition hip_runtime_api.h:163
@ hipMemoryTypeManaged
Managed memory, automaticallly managed by the unified memory system.
Definition hip_runtime_api.h:166
@ hipMemoryTypeUnified
Not used currently.
Definition hip_runtime_api.h:165
hipErrorInvalidHandle
Definition hip_runtime_api.h:257
hipErrorStreamCaptureUnmatched
The capture was not initiated in this stream.
Definition hip_runtime_api.h:293
hipErrorCapturedEvent
Definition hip_runtime_api.h:303
hipErrorAlreadyAcquired
Definition hip_runtime_api.h:242
hipErrorInsufficientDriver
Definition hip_runtime_api.h:226
hipErrorHostMemoryNotRegistered
Produced when trying to unlock a non-page-locked memory.
Definition hip_runtime_api.h:278
#define HIP_IPC_HANDLE_SIZE
Definition hip_runtime_api.h:524
struct ihipMemPoolHandle_t * hipMemPool_t
Definition hip_runtime_api.h:536
hipErrorRuntimeOther
Definition hip_runtime_api.h:317
hipErrorContextAlreadyCurrent
Definition hip_runtime_api.h:234
hipErrorInvalidMemcpyDirection
Invalid memory copy direction.
Definition hip_runtime_api.h:225
Definition driver_types.h:74
Definition driver_types.h:68
Definition driver_types.h:379
Definition driver_types.h:282
Definition driver_types.h:328
Definition driver_types.h:165
Definition hip_runtime_api.h:934
uint32_t y
y
Definition hip_runtime_api.h:936
uint32_t z
z
Definition hip_runtime_api.h:937
uint32_t x
x
Definition hip_runtime_api.h:935
Definition driver_types.h:95
Definition hip_runtime_api.h:1143
hipAccessProperty hitProp
Definition hip_runtime_api.h:1145
hipAccessProperty missProp
Definition hip_runtime_api.h:1147
float hitRatio
Definition hip_runtime_api.h:1146
void * base_ptr
Definition hip_runtime_api.h:1144
size_t num_bytes
Definition hip_runtime_api.h:1148
Definition driver_types.h:82
Definition hip_runtime_api.h:6437
union hipArrayMapInfo::@24 subresource
unsigned int level
For mipmapped arrays must be a valid mipmap level. For arrays must be zero.
Definition hip_runtime_api.h:6446
unsigned int flags
flags for future use, must be zero now.
Definition hip_runtime_api.h:6468
hipArraySparseSubresourceType subresourceType
Sparse subresource type.
Definition hip_runtime_api.h:6443
unsigned int extentDepth
Depth in elements.
Definition hip_runtime_api.h:6453
unsigned int offsetX
X offset in elements.
Definition hip_runtime_api.h:6448
hipArray_t array
Definition hip_runtime_api.h:6441
struct hipArrayMapInfo::@24::@26 sparseLevel
hipResourceType resourceType
Resource type.
Definition hip_runtime_api.h:6438
hipMemOperationType memOperationType
Memory operation type.
Definition hip_runtime_api.h:6461
unsigned int reserved[2]
Reserved for future use, must be zero now.
Definition hip_runtime_api.h:6469
unsigned int extentWidth
Width in elements.
Definition hip_runtime_api.h:6451
unsigned int extentHeight
Height in elements.
Definition hip_runtime_api.h:6452
unsigned int offsetY
Y offset in elements.
Definition hip_runtime_api.h:6449
union hipArrayMapInfo::@23 resource
hipMemHandleType memHandleType
Memory handle type.
Definition hip_runtime_api.h:6462
struct hipArrayMapInfo::@24::@27 miptail
hipMemGenericAllocationHandle_t memHandle
Definition hip_runtime_api.h:6464
hipMipmappedArray mipmap
Definition hip_runtime_api.h:6440
unsigned int layer
For layered arrays must be a valid layer index. Otherwise, must be zero.
Definition hip_runtime_api.h:6447
unsigned int deviceBitMask
Device ordinal bit mask.
Definition hip_runtime_api.h:6467
unsigned long long size
Extent in bytes.
Definition hip_runtime_api.h:6458
unsigned long long offset
Offset within mip tail.
Definition hip_runtime_api.h:6457
unsigned int offsetZ
Z offset in elements.
Definition hip_runtime_api.h:6450
Definition driver_types.h:47
Definition hip_runtime_api.h:45
unsigned hasSharedInt64Atomics
64-bit integer atomics for shared memory.
Definition hip_runtime_api.h:55
unsigned hasSharedInt32Atomics
32-bit integer atomics for shared memory.
Definition hip_runtime_api.h:49
unsigned hasFloatAtomicAdd
32-bit float atomic add in global and shared memory.
Definition hip_runtime_api.h:51
unsigned hasDoubles
Double-precision floating point.
Definition hip_runtime_api.h:58
unsigned hasWarpVote
Warp vote instructions (__any, __all).
Definition hip_runtime_api.h:61
unsigned hasWarpShuffle
Warp shuffle operations. (__shfl_*).
Definition hip_runtime_api.h:63
unsigned hasGlobalInt32Atomics
32-bit integer atomics for global memory.
Definition hip_runtime_api.h:47
unsigned hasGlobalFloatAtomicExch
32-bit float atomic exch for global memory.
Definition hip_runtime_api.h:48
unsigned hasDynamicParallelism
Dynamic parallelism.
Definition hip_runtime_api.h:73
unsigned hasSurfaceFuncs
Surface functions.
Definition hip_runtime_api.h:71
unsigned has3dGrid
Grid and group dims are 3D (rather than 2D).
Definition hip_runtime_api.h:72
unsigned hasFunnelShift
Funnel two words into one with shift&mask caps.
Definition hip_runtime_api.h:64
unsigned hasThreadFenceSystem
__threadfence_system.
Definition hip_runtime_api.h:67
unsigned hasGlobalInt64Atomics
64-bit integer atomics for global memory.
Definition hip_runtime_api.h:54
unsigned hasSyncThreadsExt
__syncthreads_count, syncthreads_and, syncthreads_or.
Definition hip_runtime_api.h:68
unsigned hasWarpBallot
Warp ballot instructions (__ballot).
Definition hip_runtime_api.h:62
unsigned hasSharedFloatAtomicExch
32-bit float atomic exch for shared memory.
Definition hip_runtime_api.h:50
Definition hip_runtime_api.h:87
int ECCEnabled
Device has ECC support enabled.
Definition hip_runtime_api.h:135
int maxTexture1DLinear
Maximum size for 1D textures bound to linear memory.
Definition hip_runtime_api.h:125
int pciBusID
PCI Bus ID.
Definition hip_runtime_api.h:115
int maxTexture1D
Maximum number of elements in 1D images.
Definition hip_runtime_api.h:126
int memoryBusWidth
Global memory bus width in bits.
Definition hip_runtime_api.h:98
int clockRate
Max clock frequency of the multiProcessors in khz.
Definition hip_runtime_api.h:96
int maxThreadsPerMultiProcessor
Maximum resident threads per multi-processor.
Definition hip_runtime_api.h:108
int l2CacheSize
L2 cache size.
Definition hip_runtime_api.h:107
size_t totalConstMem
Size of shared memory region (in bytes).
Definition hip_runtime_api.h:99
size_t memPitch
Maximum pitch in bytes allowed by memory copies.
Definition hip_runtime_api.h:131
size_t sharedMemPerBlock
Size of shared memory region (in bytes).
Definition hip_runtime_api.h:90
int cooperativeMultiDeviceLaunch
HIP device supports cooperative launch on multiple devices.
Definition hip_runtime_api.h:124
int pageableMemoryAccess
Definition hip_runtime_api.h:150
char name[256]
Device name.
Definition hip_runtime_api.h:88
size_t textureAlignment
Alignment requirement for textures.
Definition hip_runtime_api.h:132
int memoryClockRate
Max global memory clock frequency in khz.
Definition hip_runtime_api.h:97
int clockInstructionRate
Definition hip_runtime_api.h:110
int regsPerBlock
Registers per block.
Definition hip_runtime_api.h:91
int maxTexture2D[2]
Maximum dimensions (width, height) of 2D images, in image elements.
Definition hip_runtime_api.h:127
int cooperativeLaunch
HIP device supports cooperative launch.
Definition hip_runtime_api.h:123
int maxTexture3D[3]
Maximum dimensions (width, height, depth) of 3D images, in image elements.
Definition hip_runtime_api.h:128
int directManagedMemAccessFromHost
Host can directly access managed memory on the device without migration.
Definition hip_runtime_api.h:148
int cooperativeMultiDeviceUnmatchedFunc
Definition hip_runtime_api.h:137
int pageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition hip_runtime_api.h:152
unsigned int * hdpRegFlushCntl
Addres of HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:130
int maxThreadsDim[3]
Max number of threads in each dimension (XYZ) of a block.
Definition hip_runtime_api.h:94
int isMultiGpuBoard
1 if device is on a multi-GPU board, 0 if not.
Definition hip_runtime_api.h:118
int pciDomainID
PCI Domain ID.
Definition hip_runtime_api.h:114
size_t maxSharedMemoryPerMultiProcessor
Maximum Shared Memory Per Multiprocessor.
Definition hip_runtime_api.h:117
int cooperativeMultiDeviceUnmatchedGridDim
Definition hip_runtime_api.h:139
int minor
Definition hip_runtime_api.h:103
char gcnArchName[256]
AMD GCN Arch Name.
Definition hip_runtime_api.h:121
int kernelExecTimeoutEnabled
Run time limit for kernels executed on the device.
Definition hip_runtime_api.h:134
unsigned int * hdpMemFlushCntl
Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:129
int concurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition hip_runtime_api.h:149
int integrated
APU vs dGPU.
Definition hip_runtime_api.h:122
int canMapHostMemory
Check whether HIP can map host memory.
Definition hip_runtime_api.h:119
int asicRevision
Revision of the GPU in this device.
Definition hip_runtime_api.h:146
size_t totalGlobalMem
Size of global memory region (in bytes).
Definition hip_runtime_api.h:89
int cooperativeMultiDeviceUnmatchedBlockDim
Definition hip_runtime_api.h:141
int concurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition hip_runtime_api.h:113
int isLargeBar
1: if it is a large PCI bar device, else 0
Definition hip_runtime_api.h:145
int gcnArch
DEPRECATED: use gcnArchName instead.
Definition hip_runtime_api.h:120
int multiProcessorCount
Number of multi-processors (compute units).
Definition hip_runtime_api.h:106
int maxGridSize[3]
Max grid dimensions (XYZ).
Definition hip_runtime_api.h:95
int pciDeviceID
PCI Device ID.
Definition hip_runtime_api.h:116
int computeMode
Compute mode.
Definition hip_runtime_api.h:109
int major
Definition hip_runtime_api.h:100
int warpSize
Warp size.
Definition hip_runtime_api.h:92
int tccDriver
1:If device is Tesla device using TCC driver, else 0
Definition hip_runtime_api.h:136
int cooperativeMultiDeviceUnmatchedSharedMem
Definition hip_runtime_api.h:143
int maxThreadsPerBlock
Max work items per work group or workgroup max size.
Definition hip_runtime_api.h:93
hipDeviceArch_t arch
Architectural feature flags. New for HIP.
Definition hip_runtime_api.h:112
int managedMemory
Device supports allocating managed memory on this system.
Definition hip_runtime_api.h:147
size_t texturePitchAlignment
Pitch alignment requirement for texture references bound to pitched memory.
Definition hip_runtime_api.h:133
Definition driver_types.h:358
Definition hip_runtime_api.h:971
unsigned int flags
Definition hip_runtime_api.h:974
unsigned long long offset
Definition hip_runtime_api.h:972
unsigned long long size
Definition hip_runtime_api.h:973
Definition hip_runtime_api.h:959
unsigned int flags
Definition hip_runtime_api.h:969
const void * name
Definition hip_runtime_api.h:965
int fd
Definition hip_runtime_api.h:962
unsigned long long size
Definition hip_runtime_api.h:968
hipExternalMemoryHandleType type
Definition hip_runtime_api.h:960
void * handle
Definition hip_runtime_api.h:964
Definition hip_runtime_api.h:983
unsigned int flags
Definition hip_runtime_api.h:992
const void * name
Definition hip_runtime_api.h:989
hipExternalSemaphoreHandleType type
Definition hip_runtime_api.h:984
void * handle
Definition hip_runtime_api.h:988
int fd
Definition hip_runtime_api.h:986
Definition hip_runtime_api.h:995
unsigned long long value
Definition hip_runtime_api.h:998
unsigned int flags
Definition hip_runtime_api.h:1005
unsigned long long key
Definition hip_runtime_api.h:1001
Definition hip_runtime_api.h:1011
unsigned long long value
Definition hip_runtime_api.h:1014
unsigned int timeoutMs
Definition hip_runtime_api.h:1018
unsigned long long key
Definition hip_runtime_api.h:1017
unsigned int flags
Definition hip_runtime_api.h:1022
Definition hip_runtime_api.h:538
int cacheModeCA
Definition hip_runtime_api.h:540
int binaryVersion
Definition hip_runtime_api.h:539
size_t constSizeBytes
Definition hip_runtime_api.h:541
int preferredShmemCarveout
Definition hip_runtime_api.h:546
size_t sharedSizeBytes
Definition hip_runtime_api.h:548
int maxDynamicSharedSizeBytes
Definition hip_runtime_api.h:543
int ptxVersion
Definition hip_runtime_api.h:547
int numRegs
Definition hip_runtime_api.h:545
size_t localSizeBytes
Definition hip_runtime_api.h:542
int maxThreadsPerBlock
Definition hip_runtime_api.h:544
Definition hip_runtime_api.h:1108
hipHostFn_t fn
Definition hip_runtime_api.h:1109
void * userData
Definition hip_runtime_api.h:1110
Definition hip_runtime_api.h:528
Definition hip_runtime_api.h:525
Definition hip_runtime_api.h:1112
dim3 gridDim
Definition hip_runtime_api.h:1116
unsigned int sharedMemBytes
Definition hip_runtime_api.h:1118
dim3 blockDim
Definition hip_runtime_api.h:1113
void ** kernelParams
Definition hip_runtime_api.h:1117
void ** extra
Definition hip_runtime_api.h:1114
void * func
Definition hip_runtime_api.h:1115
Definition hip_runtime_api.h:942
size_t sharedMem
Shared memory.
Definition hip_runtime_api.h:947
void ** args
Arguments.
Definition hip_runtime_api.h:946
dim3 blockDim
Block dimentions.
Definition hip_runtime_api.h:945
dim3 gridDim
Grid dimentions.
Definition hip_runtime_api.h:944
void * func
Device function symbol.
Definition hip_runtime_api.h:943
hipStream_t stream
Stream identifier.
Definition hip_runtime_api.h:948
Definition hip_runtime_api.h:830
hipMemAccessFlags flags
Accessibility flags to set.
Definition hip_runtime_api.h:832
hipMemLocation location
Location on which the accessibility has to change.
Definition hip_runtime_api.h:831
Definition hip_runtime_api.h:6378
void * win32HandleMetaData
Metadata for Win32 handles.
Definition hip_runtime_api.h:6382
hipMemAllocationType type
Memory allocation type.
Definition hip_runtime_api.h:6379
unsigned char gpuDirectRDMACapable
RDMA capable.
Definition hip_runtime_api.h:6385
unsigned short usage
Usage.
Definition hip_runtime_api.h:6386
hipMemAllocationHandleType requestedHandleType
Requested handle type.
Definition hip_runtime_api.h:6380
hipMemLocation location
Memory location.
Definition hip_runtime_api.h:6381
unsigned char compressionType
Compression type.
Definition hip_runtime_api.h:6384
Definition hip_runtime_api.h:813
int id
Identifier for the provided location type hipMemLocationType.
Definition hip_runtime_api.h:815
hipMemLocationType type
Specifies the location type, which describes the meaning of id.
Definition hip_runtime_api.h:814
Definition hip_runtime_api.h:861
hipMemLocation location
Location where allocations should reside.
Definition hip_runtime_api.h:864
hipMemAllocationHandleType handleTypes
Handle types that will be supported by allocations from the pool.
Definition hip_runtime_api.h:863
hipMemAllocationType allocType
Allocation type. Currently must be specified as hipMemAllocationTypePinned.
Definition hip_runtime_api.h:862
unsigned char reserved[64]
Reserved for future use, must be 0.
Definition hip_runtime_api.h:869
void * win32SecurityAttributes
Definition hip_runtime_api.h:868
Definition hip_runtime_api.h:874
unsigned char reserved[64]
Definition hip_runtime_api.h:875
Definition driver_types.h:369
Definition hip_runtime_api.h:1120
void * dst
Definition hip_runtime_api.h:1121
unsigned int value
Definition hip_runtime_api.h:1125
unsigned int elementSize
Definition hip_runtime_api.h:1122
size_t width
Definition hip_runtime_api.h:1126
size_t pitch
Definition hip_runtime_api.h:1124
size_t height
Definition hip_runtime_api.h:1123
Definition driver_types.h:117
Definition driver_types.h:352
Definition hip_runtime_api.h:172
int device
Definition hip_runtime_api.h:174
enum hipMemoryType memoryType
Definition hip_runtime_api.h:173
void * hostPointer
Definition hip_runtime_api.h:176
int isManaged
Definition hip_runtime_api.h:177
void * devicePointer
Definition hip_runtime_api.h:175
unsigned allocationFlags
Definition hip_runtime_api.h:178
Definition driver_types.h:258
Definition driver_types.h:314
Definition texture_types.h:109
Definition hip_runtime_api.h:76
Definition texture_types.h:88
Defines surface types for HIP runtime.
struct __hip_surface * hipSurfaceObject_t
Definition surface_types.h:34
struct __hip_texture * hipTextureObject_t
Definition texture_types.h:63
hipTextureAddressMode
Definition texture_types.h:68
hipTextureFilterMode
Definition texture_types.h:78
Definition hip_runtime_api.h:1150
int cooperative
Definition hip_runtime_api.h:1152
hipAccessPolicyWindow accessPolicyWindow
Definition hip_runtime_api.h:1151