include/hip/hip_runtime_api.h Source File

include/hip/hip_runtime_api.h Source File#

HIP Runtime API Reference: include/hip/hip_runtime_api.h Source File
hip_runtime_api.h
Go to the documentation of this file.
1/*
2Copyright (c) 2015 - 2023 Advanced Micro Devices, Inc. All rights reserved.
3
4Permission is hereby granted, free of charge, to any person obtaining a copy
5of this software and associated documentation files (the "Software"), to deal
6in the Software without restriction, including without limitation the rights
7to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8copies of the Software, and to permit persons to whom the Software is
9furnished to do so, subject to the following conditions:
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20THE SOFTWARE.
21*/
22
31#ifndef HIP_INCLUDE_HIP_HIP_RUNTIME_API_H
32#define HIP_INCLUDE_HIP_HIP_RUNTIME_API_H
33
34#if __cplusplus
35#include <climits>
36#include <cstdint>
37#include <cstdlib>
38#else
39#include <limits.h>
40#include <stdint.h>
41#include <stdlib.h>
42#endif
43
44#include <hip/hip_version.h>
45#include <hip/hip_common.h>
46#include <hip/linker_types.h>
47
48enum {
53};
54// hack to get these to show up in Doxygen:
64typedef struct {
65 // 32-bit Atomics
66 unsigned hasGlobalInt32Atomics : 1;
68 unsigned hasSharedInt32Atomics : 1;
70 unsigned hasFloatAtomicAdd : 1;
71
72 // 64-bit Atomics
73 unsigned hasGlobalInt64Atomics : 1;
74 unsigned hasSharedInt64Atomics : 1;
75
76 // Doubles
77 unsigned hasDoubles : 1;
78
79 // Warp cross-lane operations
80 unsigned hasWarpVote : 1;
81 unsigned hasWarpBallot : 1;
82 unsigned hasWarpShuffle : 1;
83 unsigned hasFunnelShift : 1;
84
85 // Sync
86 unsigned hasThreadFenceSystem : 1;
87 unsigned hasSyncThreadsExt : 1;
88
89 // Misc
90 unsigned hasSurfaceFuncs : 1;
91 unsigned has3dGrid : 1;
92 unsigned hasDynamicParallelism : 1;
94
95typedef struct hipUUID_t {
96 char bytes[16];
97} hipUUID;
98
99//---
100// Common headers for both NVCC and HIP-Clang paths:
101
102#define hipGetDeviceProperties hipGetDevicePropertiesR0600
103#define hipDeviceProp_t hipDeviceProp_tR0600
104#define hipChooseDevice hipChooseDeviceR0600
105
110typedef struct hipDeviceProp_t {
111 char name[256];
113 char luid[8];
114 unsigned int luidDeviceNodeMask;
119 size_t memPitch;
123 int maxGridSize[3];
127 int major;
131 int minor;
199 size_t
218 unsigned int
225 int reserved[63];
226
227 int hipReserved[32];
228
229 /* HIP Only struct members */
230 char gcnArchName[256];
235 unsigned int* hdpMemFlushCntl;
236 unsigned int* hdpRegFlushCntl;
252
272
276typedef struct hipPointerAttribute_t {
282 unsigned allocationFlags; /* flags specified when memory was allocated*/
283 /* peers? */
285
286// Ignoring error-code return values from hip APIs is discouraged. On C++17,
287// we can make that yield a warning
288#if __cplusplus >= 201703L
289#define __HIP_NODISCARD [[nodiscard]]
290#else
291#define __HIP_NODISCARD
292#endif
293
298// Developer note - when updating these, update the hipErrorName and hipErrorString functions in
299// NVCC and HIP-Clang paths Also update the hipCUDAErrorTohipError function in NVCC path.
300
306 // Deprecated
309 // Deprecated
331 // Deprecated
353 // Deprecated
357 hipErrorNotReady = 600,
409 // HSA Runtime Error Codes start here.
410 hipErrorRuntimeMemory = 1052,
412 hipErrorRuntimeOther = 1053,
416
417#undef __HIP_NODISCARD
418
425
525
528
555
558 // Extended attributes for vendors
560
566
573
578
584
585#if defined(__HIP_PLATFORM_AMD__) && !defined(__HIP_PLATFORM_NVIDIA__)
586
587#ifndef GENERIC_GRID_LAUNCH
588#define GENERIC_GRID_LAUNCH 1
589#endif
590#include <hip/amd_detail/host_defines.h>
591#include <hip/driver_types.h>
592#include <hip/texture_types.h>
593#include <hip/surface_types.h>
594#if defined(_MSC_VER)
595#define HIP_DEPRECATED(msg) __declspec(deprecated(msg))
596#else // !defined(_MSC_VER)
597#define HIP_DEPRECATED(msg) __attribute__ ((deprecated(msg)))
598#endif // !defined(_MSC_VER)
599#define HIP_DEPRECATED_MSG "This API is marked as deprecated and might not be supported in future releases. For more details please refer https://github.com/ROCm/HIP/blob/develop/docs/reference/deprecated_api_list.md"
600#define HIP_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
601#define HIP_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
602#define HIP_LAUNCH_PARAM_END ((void*)0x03)
603#ifdef __cplusplus
604 #define __dparm(x) \
605 = x
606#else
607 #define __dparm(x)
608#endif
609#ifdef __GNUC__
610#pragma GCC visibility push (default)
611#endif
612#ifdef __cplusplus
613namespace hip_impl {
615} // namespace hip_impl
616#endif
617// Structure definitions:
618#ifdef __cplusplus
619extern "C" {
620#endif
621//---
622// API-visible structures
623typedef struct ihipCtx_t* hipCtx_t;
624// Note many APIs also use integer deviceIds as an alternative to the device pointer:
625typedef int hipDevice_t;
632typedef struct ihipStream_t* hipStream_t;
633#define hipIpcMemLazyEnablePeerAccess 0x01
634#define HIP_IPC_HANDLE_SIZE 64
635typedef struct hipIpcMemHandle_st {
636 char reserved[HIP_IPC_HANDLE_SIZE];
638typedef struct hipIpcEventHandle_st {
639 char reserved[HIP_IPC_HANDLE_SIZE];
641typedef struct ihipModule_t* hipModule_t;
642typedef struct ihipModuleSymbol_t* hipFunction_t;
643typedef struct ihipLinkState_t* hipLinkState_t;
647typedef struct ihipMemPoolHandle_t* hipMemPool_t;
648
661typedef struct ihipEvent_t* hipEvent_t;
662
687
691//Flags that can be used with hipStreamCreateWithFlags.
693#define hipStreamDefault 0x00
694
696#define hipStreamNonBlocking 0x01
697
698//Flags that can be used with hipEventCreateWithFlags.
700#define hipEventDefault 0x0
701
703#define hipEventBlockingSync 0x1
704
706#define hipEventDisableTiming 0x2
707
709#define hipEventInterprocess 0x4
710
711//Flags that can be used with hipEventRecordWithFlags.
713#define hipEventRecordDefault 0x00
714
716#define hipEventRecordExternal 0x01
717
718//Flags that can be used with hipStreamWaitEvent.
720#define hipEventWaitDefault 0x00
721
723#define hipEventWaitExternal 0x01
724
733#define hipEventDisableSystemFence 0x20000000
734
737#define hipEventReleaseToDevice 0x40000000
738
741#define hipEventReleaseToSystem 0x80000000
742
743//Flags that can be used with hipHostMalloc/hipHostAlloc.
745#define hipHostAllocDefault 0x0
746
749#define hipHostMallocDefault 0x0
750
752#define hipHostAllocPortable 0x1
753
756#define hipHostMallocPortable 0x1
757
760#define hipHostAllocMapped 0x2
761
765#define hipHostMallocMapped 0x2
766
770#define hipHostAllocWriteCombined 0x4
771
777#define hipHostMallocWriteCombined 0x4
778
784#define hipHostMallocUncached 0x10000000
785#define hipHostAllocUncached hipHostMallocUncached
786
791#define hipHostMallocNumaUser 0x20000000
792
794#define hipHostMallocCoherent 0x40000000
795
797#define hipHostMallocNonCoherent 0x80000000
798
800#define hipMemAttachGlobal 0x01
801
803#define hipMemAttachHost 0x02
804
806#define hipMemAttachSingle 0x04
807
808#define hipDeviceMallocDefault 0x0
809
811#define hipDeviceMallocFinegrained 0x1
812
814#define hipMallocSignalMemory 0x2
815
817#define hipDeviceMallocUncached 0x3
818
820#define hipDeviceMallocContiguous 0x4
821
822//Flags that can be used with hipHostRegister.
824#define hipHostRegisterDefault 0x0
825
827#define hipHostRegisterPortable 0x1
828
831#define hipHostRegisterMapped 0x2
832
834#define hipHostRegisterIoMemory 0x4
835
837#define hipHostRegisterReadOnly 0x08
838
840#define hipExtHostRegisterCoarseGrained 0x8
841
845#define hipExtHostRegisterUncached 0x80000000
846
848#define hipDeviceScheduleAuto 0x0
849
852#define hipDeviceScheduleSpin 0x1
853
856#define hipDeviceScheduleYield 0x2
857#define hipDeviceScheduleBlockingSync 0x4
858#define hipDeviceScheduleMask 0x7
859#define hipDeviceMapHost 0x8
860#define hipDeviceLmemResizeToMax 0x10
862#define hipArrayDefault 0x00
863#define hipArrayLayered 0x01
864#define hipArraySurfaceLoadStore 0x02
865#define hipArrayCubemap 0x04
866#define hipArrayTextureGather 0x08
867#define hipOccupancyDefault 0x00
868#define hipOccupancyDisableCachingOverride 0x01
869#define hipCooperativeLaunchMultiDeviceNoPreSync 0x01
870#define hipCooperativeLaunchMultiDeviceNoPostSync 0x02
871#define hipCpuDeviceId ((int)-1)
872#define hipInvalidDeviceId ((int)-2)
873//Flags that can be used with hipExtLaunch Set of APIs.
875#define hipExtAnyOrderLaunch 0x01
876// Flags to be used with hipStreamWaitValue32 and hipStreamWaitValue64.
877#define hipStreamWaitValueGte 0x0
878#define hipStreamWaitValueEq 0x1
879#define hipStreamWaitValueAnd 0x2
880#define hipStreamWaitValueNor 0x3
881
891
960
994
995// Stream per thread
997#define hipStreamPerThread ((hipStream_t)2)
998
999#define hipStreamLegacy ((hipStream_t)1)
1000
1001// Indicates that the external memory object is a dedicated resource
1002#define hipExternalMemoryDedicated 0x1
1052
1187 unsigned char reserved[64];
1189
1220typedef struct dim3 {
1221 uint32_t x;
1222 uint32_t y;
1223 uint32_t z;
1224#ifdef __cplusplus
1225 constexpr __host__ __device__ dim3(uint32_t _x = 1, uint32_t _y = 1, uint32_t _z = 1) : x(_x), y(_y), z(_z){};
1226#endif
1227} dim3;
1231typedef struct hipLaunchParams_t {
1232 void* func;
1235 void **args;
1236 size_t sharedMem;
1242typedef struct hipFunctionLaunchParams_t {
1244 unsigned int gridDimX;
1245 unsigned int gridDimY;
1246 unsigned int gridDimZ;
1247 unsigned int blockDimX;
1248 unsigned int blockDimY;
1249 unsigned int blockDimZ;
1250 unsigned int sharedMemBytes;
1264typedef struct hipExternalMemoryHandleDesc_st {
1266 union {
1267 int fd;
1268 struct {
1269 void *handle;
1270 const void *name;
1271 } win32;
1272 const void *nvSciBufObject;
1273 } handle;
1274 unsigned long long size;
1275 unsigned int flags;
1276 unsigned int reserved[16];
1278typedef struct hipExternalMemoryBufferDesc_st {
1279 unsigned long long offset;
1280 unsigned long long size;
1281 unsigned int flags;
1282 unsigned int reserved[16];
1284typedef struct hipExternalMemoryMipmappedArrayDesc_st {
1285 unsigned long long offset;
1288 unsigned int flags;
1289 unsigned int numLevels;
1304typedef struct hipExternalSemaphoreHandleDesc_st {
1306 union {
1307 int fd;
1308 struct {
1309 void* handle;
1310 const void* name;
1311 } win32;
1312 const void* NvSciSyncObj;
1313 } handle;
1314 unsigned int flags;
1315 unsigned int reserved[16];
1318typedef struct hipExternalSemaphoreSignalParams_st {
1319 struct {
1320 struct {
1321 unsigned long long value;
1322 } fence;
1323 union {
1324 void *fence;
1325 unsigned long long reserved;
1326 } nvSciSync;
1327 struct {
1328 unsigned long long key;
1329 } keyedMutex;
1330 unsigned int reserved[12];
1331 } params;
1332 unsigned int flags;
1333 unsigned int reserved[16];
1338typedef struct hipExternalSemaphoreWaitParams_st {
1339 struct {
1340 struct {
1341 unsigned long long value;
1342 } fence;
1343 union {
1344 void *fence;
1345 unsigned long long reserved;
1346 } nvSciSync;
1347 struct {
1348 unsigned long long key;
1349 unsigned int timeoutMs;
1350 } keyedMutex;
1351 unsigned int reserved[10];
1352 } params;
1353 unsigned int flags;
1354 unsigned int reserved[16];
1356
1357#if __HIP_HAS_GET_PCH
1362 void __hipGetPCH(const char** pch, unsigned int*size);
1363#endif
1364
1377
1378typedef struct _hipGraphicsResource hipGraphicsResource;
1379
1381
1385typedef struct ihipGraph* hipGraph_t;
1389typedef struct hipGraphNode* hipGraphNode_t;
1393typedef struct hipGraphExec* hipGraphExec_t;
1394
1398typedef struct hipUserObject* hipUserObject_t;
1399
1400
1422
1423typedef void (*hipHostFn_t)(void* userData);
1436typedef struct hipMemsetParams {
1437 void* dst;
1438 unsigned int elementSize;
1439 size_t height;
1440 size_t pitch;
1441 unsigned int value;
1442 size_t width;
1444
1454
1455
1468
1478
1479
1489
1493#define hipKernelNodeAttrID hipLaunchAttributeID
1494#define hipKernelNodeAttributeAccessPolicyWindow hipLaunchAttributeAccessPolicyWindow
1495#define hipKernelNodeAttributeCooperative hipLaunchAttributeCooperative
1496#define hipKernelNodeAttributePriority hipLaunchAttributePriority
1497
1501#define hipKernelNodeAttrValue hipLaunchAttributeValue
1502
1506#define hipDrvLaunchAttributeCooperative hipLaunchAttributeCooperative
1507
1508#define hipDrvLaunchAttributeID hipLaunchAttributeID
1509#define hipDrvLaunchAttributeValue hipLaunchAttributeValue
1510#define hipDrvLaunchAttribute hipLaunchAttribute
1511
1529
1541
1546
1556
1560
1571
1590
1605
1616
1617
1635
1647
1659
1663typedef struct ihipMemGenericAllocationHandle* hipMemGenericAllocationHandle_t;
1664
1672
1679
1687
1695
1699typedef struct hipArrayMapInfo {
1701 union {
1706 union {
1707 struct {
1708 unsigned int level;
1709 unsigned int layer;
1710 unsigned int offsetX;
1711 unsigned int offsetY;
1712 unsigned int offsetZ;
1713 unsigned int extentWidth;
1714 unsigned int extentHeight;
1715 unsigned int extentDepth;
1717 struct {
1718 unsigned int layer;
1719 unsigned long long offset;
1720 unsigned long long size;
1725 union {
1728 unsigned long long offset;
1729 unsigned int deviceBitMask;
1730 unsigned int flags;
1731 unsigned int reserved[2];
1733
1742
1750
1757
1764
1771
1795
1799#define hipGraphKernelNodePortDefault 0
1800
1804#define hipGraphKernelNodePortLaunchCompletion 2
1805
1811#define hipGraphKernelNodePortProgrammatic 1
1812
1817
1818typedef struct hipGraphEdgeData {
1819 unsigned char
1827 unsigned char reserved[5];
1828 unsigned char
1830 unsigned char type;
1832
1833
1837typedef struct hipLaunchAttribute_st {
1839 char pad[8 - sizeof(hipLaunchAttributeID)];
1840 union {
1843 };
1845
1857
1861typedef struct HIP_LAUNCH_CONFIG_st {
1862 unsigned int gridDimX;
1863 unsigned int gridDimY;
1864 unsigned int gridDimZ;
1865 unsigned int blockDimX;
1866 unsigned int blockDimY;
1867 unsigned int blockDimZ;
1868 unsigned int sharedMemBytes;
1871 unsigned int numAttrs;
1873
1881
1889
1890// Doxygen end group GlobalDefs
1916// TODO-ctx - more description on error codes.
1917hipError_t hipInit(unsigned int flags);
1918
1960
1969hipError_t hipDeviceComputeCapability(int* major, int* minor, hipDevice_t device);
1978hipError_t hipDeviceGetName(char* name, int len, hipDevice_t device);
2001 int srcDevice, int dstDevice);
2010hipError_t hipDeviceGetPCIBusId(char* pciBusId, int len, int device);
2018hipError_t hipDeviceGetByPCIBusId(int* device, const char* pciBusId);
2027// doxygen end initialization
2102hipError_t hipSetValidDevices(int* device_arr, int len);
2227 const hipChannelFormatDesc* desc,
2228 int device);
2265hipError_t hipDeviceGetLimit(size_t* pValue, enum hipLimit_t limit);
2285hipError_t hipDeviceSetLimit ( enum hipLimit_t limit, size_t value );
2305hipError_t hipGetDeviceFlags(unsigned int* flags);
2371hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t* linktype, uint32_t* hopcount);
2372// TODO: implement IPC apis
2432hipError_t hipIpcOpenMemHandle(void** devPtr, hipIpcMemHandle_t handle, unsigned int flags);
2451
2469
2488
2489// end doxygen Device
2513hipError_t hipFuncSetAttribute(const void* func, hipFuncAttribute attr, int value);
2539//doxygen end execution
2562
2575
2595const char* hipGetErrorName(hipError_t hip_error);
2604const char* hipGetErrorString(hipError_t hipError);
2614hipError_t hipDrvGetErrorName(hipError_t hipError, const char** errorString);
2624hipError_t hipDrvGetErrorString(hipError_t hipError, const char** errorString);
2625// end doxygen Error
2699hipError_t hipStreamCreateWithPriority(hipStream_t* stream, unsigned int flags, int priority);
2718hipError_t hipDeviceGetStreamPriorityRange(int* leastPriority, int* greatestPriority);
2801hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags __dparm(0));
2811hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int* flags);
2852hipError_t hipExtStreamCreateWithCUMask(hipStream_t* stream, uint32_t cuMaskSize, const uint32_t* cuMask);
2865hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t* cuMask);
2869typedef void (*hipStreamCallback_t)(hipStream_t stream, hipError_t status, void* userData);
2886 unsigned int flags);
2887// end doxygen Stream
2935hipError_t hipStreamWaitValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags,
2936 uint32_t mask __dparm(0xFFFFFFFF));
2937
2974hipError_t hipStreamWaitValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags,
2975 uint64_t mask __dparm(0xFFFFFFFFFFFFFFFF));
2976
2997hipError_t hipStreamWriteValue32(hipStream_t stream, void* ptr, uint32_t value, unsigned int flags);
3018hipError_t hipStreamWriteValue64(hipStream_t stream, void* ptr, uint64_t value, unsigned int flags);
3019
3039hipError_t hipStreamBatchMemOp(hipStream_t stream, unsigned int count,
3040 hipStreamBatchMemOpParams* paramArray, unsigned int flags);
3041
3060 const hipGraphNode_t *dependencies, size_t numDependencies,
3061 const hipBatchMemOpNodeParams* nodeParams);
3062
3084 hipBatchMemOpNodeParams* nodeParams_out);
3085
3104 hipBatchMemOpNodeParams* nodeParams);
3105
3126 const hipBatchMemOpNodeParams* nodeParams);
3127
3128// end doxygen Stream Memory Operations
3214 unsigned int flags __dparm(0));
3245#ifdef __cplusplus
3247#else
3249#endif
3332// end doxygen Events
3364 hipDeviceptr_t ptr);
3365
3366
3402 hipDeviceptr_t ptr);
3419hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute* attributes,
3420 void** data, hipDeviceptr_t ptr);
3445 const hipExternalSemaphoreHandleDesc* semHandleDesc);
3462 const hipExternalSemaphoreSignalParams* paramsArray,
3463 unsigned int numExtSems, hipStream_t stream);
3480 const hipExternalSemaphoreWaitParams* paramsArray,
3481 unsigned int numExtSems, hipStream_t stream);
3495
3544 const hipExternalMemoryMipmappedArrayDesc* mipmapDesc);
3545 // end of external resource
3562hipError_t hipMalloc(void** ptr, size_t size);
3582hipError_t hipExtMallocWithFlags(void** ptr, size_t sizeBytes, unsigned int flags);
3583
3584
3607HIP_DEPRECATED("use hipHostMalloc instead")
3608hipError_t hipMallocHost(void** ptr, size_t size);
3621HIP_DEPRECATED("use hipHostMalloc instead")
3622hipError_t hipMemAllocHost(void** ptr, size_t size);
3623// end doxygen deprecated management memory
3660hipError_t hipHostMalloc(void** ptr, size_t size, unsigned int flags);
3696 size_t size,
3697 unsigned int flags __dparm(hipMemAttachGlobal));
3711 size_t count,
3712 int device,
3713 hipStream_t stream __dparm(0));
3733hipError_t hipMemAdvise(const void* dev_ptr,
3734 size_t count,
3735 hipMemoryAdvise advice,
3736 int device);
3752 size_t data_size,
3753 hipMemRangeAttribute attribute,
3754 const void* dev_ptr,
3755 size_t count);
3773 size_t* data_sizes,
3774 hipMemRangeAttribute* attributes,
3775 size_t num_attributes,
3776 const void* dev_ptr,
3777 size_t count);
3794 void* dev_ptr,
3795 size_t length __dparm(0),
3796 unsigned int flags __dparm(hipMemAttachSingle));
3797// end doxygen Managed Memory
3857hipError_t hipMallocAsync(void** dev_ptr, size_t size, hipStream_t stream);
3882hipError_t hipFreeAsync(void* dev_ptr, hipStream_t stream);
3910hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold);
4006hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc* desc_list, size_t count);
4111hipError_t hipMallocFromPoolAsync(void** dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream);
4139 void* shared_handle,
4140 hipMemPool_t mem_pool,
4141 hipMemAllocationHandleType handle_type,
4142 unsigned int flags);
4167 hipMemPool_t* mem_pool,
4168 void* shared_handle,
4169 hipMemAllocationHandleType handle_type,
4170 unsigned int flags);
4220 void** dev_ptr,
4221 hipMemPool_t mem_pool,
4222 hipMemPoolPtrExportData* export_data);
4223// Doxygen end of ordered memory allocator
4247hipError_t hipHostAlloc(void** ptr, size_t size, unsigned int flags);
4259hipError_t hipHostGetDevicePointer(void** devPtr, void* hstPtr, unsigned int flags);
4269hipError_t hipHostGetFlags(unsigned int* flagsPtr, void* hostPtr);
4307hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags);
4335hipError_t hipMallocPitch(void** ptr, size_t* pitch, size_t width, size_t height);
4358hipError_t hipMemAllocPitch(hipDeviceptr_t* dptr, size_t* pitch, size_t widthInBytes, size_t height,
4359 unsigned int elementSizeBytes);
4432hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
4447hipError_t hipMemcpyWithStream(void* dst, const void* src, size_t sizeBytes,
4448 hipMemcpyKind kind, hipStream_t stream);
4466hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, const void* src, size_t sizeBytes);
4484hipError_t hipMemcpyDtoH(void* dst, hipDeviceptr_t src, size_t sizeBytes);
4521hipError_t hipMemcpyAtoD(hipDeviceptr_t dstDevice, hipArray_t srcArray, size_t srcOffset,
4522 size_t ByteCount);
4541hipError_t hipMemcpyDtoA(hipArray_t dstArray, size_t dstOffset, hipDeviceptr_t srcDevice,
4542 size_t ByteCount);
4543
4563hipError_t hipMemcpyAtoA(hipArray_t dstArray, size_t dstOffset, hipArray_t srcArray,
4564 size_t srcOffset, size_t ByteCount);
4583hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, const void* src, size_t sizeBytes,
4584 hipStream_t stream);
4603hipError_t hipMemcpyDtoHAsync(void* dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream);
4623 hipStream_t stream);
4643hipError_t hipMemcpyAtoHAsync(void* dstHost, hipArray_t srcArray, size_t srcOffset,
4644 size_t ByteCount, hipStream_t stream);
4664hipError_t hipMemcpyHtoAAsync(hipArray_t dstArray, size_t dstOffset, const void* srcHost,
4665 size_t ByteCount, hipStream_t stream);
4683 hipModule_t hmod, const char* name);
4684
4694hipError_t hipGetSymbolAddress(void** devPtr, const void* symbol);
4695
4696
4697
4707hipError_t hipGetSymbolSize(size_t* size, const void* symbol);
4708
4728hipError_t hipGetProcAddress(const char* symbol, void** pfn, int hipVersion, uint64_t flags,
4729 hipDriverProcAddressQueryResult* symbolStatus);
4730
4751hipError_t hipMemcpyToSymbol(const void* symbol, const void* src,
4752 size_t sizeBytes, size_t offset __dparm(0),
4754
4768hipError_t hipMemcpyToSymbolAsync(const void* symbol, const void* src,
4769 size_t sizeBytes, size_t offset,
4770 hipMemcpyKind kind, hipStream_t stream __dparm(0));
4771
4784hipError_t hipMemcpyFromSymbol(void* dst, const void* symbol,
4785 size_t sizeBytes, size_t offset __dparm(0),
4787
4801hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbol,
4802 size_t sizeBytes, size_t offset,
4803 hipMemcpyKind kind,
4804 hipStream_t stream __dparm(0));
4833hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind,
4834 hipStream_t stream __dparm(0));
4844hipError_t hipMemset(void* dst, int value, size_t sizeBytes);
4854hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count);
4870hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0));
4880hipError_t hipMemsetD16(hipDeviceptr_t dest, unsigned short value, size_t count);
4896hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0));
4906hipError_t hipMemsetD32(hipDeviceptr_t dest, int value, size_t count);
4922hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0));
4938hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count,
4939 hipStream_t stream __dparm(0));
4950hipError_t hipMemset2D(void* dst, size_t pitch, int value, size_t width, size_t height);
4962hipError_t hipMemset2DAsync(void* dst, size_t pitch, int value, size_t width, size_t height,hipStream_t stream __dparm(0));
4971hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent );
4981hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent ,hipStream_t stream __dparm(0));
4998hipError_t hipMemGetInfo(size_t* free, size_t* total);
4999
5011hipError_t hipMemPtrGetInfo(void* ptr, size_t* size);
5025 size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault));
5090 struct hipExtent extent, unsigned int flags);
5103hipError_t hipArrayGetInfo(hipChannelFormatDesc* desc, hipExtent* extent, unsigned int* flags,
5104 hipArray_t array);
5175hipError_t hipMemcpy2D(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
5176 size_t height, hipMemcpyKind kind);
5238hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t spitch, size_t width,
5239 size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0));
5257hipError_t hipMemcpy2DToArray(hipArray_t dst, size_t wOffset, size_t hOffset, const void* src,
5258 size_t spitch, size_t width, size_t height, hipMemcpyKind kind);
5277hipError_t hipMemcpy2DToArrayAsync(hipArray_t dst, size_t wOffset, size_t hOffset, const void* src,
5278 size_t spitch, size_t width, size_t height, hipMemcpyKind kind,
5279 hipStream_t stream __dparm(0));
5298hipError_t hipMemcpy2DArrayToArray(hipArray_t dst, size_t wOffsetDst, size_t hOffsetDst,
5299 hipArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc,
5300 size_t width, size_t height, hipMemcpyKind kind);
5320hipError_t hipMemcpyToArray(hipArray_t dst, size_t wOffset, size_t hOffset, const void* src,
5321 size_t count, hipMemcpyKind kind);
5341hipError_t hipMemcpyFromArray(void* dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset,
5342 size_t count, hipMemcpyKind kind);
5360hipError_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);
5379hipError_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));
5393hipError_t hipMemcpyAtoH(void* dst, hipArray_t srcArray, size_t srcOffset, size_t count);
5407hipError_t hipMemcpyHtoA(hipArray_t dstArray, size_t dstOffset, const void* srcHost, size_t count);
5467// doxygen end Memory
5502hipError_t hipDeviceCanAccessPeer(int* canAccessPeer, int deviceId, int peerDeviceId);
5517hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags);
5529
5541hipError_t hipMemcpyPeer(void* dst, int dstDeviceId, const void* src, int srcDeviceId,
5542 size_t sizeBytes);
5555hipError_t hipMemcpyPeerAsync(void* dst, int dstDeviceId, const void* src, int srcDevice,
5556 size_t sizeBytes, hipStream_t stream __dparm(0));
5557
5558// doxygen end PeerToPeer
5600hipError_t hipCtxCreate(hipCtx_t* ctx, unsigned int flags, hipDevice_t device);
5712hipError_t hipCtxGetApiVersion(hipCtx_t ctx, unsigned int* apiVersion);
5815hipError_t hipCtxGetFlags(unsigned int* flags);
5839hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags);
5861
5878hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int* flags, int* active);
5943// doxygen end Context Management
5970hipError_t hipModuleLoad(hipModule_t* module, const char* fname);
5991hipError_t hipModuleGetFunction(hipFunction_t* function, hipModule_t module, const char* kname);
6000hipError_t hipFuncGetAttributes(struct hipFuncAttributes* attr, const void* func);
6020hipError_t hipGetFuncBySymbol(hipFunction_t* functionPtr, const void* symbolPtr);
6040hipError_t hipModuleLoadData(hipModule_t* module, const void* image);
6053hipError_t hipModuleLoadDataEx(hipModule_t* module, const void* image, unsigned int numOptions,
6054 hipJitOption* options, void** optionValues);
6073hipError_t hipLinkAddData(hipLinkState_t state, hipJitInputType type, void* data, size_t size,
6074 const char* name, unsigned int numOptions, hipJitOption* options,
6075 void** optionValues);
6076
6093hipError_t hipLinkAddFile(hipLinkState_t state, hipJitInputType type, const char* path, unsigned int numOptions,
6094 hipJitOption* options, void** optionValues);
6095
6110hipError_t hipLinkComplete(hipLinkState_t state, void** hipBinOut, size_t* sizeOut);
6111
6123hipError_t hipLinkCreate(unsigned int numOptions, hipJitOption* options,
6124 void** optionValues, hipLinkState_t* stateOut);
6134
6163hipError_t hipModuleLaunchKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY,
6164 unsigned int gridDimZ, unsigned int blockDimX,
6165 unsigned int blockDimY, unsigned int blockDimZ,
6166 unsigned int sharedMemBytes, hipStream_t stream,
6167 void** kernelParams, void** extra);
6197 unsigned int gridDimY, unsigned int gridDimZ,
6198 unsigned int blockDimX, unsigned int blockDimY,
6199 unsigned int blockDimZ, unsigned int sharedMemBytes,
6200 hipStream_t stream, void** kernelParams);
6216 unsigned int numDevices,
6217 unsigned int flags);
6238hipError_t hipLaunchCooperativeKernel(const void* f, dim3 gridDim, dim3 blockDimX,
6239 void** kernelParams, unsigned int sharedMemBytes,
6240 hipStream_t stream);
6253 int numDevices, unsigned int flags);
6254
6255// Doxygen end group ModuleCooperativeG
6269 int numDevices, unsigned int flags);
6283hipError_t hipLaunchKernelExC(const hipLaunchConfig_t* config, const void* fPtr, void** args);
6300 void** extra);
6316 hipMemRangeHandleType handleType,
6317 unsigned long long flags);
6318// doxygen end Module
6346//TODO - Match CUoccupancyB2DSize
6348 hipFunction_t f, size_t dynSharedMemPerBlk,
6349 int blockSizeLimit);
6365//TODO - Match CUoccupancyB2DSize
6367 hipFunction_t f, size_t dynSharedMemPerBlk,
6368 int blockSizeLimit, unsigned int flags);
6379 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk);
6391 int* numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags);
6402 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk);
6414 int* numBlocks, const void* f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault));
6429hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
6430 const void* f, size_t dynSharedMemPerBlk,
6431 int blockSizeLimit);
6432// doxygen end Occupancy
6446// TODO - expand descriptions:
6453HIP_DEPRECATED("use roctracer/rocTX instead")
6461HIP_DEPRECATED("use roctracer/rocTX instead")
6463// doxygen end profiler
6490hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0));
6501hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
6510hipError_t hipLaunchByPtr(const void* func);
6528 dim3 blockDim,
6529 size_t sharedMem __dparm(0),
6530 hipStream_t stream __dparm(0));
6551 dim3 *blockDim,
6552 size_t *sharedMem,
6553 hipStream_t *stream);
6570hipError_t hipLaunchKernel(const void* function_address,
6571 dim3 numBlocks,
6572 dim3 dimBlocks,
6573 void** args,
6574 size_t sharedMemBytes __dparm(0),
6575 hipStream_t stream __dparm(0));
6576
6603
6612//TODO: Move this to hip_ext.h
6634hipError_t hipExtLaunchKernel(const void* function_address, dim3 numBlocks, dim3 dimBlocks,
6635 void** args, size_t sharedMemBytes, hipStream_t stream,
6636 hipEvent_t startEvent, hipEvent_t stopEvent, int flags);
6637// doxygen end Clang launch
6664 hipTextureObject_t* pTexObject,
6665 const hipResourceDesc* pResDesc,
6666 const hipTextureDesc* pTexDesc,
6667 const struct hipResourceViewDesc* pResViewDesc);
6668
6678
6690 hipArray_const_t array);
6691
6702 hipResourceDesc* pResDesc,
6703 hipTextureObject_t textureObject);
6704
6715 struct hipResourceViewDesc* pResViewDesc,
6716 hipTextureObject_t textureObject);
6717
6728 hipTextureDesc* pTexDesc,
6729 hipTextureObject_t textureObject);
6730
6743 hipTextureObject_t* pTexObject,
6744 const HIP_RESOURCE_DESC* pResDesc,
6745 const HIP_TEXTURE_DESC* pTexDesc,
6746 const HIP_RESOURCE_VIEW_DESC* pResViewDesc);
6747
6757 hipTextureObject_t texObject);
6758
6769 HIP_RESOURCE_DESC* pResDesc,
6770 hipTextureObject_t texObject);
6771
6782 HIP_RESOURCE_VIEW_DESC* pResViewDesc,
6783 hipTextureObject_t texObject);
6784
6795 HIP_TEXTURE_DESC* pTexDesc,
6796 hipTextureObject_t texObject);
6797
6813 hipMipmappedArray_t *mipmappedArray,
6814 const struct hipChannelFormatDesc* desc,
6815 struct hipExtent extent,
6816 unsigned int numLevels,
6817 unsigned int flags __dparm(0));
6818
6829hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray);
6830
6844 hipArray_t *levelArray,
6845 hipMipmappedArray_const_t mipmappedArray,
6846 unsigned int level);
6847
6860 hipMipmappedArray_t* pHandle,
6861 HIP_ARRAY3D_DESCRIPTOR* pMipmappedArrayDesc,
6862 unsigned int numMipmapLevels);
6863
6874hipError_t hipMipmappedArrayDestroy(hipMipmappedArray_t hMipmappedArray);
6875
6889 hipArray_t* pLevelArray,
6890 hipMipmappedArray_t hMipMappedArray,
6891 unsigned int level);
6892
6913 const textureReference* tex,
6914 hipMipmappedArray_const_t mipmappedArray,
6915 const hipChannelFormatDesc* desc);
6916
6929 const textureReference** texref,
6930 const void* symbol);
6931
6943hipError_t hipTexRefGetBorderColor(float* pBorderColor, const textureReference* texRef);
6944
6958
6972 textureReference* texRef,
6973 int dim,
6974 enum hipTextureAddressMode am);
6989 textureReference* tex,
6990 hipArray_const_t array,
6991 unsigned int flags);
7005 textureReference* texRef,
7006 enum hipTextureFilterMode fm);
7020 textureReference* texRef,
7021 unsigned int Flags);
7036 textureReference* texRef,
7037 hipArray_Format fmt,
7038 int NumPackedComponents);
7055 size_t* offset,
7056 const textureReference* tex,
7057 const void* devPtr,
7058 const hipChannelFormatDesc* desc,
7059 size_t size __dparm(UINT_MAX));
7078 size_t* offset,
7079 const textureReference* tex,
7080 const void* devPtr,
7081 const hipChannelFormatDesc* desc,
7082 size_t width,
7083 size_t height,
7084 size_t pitch);
7099 const textureReference* tex,
7100 hipArray_const_t array,
7101 const hipChannelFormatDesc* desc);
7115 size_t* offset,
7116 const textureReference* texref);
7142 hipDeviceptr_t* dev_ptr,
7143 const textureReference* texRef);
7158 enum hipTextureAddressMode* pam,
7159 const textureReference* texRef,
7160 int dim);
7174 enum hipTextureFilterMode* pfm,
7175 const textureReference* texRef);
7189 unsigned int* pFlags,
7190 const textureReference* texRef);
7205 hipArray_Format* pFormat,
7206 int* pNumChannels,
7207 const textureReference* texRef);
7221 int* pmaxAnsio,
7222 const textureReference* texRef);
7236 enum hipTextureFilterMode* pfm,
7237 const textureReference* texRef);
7251 float* pbias,
7252 const textureReference* texRef);
7267 float* pminMipmapLevelClamp,
7268 float* pmaxMipmapLevelClamp,
7269 const textureReference* texRef);
7283 hipMipmappedArray_t* pArray,
7284 const textureReference* texRef);
7300 size_t* ByteOffset,
7301 textureReference* texRef,
7302 hipDeviceptr_t dptr,
7303 size_t bytes);
7319 textureReference* texRef,
7320 const HIP_ARRAY_DESCRIPTOR* desc,
7321 hipDeviceptr_t dptr,
7322 size_t Pitch);
7336 textureReference* texRef,
7337 unsigned int maxAniso);
7351 textureReference* texRef,
7352 float* pBorderColor);
7366 textureReference* texRef,
7367 enum hipTextureFilterMode fm);
7381 textureReference* texRef,
7382 float bias);
7397 textureReference* texRef,
7398 float minMipMapLevelClamp,
7399 float maxMipMapLevelClamp);
7414 textureReference* texRef,
7415 struct hipMipmappedArray* mipmappedArray,
7416 unsigned int Flags);
7417
7418// doxygen end deprecated texture management
7423// doxygen end Texture management
7435// This group is for HIPrtc
7436
7437// doxygen end Runtime
7456const char* hipApiName(uint32_t id);
7465const char* hipKernelNameRef(const hipFunction_t f);
7475const char* hipKernelNameRefByPtr(const void* hostFunction, hipStream_t stream);
7485
7486// doxygen end Callback
7509
7530 const hipGraphNode_t* dependencies,
7531 const hipGraphEdgeData* dependencyData,
7532 size_t numDependencies, hipStreamCaptureMode mode);
7533
7544
7556 unsigned long long* pId);
7557
7572 unsigned long long* id_out __dparm(0),
7573 hipGraph_t* graph_out __dparm(0),
7574 const hipGraphNode_t** dependencies_out __dparm(0),
7575 size_t* numDependencies_out __dparm(0));
7576
7587
7600 size_t numDependencies,
7601 unsigned int flags __dparm(0));
7602
7611
7621hipError_t hipGraphCreate(hipGraph_t* pGraph, unsigned int flags);
7622
7632
7644 const hipGraphNode_t* to, size_t numDependencies);
7645
7657 const hipGraphNode_t* to, size_t numDependencies);
7658
7675 size_t* numEdges);
7676
7691hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t* nodes, size_t* numNodes);
7692
7708 size_t* pNumRootNodes);
7709
7725 size_t* pNumDependencies);
7726
7743 size_t* pNumDependentNodes);
7744
7754
7763
7772hipError_t hipGraphClone(hipGraph_t* pGraphClone, hipGraph_t originalGraph);
7773
7784 hipGraph_t clonedGraph);
7785
7800 hipGraphNode_t* pErrorNode, char* pLogBuffer, size_t bufferSize);
7801
7813 unsigned long long flags);
7814
7825 hipGraphInstantiateParams *instantiateParams);
7835
7845
7858 const hipGraphNode_t *pDependencies, size_t numDependencies,
7859 hipGraphNodeParams *nodeParams);
7860
7869hipError_t hipGraphExecGetFlags(hipGraphExec_t graphExec, unsigned long long* flags);
7870
7880
7891
7901
7902// Check whether an executable graph can be updated with a graph and perform the update if possible.
7915 hipGraphNode_t* hErrorNode_out,
7916 hipGraphExecUpdateResult* updateResult_out);
7917
7930 const hipGraphNode_t* pDependencies, size_t numDependencies,
7931 const hipKernelNodeParams* pNodeParams);
7932
7942
7952
7963 const hipKernelNodeParams* pNodeParams);
7964
7978 const hipGraphNode_t* dependencies,
7979 size_t numDependencies,
7980 const HIP_MEMCPY3D* copyParams, hipCtx_t ctx);
7993 const hipGraphNode_t* pDependencies, size_t numDependencies,
7994 const hipMemcpy3DParms* pCopyParams);
8004
8014
8025 const hipKernelNodeAttrValue* value);
8036 hipKernelNodeAttrValue* value);
8047 hipMemcpy3DParms* pNodeParams);
8048
8064 const hipGraphNode_t* pDependencies, size_t numDependencies,
8065 void* dst, const void* src, size_t count, hipMemcpyKind kind);
8066
8079 size_t count, hipMemcpyKind kind);
8080
8095 void* dst, const void* src, size_t count,
8096 hipMemcpyKind kind);
8097
8114 const hipGraphNode_t* pDependencies,
8115 size_t numDependencies, void* dst, const void* symbol,
8116 size_t count, size_t offset, hipMemcpyKind kind);
8117
8131 size_t count, size_t offset, hipMemcpyKind kind);
8132
8148 void* dst, const void* symbol, size_t count,
8149 size_t offset, hipMemcpyKind kind);
8150
8167 const hipGraphNode_t* pDependencies,
8168 size_t numDependencies, const void* symbol,
8169 const void* src, size_t count, size_t offset,
8170 hipMemcpyKind kind);
8171
8185 const void* src, size_t count, size_t offset,
8186 hipMemcpyKind kind);
8187
8188
8203 const void* symbol, const void* src,
8204 size_t count, size_t offset, hipMemcpyKind kind);
8205
8218 const hipGraphNode_t* pDependencies, size_t numDependencies,
8219 const hipMemsetParams* pMemsetParams);
8220
8230
8240
8251 const hipMemsetParams* pNodeParams);
8252
8265 const hipGraphNode_t* pDependencies, size_t numDependencies,
8266 const hipHostNodeParams* pNodeParams);
8267
8278
8289
8301 const hipHostNodeParams* pNodeParams);
8302
8315 const hipGraphNode_t* pDependencies, size_t numDependencies,
8316 hipGraph_t childGraph);
8317
8327
8338 hipGraph_t childGraph);
8339
8351 const hipGraphNode_t* pDependencies, size_t numDependencies);
8352
8353
8366 const hipGraphNode_t* pDependencies, size_t numDependencies,
8367 hipEvent_t event);
8368
8378
8388
8399 hipEvent_t event);
8400
8413 const hipGraphNode_t* pDependencies, size_t numDependencies,
8414 hipEvent_t event);
8415
8416
8426
8436
8447 hipEvent_t event);
8448
8461 const hipGraphNode_t* pDependencies, size_t numDependencies, hipMemAllocNodeParams* pNodeParams);
8462
8472
8485 const hipGraphNode_t* pDependencies, size_t numDependencies, void* dev_ptr);
8486
8496
8507
8518
8527
8540 unsigned int initialRefcount, unsigned int flags);
8541
8551
8561
8573 unsigned int count __dparm(1), unsigned int flags __dparm(0));
8574
8585 unsigned int count __dparm(1));
8586
8596hipError_t hipGraphDebugDotPrint(hipGraph_t graph, const char* path, unsigned int flags);
8597
8612
8635 unsigned int isEnabled);
8656 unsigned int* isEnabled);
8657
8670 const hipGraphNode_t* pDependencies, size_t numDependencies,
8671 const hipExternalSemaphoreWaitNodeParams* nodeParams);
8672
8685 const hipGraphNode_t* pDependencies, size_t numDependencies,
8686 const hipExternalSemaphoreSignalNodeParams* nodeParams);
8696 const hipExternalSemaphoreSignalNodeParams* nodeParams);
8706 const hipExternalSemaphoreWaitNodeParams* nodeParams);
8737 const hipExternalSemaphoreSignalNodeParams* nodeParams);
8748 const hipExternalSemaphoreWaitNodeParams* nodeParams);
8749
8759
8769
8783 const hipGraphNode_t* dependencies, size_t numDependencies,
8784 const hipMemsetParams* memsetParams, hipCtx_t ctx);
8785
8798 const hipGraphNode_t* dependencies, size_t numDependencies,
8799 hipDeviceptr_t dptr);
8800
8812 const HIP_MEMCPY3D* copyParams, hipCtx_t ctx);
8813
8825 const hipMemsetParams* memsetParams, hipCtx_t ctx);
8826
8827// doxygen end graph API
8858hipError_t hipMemAddressFree(void* devPtr, size_t size);
8859
8874hipError_t hipMemAddressReserve(void** ptr, size_t size, size_t alignment, void* addr, unsigned long long flags);
8875
8889hipError_t hipMemCreate(hipMemGenericAllocationHandle_t* handle, size_t size, const hipMemAllocationProp* prop, unsigned long long flags);
8890
8904hipError_t hipMemExportToShareableHandle(void* shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags);
8905
8918hipError_t hipMemGetAccess(unsigned long long* flags, const hipMemLocation* location, void* ptr);
8919
8934
8947
8961
8976hipError_t hipMemMap(void* ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags);
8977
8988hipError_t hipMemMapArrayAsync(hipArrayMapInfo* mapInfoList, unsigned int count, hipStream_t stream);
8989
9001
9014
9028hipError_t hipMemSetAccess(void* ptr, size_t size, const hipMemAccessDesc* desc, size_t count);
9029
9041hipError_t hipMemUnmap(void* ptr, size_t size);
9042
9043// doxygen end virtual memory management API
9066 hipStream_t stream __dparm(0) );
9081 unsigned int arrayIndex, unsigned int mipLevel);
9093 hipGraphicsResource_t resource);
9105 hipStream_t stream __dparm(0));
9115// doxygen end GraphicsInterop
9150// end of surface
9154#ifdef __cplusplus
9155} /* extern "c" */
9156#endif
9157#ifdef __cplusplus
9158#if defined(__clang__) && defined(__HIP__)
9159template <typename T>
9160static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
9161 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0) {
9162 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
9163}
9164template <typename T>
9165static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeWithFlags(int* gridSize, int* blockSize,
9166 T f, size_t dynSharedMemPerBlk = 0, int blockSizeLimit = 0, unsigned int flags = 0 ) {
9167 return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize, reinterpret_cast<const void*>(f),dynSharedMemPerBlk,blockSizeLimit);
9168}
9169#endif // defined(__clang__) && defined(__HIP__)
9170
9180template <typename T>
9181hipError_t hipGetSymbolAddress(void** devPtr, const T &symbol) {
9182 return ::hipGetSymbolAddress(devPtr, (const void *)&symbol);
9183}
9194template <typename T>
9195hipError_t hipGetSymbolSize(size_t* size, const T &symbol) {
9196 return ::hipGetSymbolSize(size, (const void *)&symbol);
9197}
9198
9207template <typename T>
9208hipError_t hipMemcpyToSymbol(const T& symbol, const void* src, size_t sizeBytes,
9209 size_t offset __dparm(0),
9211 return ::hipMemcpyToSymbol((const void*)&symbol, src, sizeBytes, offset, kind);
9212}
9221template <typename T>
9222hipError_t hipMemcpyToSymbolAsync(const T& symbol, const void* src, size_t sizeBytes, size_t offset,
9223 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
9224 return ::hipMemcpyToSymbolAsync((const void*)&symbol, src, sizeBytes, offset, kind, stream);
9225}
9233template <typename T>
9234hipError_t hipMemcpyFromSymbol(void* dst, const T &symbol,
9235 size_t sizeBytes, size_t offset __dparm(0),
9237 return ::hipMemcpyFromSymbol(dst, (const void*)&symbol, sizeBytes, offset, kind);
9238}
9246template <typename T>
9247hipError_t hipMemcpyFromSymbolAsync(void* dst, const T& symbol, size_t sizeBytes, size_t offset,
9248 hipMemcpyKind kind, hipStream_t stream __dparm(0)) {
9249 return ::hipMemcpyFromSymbolAsync(dst, (const void*)&symbol, sizeBytes, offset, kind, stream);
9250}
9251
9263template <class T>
9265 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk) {
9267 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk);
9268}
9282template <class T>
9284 int* numBlocks, T f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags) {
9286 numBlocks, reinterpret_cast<const void*>(f), blockSize, dynSharedMemPerBlk, flags);
9287}
9308template<typename UnaryFunction, class T>
9309static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(
9310 int* min_grid_size,
9311 int* block_size,
9312 T func,
9313 UnaryFunction block_size_to_dynamic_smem_size,
9314 int block_size_limit = 0,
9315 unsigned int flags = 0) {
9316 if (min_grid_size == nullptr || block_size == nullptr ||
9317 reinterpret_cast<const void*>(func) == nullptr) {
9318 return hipErrorInvalidValue;
9319 }
9320
9321 int dev;
9322 hipError_t status;
9323 if ((status = hipGetDevice(&dev)) != hipSuccess) {
9324 return status;
9325 }
9326
9327 int max_threads_per_cu;
9328 if ((status = hipDeviceGetAttribute(&max_threads_per_cu,
9330 return status;
9331 }
9332
9333 int warp_size;
9334 if ((status = hipDeviceGetAttribute(&warp_size,
9336 return status;
9337 }
9338
9339 int max_cu_count;
9340 if ((status = hipDeviceGetAttribute(&max_cu_count,
9342 return status;
9343 }
9344
9345 struct hipFuncAttributes attr;
9346 if ((status = hipFuncGetAttributes(&attr, reinterpret_cast<const void*>(func))) != hipSuccess) {
9347 return status;
9348 }
9349
9350 // Initial limits for the execution
9351 const int func_max_threads_per_block = attr.maxThreadsPerBlock;
9352 if (block_size_limit == 0) {
9353 block_size_limit = func_max_threads_per_block;
9354 }
9355
9356 if (func_max_threads_per_block < block_size_limit) {
9357 block_size_limit = func_max_threads_per_block;
9358 }
9359
9360 const int block_size_limit_aligned =
9361 ((block_size_limit + (warp_size - 1)) / warp_size) * warp_size;
9362
9363 // For maximum search
9364 int max_threads = 0;
9365 int max_block_size{};
9366 int max_num_blocks{};
9367 for (int block_size_check_aligned = block_size_limit_aligned;
9368 block_size_check_aligned > 0;
9369 block_size_check_aligned -= warp_size) {
9370 // Make sure the logic uses the requested limit and not aligned
9371 int block_size_check = (block_size_limit < block_size_check_aligned) ?
9372 block_size_limit : block_size_check_aligned;
9373
9374 size_t dyn_smem_size = block_size_to_dynamic_smem_size(block_size_check);
9375 int optimal_blocks;
9377 &optimal_blocks, func, block_size_check, dyn_smem_size, flags)) != hipSuccess) {
9378 return status;
9379 }
9380
9381 int total_threads = block_size_check * optimal_blocks;
9382 if (total_threads > max_threads) {
9383 max_block_size = block_size_check;
9384 max_num_blocks = optimal_blocks;
9385 max_threads = total_threads;
9386 }
9387
9388 // Break if the logic reached possible maximum
9389 if (max_threads_per_cu == max_threads) {
9390 break;
9391 }
9392 }
9393
9394 // Grid size is the number of blocks per CU * CU count
9395 *min_grid_size = max_num_blocks * max_cu_count;
9396 *block_size = max_block_size;
9397
9398 return status;
9399}
9400
9420template<typename UnaryFunction, class T>
9421static hipError_t __host__ inline hipOccupancyMaxPotentialBlockSizeVariableSMem(
9422 int* min_grid_size,
9423 int* block_size,
9424 T func,
9425 UnaryFunction block_size_to_dynamic_smem_size,
9426 int block_size_limit = 0)
9427{
9428 return hipOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(min_grid_size, block_size, func,
9429 block_size_to_dynamic_smem_size, block_size_limit);
9430}
9445template <typename F>
9446inline hipError_t hipOccupancyMaxPotentialBlockSize(int* gridSize, int* blockSize,
9447 F kernel, size_t dynSharedMemPerBlk, uint32_t blockSizeLimit) {
9448return hipOccupancyMaxPotentialBlockSize(gridSize, blockSize,(hipFunction_t)kernel, dynSharedMemPerBlk, blockSizeLimit);
9449}
9471template <class T>
9472inline hipError_t hipLaunchCooperativeKernel(T f, dim3 gridDim, dim3 blockDim,
9473 void** kernelParams, unsigned int sharedMemBytes, hipStream_t stream) {
9474 return hipLaunchCooperativeKernel(reinterpret_cast<const void*>(f), gridDim,
9475 blockDim, kernelParams, sharedMemBytes, stream);
9476}
9492template <class T>
9494 unsigned int numDevices, unsigned int flags = 0) {
9495 return hipLaunchCooperativeKernelMultiDevice(launchParamsList, numDevices, flags);
9496}
9508template <class T>
9510 unsigned int numDevices, unsigned int flags = 0) {
9511 return hipExtLaunchMultiKernelMultiDevice(launchParamsList, numDevices, flags);
9512}
9526template <class T, int dim, enum hipTextureReadMode readMode>
9528static inline hipError_t hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex,
9529 const void* devPtr, size_t size = UINT_MAX) {
9530 return hipBindTexture(offset, &tex, devPtr, &tex.channelDesc, size);
9531}
9546template <class T, int dim, enum hipTextureReadMode readMode>
9548static inline hipError_t
9549 hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex, const void* devPtr,
9550 const struct hipChannelFormatDesc& desc, size_t size = UINT_MAX) {
9551 return hipBindTexture(offset, &tex, devPtr, &desc, size);
9552}
9568template<class T, int dim, enum hipTextureReadMode readMode>
9570static inline hipError_t hipBindTexture2D(
9571 size_t *offset,
9572 const struct texture<T, dim, readMode> &tex,
9573 const void *devPtr,
9574 size_t width,
9575 size_t height,
9576 size_t pitch)
9577{
9578 return hipBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch);
9579}
9596template<class T, int dim, enum hipTextureReadMode readMode>
9598static inline hipError_t hipBindTexture2D(
9599 size_t *offset,
9600 const struct texture<T, dim, readMode> &tex,
9601 const void *devPtr,
9602 const struct hipChannelFormatDesc &desc,
9603 size_t width,
9604 size_t height,
9605 size_t pitch)
9606{
9607 return hipBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch);
9608}
9620template<class T, int dim, enum hipTextureReadMode readMode>
9622static inline hipError_t hipBindTextureToArray(
9623 const struct texture<T, dim, readMode> &tex,
9624 hipArray_const_t array)
9625{
9626 struct hipChannelFormatDesc desc;
9627 hipError_t err = hipGetChannelDesc(&desc, array);
9628 return (err == hipSuccess) ? hipBindTextureToArray(&tex, array, &desc) : err;
9629}
9642template<class T, int dim, enum hipTextureReadMode readMode>
9644static inline hipError_t hipBindTextureToArray(
9645 const struct texture<T, dim, readMode> &tex,
9646 hipArray_const_t array,
9647 const struct hipChannelFormatDesc &desc)
9648{
9649 return hipBindTextureToArray(&tex, array, &desc);
9650}
9662template<class T, int dim, enum hipTextureReadMode readMode>
9665 const struct texture<T, dim, readMode> &tex,
9666 hipMipmappedArray_const_t mipmappedArray)
9667{
9668 struct hipChannelFormatDesc desc;
9669 hipArray_t levelArray;
9670 hipError_t err = hipGetMipmappedArrayLevel(&levelArray, mipmappedArray, 0);
9671 if (err != hipSuccess) {
9672 return err;
9673 }
9674 err = hipGetChannelDesc(&desc, levelArray);
9675 return (err == hipSuccess) ? hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc) : err;
9676}
9689template<class T, int dim, enum hipTextureReadMode readMode>
9692 const struct texture<T, dim, readMode> &tex,
9693 hipMipmappedArray_const_t mipmappedArray,
9694 const struct hipChannelFormatDesc &desc)
9695{
9696 return hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc);
9697}
9708template<class T, int dim, enum hipTextureReadMode readMode>
9710static inline hipError_t hipUnbindTexture(
9711 const struct texture<T, dim, readMode> &tex)
9712{
9713 return hipUnbindTexture(&tex);
9714}
9738static inline hipError_t hipMallocAsync(
9739 void** dev_ptr,
9740 size_t size,
9741 hipMemPool_t mem_pool,
9742 hipStream_t stream) {
9743 return hipMallocFromPoolAsync(dev_ptr, size, mem_pool, stream);
9744}
9755template<class T>
9756static inline hipError_t hipMallocAsync(
9757 T** dev_ptr,
9758 size_t size,
9759 hipMemPool_t mem_pool,
9760 hipStream_t stream) {
9761 return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
9762}
9773template<class T>
9774static inline hipError_t hipMallocAsync(
9775 T** dev_ptr,
9776 size_t size,
9777 hipStream_t stream) {
9778 return hipMallocAsync(reinterpret_cast<void**>(dev_ptr), size, stream);
9779}
9790template<class T>
9792 T** dev_ptr,
9793 size_t size,
9794 hipMemPool_t mem_pool,
9795 hipStream_t stream) {
9796 return hipMallocFromPoolAsync(reinterpret_cast<void**>(dev_ptr), size, mem_pool, stream);
9797}
9811template <typename... KernelArgs, typename... Params>
9812static inline __host__ hipError_t hipLaunchKernelEx(const hipLaunchConfig_t* config,
9813 void (*kernel)(KernelArgs...),
9814 Params&&... args) {
9815 return [&](KernelArgs... convertedArgs) {
9816 void* pArgs[] = {&convertedArgs...};
9817 return ::hipLaunchKernelExC(config, reinterpret_cast<void*>(kernel), pArgs);
9818 }(std::forward<Params>(args)...);
9819}
9825#endif // __cplusplus
9826
9827#ifdef __GNUC__
9828#pragma GCC visibility pop
9829#endif
9830
9831
9832#elif !defined(__HIP_PLATFORM_AMD__) && defined(__HIP_PLATFORM_NVIDIA__)
9833#include "hip/nvidia_detail/nvidia_hip_runtime_api.h"
9834#else
9835#error("Must define exactly one of __HIP_PLATFORM_AMD__ or __HIP_PLATFORM_NVIDIA__");
9836#endif
9837
9838
9850#if defined(__cplusplus) && !defined(__HIP_DISABLE_CPP_FUNCTIONS__)
9851template <class T>
9852static inline hipError_t hipMalloc(T** devPtr, size_t size) {
9853 return hipMalloc((void**)devPtr, size);
9854}
9866template <class T>
9867static inline hipError_t hipMallocPitch(T** devPtr, size_t* pitch, size_t width, size_t height) {
9868 return hipMallocPitch((void**)devPtr, pitch, width, height);
9869}
9882template <class T>
9883static inline hipError_t hipHostMalloc(T** ptr, size_t size,
9884 unsigned int flags = hipHostMallocDefault) {
9885 return hipHostMalloc((void**)ptr, size, flags);
9886}
9899template <class T>
9900static inline hipError_t hipHostAlloc(T** ptr, size_t size,
9901 unsigned int flags = hipHostAllocDefault) {
9902 return hipHostAlloc((void**)ptr, size, flags);
9903}
9918template <class T>
9919static inline hipError_t hipMallocManaged(T** devPtr, size_t size,
9920 unsigned int flags = hipMemAttachGlobal) {
9921 return hipMallocManaged((void**)devPtr, size, flags);
9922}
9923
9924
9925#endif
9926#endif
9927// doxygen end HIP API
9931#include <hip/amd_detail/amd_hip_runtime_pt_api.h>
9932
9933#if USE_PROF_API
9934#include <hip/amd_detail/hip_prof_str.h>
9935#endif
const char * hipApiName(uint32_t id)
Returns HIP API name by ID.
const char * hipKernelNameRef(const hipFunction_t f)
Returns kernel name reference by function name.
const char * hipKernelNameRefByPtr(const void *hostFunction, hipStream_t stream)
Retrives kernel for a given host pointer, unless stated otherwise.
int hipGetStreamDeviceId(hipStream_t stream)
Returns device ID on the stream.
hipError_t hipSetupArgument(const void *arg, size_t size, size_t offset)
Set a kernel argument.
hipError_t __hipPopCallConfiguration(dim3 *gridDim, dim3 *blockDim, size_t *sharedMem, hipStream_t *stream)
Pop configuration of a kernel launch.
hipError_t hipLaunchHostFunc(hipStream_t stream, hipHostFn_t fn, void *userData)
Enqueues a host function call in a stream.
hipError_t hipLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes, hipStream_t stream)
C compliant kernel launch API.
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 __hipPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem, hipStream_t stream)
Push configuration of a kernel launch.
hipError_t hipLaunchByPtr(const void *func)
Launch a kernel.
hipError_t hipDrvMemcpy2DUnaligned(const hip_Memcpy2D *pCopy)
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem, hipStream_t stream)
Configure a kernel launch.
hipError_t hipCtxGetFlags(unsigned int *flags)
Return flags used for creating default context [Deprecated].
hipError_t hipCtxGetApiVersion(hipCtx_t ctx, unsigned int *apiVersion)
Returns the approximate HIP api version.
hipError_t hipCtxPopCurrent(hipCtx_t *ctx)
Pop the current/default context and return the popped context [Deprecated].
hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration [Deprecated].
hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags)
Set flags for the primary context [Deprecated].
hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int *flags, int *active)
Get the state of the primary context [Deprecated].
hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
Get the handle of the current/ default context [Deprecated].
hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev)
Release the primary context on the GPU.
hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition [Deprecated].
hipError_t hipCtxSetCurrent(hipCtx_t ctx)
Set the passed context as current/default [Deprecated].
hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
Enables direct access to memory allocations in a peer context [Deprecated].
hipError_t hipCtxGetDevice(hipDevice_t *device)
Get the handle of the device associated with current/default context [Deprecated].
hipError_t hipCtxDestroy(hipCtx_t ctx)
Destroy a HIP context [Deprecated].
hipError_t hipCtxPushCurrent(hipCtx_t ctx)
Push the context to be set as current/ default context [Deprecated].
hipError_t hipCtxGetCacheConfig(hipFuncCache_t *cacheConfig)
Get Cache configuration for a specific function [Deprecated].
hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
Create a context and set it as current/default context.
hipError_t hipDevicePrimaryCtxRetain(hipCtx_t *pctx, hipDevice_t dev)
Retain the primary context on the GPU [Deprecated].
hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev)
Resets the primary context on the GPU [Deprecated].
hipError_t hipCtxSynchronize(void)
Blocks until the default context has completed all preceding requested tasks [Deprecated].
hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config)
Set Shared memory bank configuration [Deprecated].
hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx)
Disable direct access from current context's virtual address space to memory allocations physically l...
hipError_t hipGetDeviceFlags(unsigned int *flags)
Gets the flags set for current device.
hipError_t hipIpcGetEventHandle(hipIpcEventHandle_t *handle, hipEvent_t event)
Gets an opaque interprocess handle for an event.
hipError_t hipDeviceGetDefaultMemPool(hipMemPool_t *mem_pool, int device)
Returns the default memory pool of the specified device.
hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
Returns bank width of shared memory for current device.
hipError_t hipDeviceSetMemPool(int device, hipMemPool_t mem_pool)
Sets the current memory pool of a device.
hipError_t hipIpcOpenMemHandle(void **devPtr, hipIpcMemHandle_t handle, unsigned int flags)
Opens an interprocess memory handle exported from another process and returns a device pointer usable...
hipError_t hipDeviceGetCacheConfig(hipFuncCache_t *cacheConfig)
Get Cache configuration for a specific Device.
hipError_t hipSetDevice(int deviceId)
Set default device to be used for subsequent hip API calls from this thread.
hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t *linktype, uint32_t *hopcount)
Returns the link type and hop count between two devices.
hipError_t hipDeviceGetTexture1DLinearMaxWidth(size_t *max_width, const hipChannelFormatDesc *desc, int device)
Gets the maximum width for 1D linear textures on the specified device.
hipError_t hipSetDeviceFlags(unsigned flags)
The current device behavior is changed according to the flags passed.
hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId)
Query for a specific device attribute.
hipError_t hipGetDevice(int *deviceId)
Return the default device id for the calling host thread.
hipError_t hipGetDeviceCount(int *count)
Return number of compute-capable devices.
hipError_t hipDeviceGetMemPool(hipMemPool_t *mem_pool, int device)
Gets the current memory pool for the specified device.
hipError_t hipDeviceReset(void)
The state of current device is discarded and updated to a fresh state.
hipError_t hipDeviceGetLimit(size_t *pValue, enum hipLimit_t limit)
Gets resource limits of current device.
hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
The bank width of shared memory on current device is set.
hipError_t hipDeviceSetLimit(enum hipLimit_t limit, size_t value)
Sets resource limits of current device.
hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
hipError_t hipIpcCloseMemHandle(void *devPtr)
Close memory mapped with hipIpcOpenMemHandle.
hipError_t hipSetValidDevices(int *device_arr, int len)
Set a list of devices that can be used.
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 hipIpcGetMemHandle(hipIpcMemHandle_t *handle, void *devPtr)
Gets an interprocess memory handle for an existing device memory allocation.
hipError_t hipInit(unsigned int flags)
Explicitly initializes the HIP runtime.
hipError_t hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device)
Returns the compute capability of the device.
hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device)
Returns an identifer string for the device.
hipError_t hipDeviceGetByPCIBusId(int *device, const char *pciBusId)
Returns a handle to a compute device.
hipError_t hipDeviceGetUuid(hipUUID *uuid, hipDevice_t device)
Returns an UUID for the device.[BETA].
hipError_t hipDeviceTotalMem(size_t *bytes, hipDevice_t device)
Returns the total amount of memory on the device.
hipError_t hipDeviceGetPCIBusId(char *pciBusId, int len, int device)
Returns a PCI Bus Id string for the device, overloaded to take int device ID.
hipError_t hipDeviceGet(hipDevice_t *device, int ordinal)
Returns a handle to a compute device.
hipError_t hipRuntimeGetVersion(int *runtimeVersion)
Returns the approximate HIP Runtime version.
hipError_t hipDeviceGetP2PAttribute(int *value, hipDeviceP2PAttr attr, int srcDevice, int dstDevice)
Returns a value for attribute of link between two devices.
hipError_t hipDriverGetVersion(int *driverVersion)
Returns the approximate HIP driver version.
hipMemcpyKind
Definition driver_types.h:372
hipPointer_attribute
Definition driver_types.h:513
struct hipArray * hipArray_t
Definition driver_types.h:75
void * hipDeviceptr_t
Definition driver_types.h:46
hipFunction_attribute
Definition driver_types.h:499
const struct hipArray * hipArray_const_t
Definition driver_types.h:76
hipArray_Format
Definition driver_types.h:80
hipResourceType
Definition driver_types.h:159
@ hipMemcpyDeviceToHost
Device-to-Host Copy.
Definition driver_types.h:375
@ hipMemcpyHostToDevice
Host-to-Device Copy.
Definition driver_types.h:374
const char * hipGetErrorString(hipError_t hipError)
Return handy text string message to explain the error which occurred.
hipError_t hipPeekAtLastError(void)
Return last error returned by any HIP runtime API call.
hipError_t hipDrvGetErrorString(hipError_t hipError, const char **errorString)
Return handy text string message to explain the error which occurred.
hipError_t hipGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
hipError_t hipExtGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
hipError_t hipDrvGetErrorName(hipError_t hipError, const char **errorString)
Return hip error as text string form.
const char * hipGetErrorName(hipError_t hip_error)
Return hip error as text string form.
hipError_t hipEventSynchronize(hipEvent_t event)
Wait for an event to complete.
hipError_t 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 hipEventRecordWithFlags(hipEvent_t event, hipStream_t stream, unsigned int flags)
Record an event in the specified stream.
hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream=NULL)
Record an event in the specified stream.
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 hipFuncGetAttributes(struct hipFuncAttributes *attr, const void *func)
Find out attributes for a given function.
hipError_t hipLaunchKernelExC(const hipLaunchConfig_t *config, const void *fPtr, void **args)
Launches a HIP kernel using a generic function pointer and the specified configuration.
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 hipFuncSetSharedMemConfig(const void *func, hipSharedMemConfig config)
Set shared memory configuation for a specific function.
hipError_t hipFuncGetAttribute(int *value, hipFunction_attribute attrib, hipFunction_t hfunc)
Find out a specific attribute for a given function.
hipError_t hipFuncSetAttribute(const void *func, hipFuncAttribute attr, int value)
Set attribute for a specific function.
hipError_t hipDrvLaunchKernelEx(const HIP_LAUNCH_CONFIG *config, hipFunction_t f, void **params, void **extra)
Launches a HIP kernel using the driver API with the specified configuration.
hipError_t hipFuncSetCacheConfig(const void *func, hipFuncCache_t config)
Set Cache configuration for a specific function.
hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem)
Destroys an external memory object.
hipError_t hipImportExternalSemaphore(hipExternalSemaphore_t *extSem_out, const hipExternalSemaphoreHandleDesc *semHandleDesc)
Imports an external semaphore.
hipError_t hipImportExternalMemory(hipExternalMemory_t *extMem_out, const hipExternalMemoryHandleDesc *memHandleDesc)
Imports an external memory object.
hipError_t hipDestroyExternalSemaphore(hipExternalSemaphore_t extSem)
Destroys an external semaphore object and releases any references to the underlying resource....
hipError_t hipWaitExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreWaitParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Waits on a set of external semaphore objects.
hipError_t hipSignalExternalSemaphoresAsync(const hipExternalSemaphore_t *extSemArray, const hipExternalSemaphoreSignalParams *paramsArray, unsigned int numExtSems, hipStream_t stream)
Signals a set of external semaphore objects.
hipError_t hipExternalMemoryGetMappedMipmappedArray(hipMipmappedArray_t *mipmap, hipExternalMemory_t extMem, const hipExternalMemoryMipmappedArrayDesc *mipmapDesc)
Maps a mipmapped array onto an external memory object.
hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExternalMemory_t extMem, const hipExternalMemoryBufferDesc *bufferDesc)
Maps a buffer onto an imported memory object.
hipLimit_t
Definition hip_runtime_api.h:669
hipMemRangeHandleType
Definition hip_runtime_api.h:1877
hipMemAllocationHandleType
Definition hip_runtime_api.h:1163
hipGraphicsResource * hipGraphicsResource_t
Definition hip_runtime_api.h:1380
struct ihipCtx_t * hipCtx_t
Definition hip_runtime_api.h:623
#define __dparm(x)
Definition hip_runtime_api.h:604
struct ihipStream_t * hipStream_t
Definition hip_runtime_api.h:632
hipGraphInstantiateResult
Definition hip_runtime_api.h:1594
int hipDevice_t
Definition hip_runtime_api.h:625
hipAccessProperty
Definition hip_runtime_api.h:1456
struct ihipLinkState_t * hipLinkState_t
Definition hip_runtime_api.h:643
hipGraphDependencyType
Definition hip_runtime_api.h:1813
hipMemRangeAttribute
Definition hip_runtime_api.h:1041
#define hipMemAttachSingle
Definition hip_runtime_api.h:806
hipMemoryAdvise
Definition hip_runtime_api.h:1008
#define hipArrayDefault
Definition hip_runtime_api.h:862
hipSharedMemConfig
Definition hip_runtime_api.h:1210
#define hipKernelNodeAttrValue
Definition hip_runtime_api.h:1501
hipComputeMode
Definition hip_runtime_api.h:567
struct ihipEvent_t * hipEvent_t
Definition hip_runtime_api.h:661
hipStreamCaptureMode
Definition hip_runtime_api.h:1530
hipStreamBatchMemOpType
Definition hip_runtime_api.h:883
hipDriverProcAddressQueryResult
Definition hip_runtime_api.h:561
#define HIP_DEPRECATED_MSG
Definition hip_runtime_api.h:599
hipLaunchAttributeID
Definition hip_runtime_api.h:1472
hipGraphNodeType
Definition hip_runtime_api.h:1404
hipExternalMemoryHandleType
Definition hip_runtime_api.h:1254
#define hipMemAttachGlobal
Definition hip_runtime_api.h:800
hipFuncAttribute
Definition hip_runtime_api.h:1193
hipExternalSemaphoreHandleType
Definition hip_runtime_api.h:1292
hipDeviceP2PAttr
Definition hip_runtime_api.h:626
hipGraphDebugDotFlags
Definition hip_runtime_api.h:1572
hipUserObjectRetainFlags
Definition hip_runtime_api.h:1557
#define hipHostAllocDefault
Definition hip_runtime_api.h:745
void(* hipHostFn_t)(void *userData)
Definition hip_runtime_api.h:1423
#define hipOccupancyDefault
Definition hip_runtime_api.h:867
hipStreamUpdateCaptureDependenciesFlags
Definition hip_runtime_api.h:1542
struct ihipGraph * hipGraph_t
Definition hip_runtime_api.h:1385
#define hipChooseDevice
Definition hip_runtime_api.h:104
hipMemHandleType
Definition hip_runtime_api.h:1676
hipFlushGPUDirectRDMAWritesOptions
Definition hip_runtime_api.h:574
hipFuncCache_t
Definition hip_runtime_api.h:1201
hipUserObjectFlags
Definition hip_runtime_api.h:1553
#define __HIP_NODISCARD
Definition hip_runtime_api.h:291
hipGraphMemAttributeType
Definition hip_runtime_api.h:1547
hipMemPoolAttr
Definition hip_runtime_api.h:1057
hipMemRangeFlags
Definition hip_runtime_api.h:1885
#define hipDeviceProp_t
Definition hip_runtime_api.h:103
struct ihipModule_t * hipModule_t
Definition hip_runtime_api.h:641
struct hipUserObject * hipUserObject_t
Definition hip_runtime_api.h:1398
hipMemOperationType
Definition hip_runtime_api.h:1683
void * hipExternalSemaphore_t
Definition hip_runtime_api.h:1317
hipGraphicsRegisterFlags
Definition hip_runtime_api.h:1368
hipMemRangeCoherencyMode
Definition hip_runtime_api.h:1029
hipMemAccessFlags
Definition hip_runtime_api.h:1132
hipMemAllocationGranularity_flags
Definition hip_runtime_api.h:1668
struct hipGraphExec * hipGraphExec_t
Definition hip_runtime_api.h:1393
hipGraphExecUpdateResult
Definition hip_runtime_api.h:1515
struct ihipModuleSymbol_t * hipFunction_t
Definition hip_runtime_api.h:642
#define hipKernelNodeAttrID
Definition hip_runtime_api.h:1493
void * hipExternalMemory_t
Definition hip_runtime_api.h:1291
hipStreamCaptureStatus
Definition hip_runtime_api.h:1535
hipDeviceAttribute_t
Definition hip_runtime_api.h:423
hipGPUDirectRDMAWritesOrdering
Definition hip_runtime_api.h:579
#define hipGetDeviceProperties
Definition hip_runtime_api.h:102
#define hipHostMallocDefault
Definition hip_runtime_api.h:749
#define HIP_DEPRECATED(msg)
Definition hip_runtime_api.h:597
struct _hipGraphicsResource hipGraphicsResource
Definition hip_runtime_api.h:1378
hipMemAllocationType
Definition hip_runtime_api.h:1150
hipError_t
Definition hip_runtime_api.h:301
struct hipGraphNode * hipGraphNode_t
Definition hip_runtime_api.h:1389
struct ihipMemGenericAllocationHandle * hipMemGenericAllocationHandle_t
Definition hip_runtime_api.h:1663
hipMemoryType
Definition hip_runtime_api.h:259
hipGraphInstantiateFlags
Definition hip_runtime_api.h:1561
hipMemLocationType
Definition hip_runtime_api.h:1115
#define HIP_IPC_HANDLE_SIZE
Definition hip_runtime_api.h:634
struct ihipMemPoolHandle_t * hipMemPool_t
Definition hip_runtime_api.h:647
hipArraySparseSubresourceType
Definition hip_runtime_api.h:1691
@ hipExtLimitScratchMin
Definition hip_runtime_api.h:677
@ hipLimitMallocHeapSize
Definition hip_runtime_api.h:675
@ hipLimitStackSize
Definition hip_runtime_api.h:670
@ hipLimitRange
Supported limit range.
Definition hip_runtime_api.h:685
@ hipLimitPrintfFifoSize
Definition hip_runtime_api.h:673
@ hipExtLimitScratchMax
Definition hip_runtime_api.h:679
@ hipExtLimitScratchCurrent
Definition hip_runtime_api.h:681
@ hipMemRangeHandleTypeMax
Definition hip_runtime_api.h:1879
@ hipMemRangeHandleTypeDmaBufFd
Definition hip_runtime_api.h:1878
@ hipMemHandleTypeWin32
Allows a Win32 NT handle for exporting. (HANDLE)
Definition hip_runtime_api.h:1166
@ hipMemHandleTypeWin32Kmt
Allows a Win32 KMT handle for exporting. (D3DKMT_HANDLE)
Definition hip_runtime_api.h:1167
@ hipMemHandleTypeNone
Does not allow any export mechanism.
Definition hip_runtime_api.h:1164
@ hipMemHandleTypePosixFileDescriptor
Allows a file descriptor for exporting. Permitted only on POSIX systems.
Definition hip_runtime_api.h:1165
@ hipGraphInstantiateNodeOperationNotSupported
Definition hip_runtime_api.h:1600
@ hipGraphInstantiateMultipleDevicesNotSupported
Definition hip_runtime_api.h:1602
@ hipGraphInstantiateError
Definition hip_runtime_api.h:1596
@ hipGraphInstantiateInvalidStructure
Definition hip_runtime_api.h:1598
@ hipGraphInstantiateSuccess
Definition hip_runtime_api.h:1595
@ hipAccessPropertyNormal
Definition hip_runtime_api.h:1457
@ hipAccessPropertyPersisting
Definition hip_runtime_api.h:1459
@ hipAccessPropertyStreaming
Definition hip_runtime_api.h:1458
@ hipGraphDependencyTypeDefault
Definition hip_runtime_api.h:1814
@ hipGraphDependencyTypeProgrammatic
Definition hip_runtime_api.h:1815
@ hipMemRangeAttributeLastPrefetchLocation
prefetched
Definition hip_runtime_api.h:1047
@ hipMemRangeAttributePreferredLocation
The preferred location of the range.
Definition hip_runtime_api.h:1044
@ hipMemRangeAttributeAccessedBy
Definition hip_runtime_api.h:1045
@ hipMemRangeAttributeReadMostly
Definition hip_runtime_api.h:1042
@ hipMemRangeAttributeCoherencyMode
Definition hip_runtime_api.h:1049
@ hipMemAdviseUnsetAccessedBy
Definition hip_runtime_api.h:1017
@ hipMemAdviseUnsetCoarseGrain
Restores cache coherency policy back to fine-grain.
Definition hip_runtime_api.h:1024
@ hipMemAdviseSetCoarseGrain
Definition hip_runtime_api.h:1019
@ hipMemAdviseUnsetPreferredLocation
Clear the preferred location for the data.
Definition hip_runtime_api.h:1014
@ hipMemAdviseSetAccessedBy
Definition hip_runtime_api.h:1015
@ hipMemAdviseSetPreferredLocation
Definition hip_runtime_api.h:1012
@ hipMemAdviseSetReadMostly
Definition hip_runtime_api.h:1009
@ hipMemAdviseUnsetReadMostly
Undo the effect of hipMemAdviseSetReadMostly.
Definition hip_runtime_api.h:1011
@ hipSharedMemBankSizeFourByte
Definition hip_runtime_api.h:1212
@ hipSharedMemBankSizeEightByte
Definition hip_runtime_api.h:1214
@ hipSharedMemBankSizeDefault
The compiler selects a device-specific value for the banking.
Definition hip_runtime_api.h:1211
@ hipComputeModeProhibited
Definition hip_runtime_api.h:570
@ hipComputeModeExclusive
Definition hip_runtime_api.h:569
@ hipComputeModeDefault
Definition hip_runtime_api.h:568
@ hipComputeModeExclusiveProcess
Definition hip_runtime_api.h:571
@ hipStreamCaptureModeRelaxed
Definition hip_runtime_api.h:1533
@ hipStreamCaptureModeThreadLocal
Definition hip_runtime_api.h:1532
@ hipStreamCaptureModeGlobal
Definition hip_runtime_api.h:1531
@ hipStreamMemOpWriteValue64
Definition hip_runtime_api.h:887
@ hipStreamMemOpBarrier
Currently not supported.
Definition hip_runtime_api.h:888
@ hipStreamMemOpWriteValue32
Definition hip_runtime_api.h:885
@ hipStreamMemOpWaitValue32
Definition hip_runtime_api.h:884
@ hipStreamMemOpWaitValue64
Definition hip_runtime_api.h:886
@ hipStreamMemOpFlushRemoteWrites
Currently not supported.
Definition hip_runtime_api.h:889
@ HIP_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND
Definition hip_runtime_api.h:563
@ HIP_GET_PROC_ADDRESS_SUCCESS
Definition hip_runtime_api.h:562
@ HIP_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT
Definition hip_runtime_api.h:564
@ hipLaunchAttributePriority
Valid for graph node, streams, launches.
Definition hip_runtime_api.h:1475
@ hipLaunchAttributeMax
Definition hip_runtime_api.h:1476
@ hipLaunchAttributeAccessPolicyWindow
Valid for Streams, graph nodes, launches.
Definition hip_runtime_api.h:1473
@ hipLaunchAttributeCooperative
Valid for graph nodes, launches.
Definition hip_runtime_api.h:1474
@ hipGraphNodeTypeBatchMemOp
BatchMemOp node.
Definition hip_runtime_api.h:1419
@ hipGraphNodeTypeGraph
Node which executes an embedded graph.
Definition hip_runtime_api.h:1409
@ hipGraphNodeTypeMemset
Memset node.
Definition hip_runtime_api.h:1407
@ hipGraphNodeTypeEventRecord
External event record node.
Definition hip_runtime_api.h:1412
@ hipGraphNodeTypeExtSemaphoreSignal
External Semaphore signal node.
Definition hip_runtime_api.h:1413
@ hipGraphNodeTypeMemcpy
Memcpy node.
Definition hip_runtime_api.h:1406
@ hipGraphNodeTypeWaitEvent
External event wait node.
Definition hip_runtime_api.h:1411
@ hipGraphNodeTypeCount
Definition hip_runtime_api.h:1420
@ hipGraphNodeTypeKernel
GPU kernel node.
Definition hip_runtime_api.h:1405
@ hipGraphNodeTypeHost
Host (executable) node.
Definition hip_runtime_api.h:1408
@ hipGraphNodeTypeMemAlloc
Memory alloc node.
Definition hip_runtime_api.h:1415
@ hipGraphNodeTypeMemFree
Memory free node.
Definition hip_runtime_api.h:1416
@ hipGraphNodeTypeMemcpyFromSymbol
MemcpyFromSymbol node.
Definition hip_runtime_api.h:1417
@ hipGraphNodeTypeMemcpyToSymbol
MemcpyToSymbol node.
Definition hip_runtime_api.h:1418
@ hipGraphNodeTypeEmpty
Empty (no-op) node.
Definition hip_runtime_api.h:1410
@ hipGraphNodeTypeExtSemaphoreWait
External Semaphore wait node.
Definition hip_runtime_api.h:1414
@ hipExternalMemoryHandleTypeD3D11Resource
Definition hip_runtime_api.h:1260
@ hipExternalMemoryHandleTypeD3D12Resource
Definition hip_runtime_api.h:1259
@ hipExternalMemoryHandleTypeNvSciBuf
Definition hip_runtime_api.h:1262
@ hipExternalMemoryHandleTypeOpaqueFd
Definition hip_runtime_api.h:1255
@ hipExternalMemoryHandleTypeD3D12Heap
Definition hip_runtime_api.h:1258
@ hipExternalMemoryHandleTypeOpaqueWin32Kmt
Definition hip_runtime_api.h:1257
@ hipExternalMemoryHandleTypeOpaqueWin32
Definition hip_runtime_api.h:1256
@ hipExternalMemoryHandleTypeD3D11ResourceKmt
Definition hip_runtime_api.h:1261
@ hipFuncAttributePreferredSharedMemoryCarveout
Sets the percentage of total shared memory allocated as the shared memory carveout.
Definition hip_runtime_api.h:1195
@ hipFuncAttributeMaxDynamicSharedMemorySize
The maximum number of bytes requested for dynamically allocated shared memory.
Definition hip_runtime_api.h:1194
@ hipFuncAttributeMax
Definition hip_runtime_api.h:1196
@ hipExternalSemaphoreHandleTypeNvSciSync
Definition hip_runtime_api.h:1298
@ hipExternalSemaphoreHandleTypeKeyedMutexKmt
Definition hip_runtime_api.h:1300
@ hipExternalSemaphoreHandleTypeOpaqueWin32Kmt
Definition hip_runtime_api.h:1295
@ hipExternalSemaphoreHandleTypeKeyedMutex
Definition hip_runtime_api.h:1299
@ hipExternalSemaphoreHandleTypeD3D11Fence
Definition hip_runtime_api.h:1297
@ hipExternalSemaphoreHandleTypeTimelineSemaphoreWin32
Definition hip_runtime_api.h:1302
@ hipExternalSemaphoreHandleTypeOpaqueFd
Definition hip_runtime_api.h:1293
@ hipExternalSemaphoreHandleTypeOpaqueWin32
Definition hip_runtime_api.h:1294
@ hipExternalSemaphoreHandleTypeTimelineSemaphoreFd
Definition hip_runtime_api.h:1301
@ hipExternalSemaphoreHandleTypeD3D12Fence
Definition hip_runtime_api.h:1296
@ hipDevP2PAttrAccessSupported
Definition hip_runtime_api.h:628
@ hipDevP2PAttrHipArrayAccessSupported
Definition hip_runtime_api.h:630
@ hipDevP2PAttrNativeAtomicSupported
Definition hip_runtime_api.h:629
@ hipDevP2PAttrPerformanceRank
Definition hip_runtime_api.h:627
@ hipGraphDebugDotFlagsKernelNodeAttributes
Definition hip_runtime_api.h:1585
@ hipGraphDebugDotFlagsMemsetNodeParams
Definition hip_runtime_api.h:1577
@ hipGraphDebugDotFlagsKernelNodeParams
Definition hip_runtime_api.h:1575
@ hipGraphDebugDotFlagsExtSemasWaitNodeParams
Definition hip_runtime_api.h:1583
@ hipGraphDebugDotFlagsHandles
Definition hip_runtime_api.h:1587
@ hipGraphDebugDotFlagsExtSemasSignalNodeParams
Definition hip_runtime_api.h:1581
@ hipGraphDebugDotFlagsHostNodeParams
Definition hip_runtime_api.h:1578
@ hipGraphDebugDotFlagsEventNodeParams
Definition hip_runtime_api.h:1579
@ hipGraphDebugDotFlagsVerbose
Definition hip_runtime_api.h:1573
@ hipGraphDebugDotFlagsMemcpyNodeParams
Definition hip_runtime_api.h:1576
@ hipGraphUserObjectMove
Add new reference or retain.
Definition hip_runtime_api.h:1558
@ hipStreamAddCaptureDependencies
Add new nodes to the dependency set.
Definition hip_runtime_api.h:1543
@ hipStreamSetCaptureDependencies
Replace the dependency set with the new nodes.
Definition hip_runtime_api.h:1544
@ hipMemHandleTypeGeneric
Generic handle type.
Definition hip_runtime_api.h:1677
@ hipFlushGPUDirectRDMAWritesOptionHost
Definition hip_runtime_api.h:575
@ hipFlushGPUDirectRDMAWritesOptionMemOps
Definition hip_runtime_api.h:576
@ hipFuncCachePreferNone
no preference for shared memory or L1 (default)
Definition hip_runtime_api.h:1202
@ hipFuncCachePreferEqual
prefer equal size L1 cache and shared memory
Definition hip_runtime_api.h:1205
@ hipFuncCachePreferL1
prefer larger L1 cache and smaller shared memory
Definition hip_runtime_api.h:1204
@ hipFuncCachePreferShared
prefer larger shared memory and smaller L1 cache
Definition hip_runtime_api.h:1203
@ hipUserObjectNoDestructorSync
Destructor execution is not synchronized.
Definition hip_runtime_api.h:1554
@ hipGraphMemAttrReservedMemHigh
High watermark of memory, in bytes, currently allocated for graphs.
Definition hip_runtime_api.h:1551
@ hipGraphMemAttrUsedMemCurrent
Amount of memory, in bytes, currently associated with graphs.
Definition hip_runtime_api.h:1548
@ hipGraphMemAttrUsedMemHigh
High watermark of memory, in bytes, associated with graphs since the last time.
Definition hip_runtime_api.h:1549
@ hipGraphMemAttrReservedMemCurrent
Amount of memory, in bytes, currently allocated for graphs.
Definition hip_runtime_api.h:1550
@ hipMemPoolAttrUsedMemCurrent
Definition hip_runtime_api.h:1104
@ hipMemPoolAttrReservedMemHigh
Definition hip_runtime_api.h:1099
@ hipMemPoolAttrReservedMemCurrent
Definition hip_runtime_api.h:1093
@ hipMemPoolAttrReleaseThreshold
Definition hip_runtime_api.h:1088
@ hipMemPoolAttrUsedMemHigh
Definition hip_runtime_api.h:1110
@ hipMemPoolReuseAllowInternalDependencies
Definition hip_runtime_api.h:1079
@ hipMemPoolReuseFollowEventDependencies
Definition hip_runtime_api.h:1066
@ hipMemPoolReuseAllowOpportunistic
Definition hip_runtime_api.h:1072
@ hipMemRangeFlagsMax
Definition hip_runtime_api.h:1887
@ hipMemRangeFlagDmaBufMappingTypePcie
Definition hip_runtime_api.h:1886
@ hipMemOperationTypeMap
Map operation.
Definition hip_runtime_api.h:1684
@ hipMemOperationTypeUnmap
Unmap operation.
Definition hip_runtime_api.h:1685
@ hipGraphicsRegisterFlagsReadOnly
HIP will not write to this registered resource.
Definition hip_runtime_api.h:1370
@ hipGraphicsRegisterFlagsTextureGather
HIP will perform texture gather operations on this registered resource.
Definition hip_runtime_api.h:1374
@ hipGraphicsRegisterFlagsWriteDiscard
HIP will only write and will not read from this registered resource.
Definition hip_runtime_api.h:1371
@ hipGraphicsRegisterFlagsNone
Definition hip_runtime_api.h:1369
@ hipGraphicsRegisterFlagsSurfaceLoadStore
HIP will bind this resource to a surface.
Definition hip_runtime_api.h:1373
@ hipMemRangeCoherencyModeFineGrain
Definition hip_runtime_api.h:1030
@ hipMemRangeCoherencyModeIndeterminate
Definition hip_runtime_api.h:1034
@ hipMemRangeCoherencyModeCoarseGrain
Definition hip_runtime_api.h:1032
@ hipMemAccessFlagsProtRead
Set the address range read accessible.
Definition hip_runtime_api.h:1134
@ hipMemAccessFlagsProtNone
Default, make the address range not accessible.
Definition hip_runtime_api.h:1133
@ hipMemAccessFlagsProtReadWrite
Set the address range read-write accessible.
Definition hip_runtime_api.h:1135
@ hipMemAllocationGranularityMinimum
Minimum granularity.
Definition hip_runtime_api.h:1669
@ hipMemAllocationGranularityRecommended
Recommended granularity for performance.
Definition hip_runtime_api.h:1670
@ hipGraphExecUpdateErrorNotSupported
The update failed because something about the node is not supported.
Definition hip_runtime_api.h:1525
@ hipGraphExecUpdateErrorNodeTypeChanged
The update failed because a node type changed.
Definition hip_runtime_api.h:1520
@ hipGraphExecUpdateErrorTopologyChanged
The update failed because the topology changed.
Definition hip_runtime_api.h:1519
@ hipGraphExecUpdateErrorUnsupportedFunctionChange
Definition hip_runtime_api.h:1527
@ hipGraphExecUpdateError
Definition hip_runtime_api.h:1517
@ hipGraphExecUpdateErrorFunctionChanged
The update failed because the function of a kernel node changed.
Definition hip_runtime_api.h:1521
@ hipGraphExecUpdateSuccess
The update succeeded.
Definition hip_runtime_api.h:1516
@ hipGraphExecUpdateErrorParametersChanged
The update failed because the parameters changed in a way that is not supported.
Definition hip_runtime_api.h:1523
@ hipStreamCaptureStatusInvalidated
Definition hip_runtime_api.h:1538
@ hipStreamCaptureStatusNone
Stream is not capturing.
Definition hip_runtime_api.h:1536
@ hipStreamCaptureStatusActive
Stream is actively capturing.
Definition hip_runtime_api.h:1537
@ hipDeviceAttributeDirectManagedMemAccessFromHost
Definition hip_runtime_api.h:441
@ hipDeviceAttributeSurfaceAlignment
Alignment requirement for surfaces.
Definition hip_runtime_api.h:512
@ hipDeviceAttributeMaxGridDimX
Max grid size in width.
Definition hip_runtime_api.h:458
@ hipDeviceAttributeMaxSurfaceCubemapLayered
Cuda only. Maximum dimension of Cubemap layered surface.
Definition hip_runtime_api.h:467
@ hipDeviceAttributeMaxSurface3D
Maximum dimension (width, height, depth) of 3D surface.
Definition hip_runtime_api.h:465
@ hipDeviceAttributeMaxPitch
Maximum pitch in bytes allowed by memory copies.
Definition hip_runtime_api.h:488
@ hipDeviceAttributeTccDriver
Cuda only. Whether device is a Tesla device using TCC driver.
Definition hip_runtime_api.h:513
@ hipDeviceAttributeHostNativeAtomicSupported
Link between the device and the host supports native atomic operations.
Definition hip_runtime_api.h:444
@ hipDeviceAttributePageableMemoryAccessUsesHostPageTables
Device accesses pageable memory via the host's page tables.
Definition hip_runtime_api.h:497
@ hipDeviceAttributeUnused5
Previously hipDeviceAttributeGcnArchName.
Definition hip_runtime_api.h:533
@ hipDeviceAttributeMaxBlockDimY
Max block size in height.
Definition hip_runtime_api.h:456
@ hipDeviceAttributeMaxSurfaceCubemap
Cuda only. Maximum dimensions of Cubemap surface.
Definition hip_runtime_api.h:466
@ hipDeviceAttributePageableMemoryAccess
Definition hip_runtime_api.h:495
@ hipDeviceAttributeClockRate
Peak clock frequency in kilohertz.
Definition hip_runtime_api.h:432
@ hipDeviceAttributeCudaCompatibleEnd
Definition hip_runtime_api.h:526
@ hipDeviceAttributeMaxTexture1DMipmap
Maximum size of 1D mipmapped texture.
Definition hip_runtime_api.h:472
@ hipDeviceAttributeComputeCapabilityMajor
Major compute capability version number.
Definition hip_runtime_api.h:452
@ hipDeviceAttributeGlobalL1CacheSupported
Device supports caching globals in L1.
Definition hip_runtime_api.h:443
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedSharedMem
Definition hip_runtime_api.h:542
@ hipDeviceAttributeAccessPolicyMaxWindowSize
Cuda only. The maximum size of the window policy in bytes.
Definition hip_runtime_api.h:427
@ hipDeviceAttributeMaxTexture3DHeight
Maximum dimension height of 3D texture.
Definition hip_runtime_api.h:480
@ hipDeviceAttributeComputeCapabilityMinor
Minor compute capability version number.
Definition hip_runtime_api.h:491
@ hipDeviceAttributeNumberOfXccs
The number of XCC(s) on the device.
Definition hip_runtime_api.h:553
@ hipDeviceAttributeMaxTextureCubemap
Maximum dimensions of Cubemap texture.
Definition hip_runtime_api.h:483
@ hipDeviceAttributeDeviceOverlap
Definition hip_runtime_api.h:439
@ hipDeviceAttributeMaxTexture2DLinear
Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory.
Definition hip_runtime_api.h:477
@ hipDeviceAttributeMaxSurface2D
Maximum dimension (width, height) of 2D surface.
Definition hip_runtime_api.h:463
@ hipDeviceAttributeMaxSurface1DLayered
Cuda only. Maximum dimensions of 1D layered surface.
Definition hip_runtime_api.h:462
@ hipDeviceAttributeHdpRegFlushCntl
Address of the HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:535
@ hipDeviceAttributeComputeMode
Compute mode that device is currently in.
Definition hip_runtime_api.h:433
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedFunc
Definition hip_runtime_api.h:536
@ hipDeviceAttributeAsicRevision
Revision of the GPU in this device.
Definition hip_runtime_api.h:545
@ hipDeviceAttributeUnused4
Previously hipDeviceAttributeGcnArch.
Definition hip_runtime_api.h:532
@ hipDeviceAttributeCooperativeMultiDeviceLaunch
Support cooperative launch on multiple devices.
Definition hip_runtime_api.h:438
@ hipDeviceAttributeMaxTexture2DHeight
Maximum dimension hight of 2D texture.
Definition hip_runtime_api.h:474
@ hipDeviceAttributePersistingL2CacheMaxSize
Maximum l2 persisting lines capacity in bytes.
Definition hip_runtime_api.h:502
@ hipDeviceAttributeEccEnabled
Whether ECC support is enabled.
Definition hip_runtime_api.h:426
@ hipDeviceAttributeCanUseHostPointerForRegisteredMem
Definition hip_runtime_api.h:430
@ hipDeviceAttributePciBusId
PCI Bus ID.
Definition hip_runtime_api.h:498
@ hipDeviceAttributeL2CacheSize
Size of L2 cache in bytes. 0 if the device doesn't have L2 cache.
Definition hip_runtime_api.h:448
@ hipDeviceAttributeKernelExecTimeout
Run time limit for kernels executed on the device.
Definition hip_runtime_api.h:447
@ hipDeviceAttributeMaxThreadsDim
Maximum dimension of a block.
Definition hip_runtime_api.h:485
@ hipDeviceAttributeSingleToDoublePrecisionPerfRatio
Cuda only. Performance ratio of single precision to double precision.
Definition hip_runtime_api.h:510
@ hipDeviceAttributeMaxGridDimY
Max grid size in height.
Definition hip_runtime_api.h:459
@ hipDeviceAttributeMultiprocessorCount
Number of multiprocessors on the device.
Definition hip_runtime_api.h:493
@ hipDeviceAttributeAmdSpecificBegin
Definition hip_runtime_api.h:527
@ hipDeviceAttributeMaxRegistersPerMultiprocessor
32-bit registers available per block.
Definition hip_runtime_api.h:505
@ hipDeviceAttributeIsMultiGpuBoard
Multiple GPU devices.
Definition hip_runtime_api.h:446
@ hipDeviceAttributeSharedMemPerBlockOptin
Maximum shared memory per block usable by special opt in.
Definition hip_runtime_api.h:508
@ hipDeviceAttributeMaxSurface2DLayered
Cuda only. Maximum dimensions of 2D layered surface.
Definition hip_runtime_api.h:464
@ hipDeviceAttributeAmdSpecificEnd
Definition hip_runtime_api.h:556
@ hipDeviceAttributeMemoryClockRate
Peak memory clock frequency in kilohertz.
Definition hip_runtime_api.h:490
@ hipDeviceAttributeMaxGridDimZ
Max grid size in depth.
Definition hip_runtime_api.h:460
@ hipDeviceAttributeHdpMemFlushCntl
Address of the HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:534
@ hipDeviceAttributeUnused2
Previously hipDeviceAttributeUuid.
Definition hip_runtime_api.h:519
@ hipDeviceAttributeFineGrainSupport
'1' if Device supports fine grain, '0' otherwise
Definition hip_runtime_api.h:551
@ hipDeviceAttributeCooperativeLaunch
Support cooperative launch.
Definition hip_runtime_api.h:437
@ hipDeviceAttributeUnifiedAddressing
Cuda only. An unified address space shared with the host.
Definition hip_runtime_api.h:518
@ hipDeviceAttributeAsyncEngineCount
Asynchronous engines number.
Definition hip_runtime_api.h:428
@ hipDeviceAttributeMultiGpuBoardGroupID
Unique ID of device group on the same multi-GPU board.
Definition hip_runtime_api.h:492
@ hipDeviceAttributeStreamPrioritiesSupported
Whether to support stream priorities.
Definition hip_runtime_api.h:511
@ hipDeviceAttributeMaxSharedMemoryPerBlock
Maximum shared memory available per block in bytes.
Definition hip_runtime_api.h:507
@ hipDeviceAttributeLocalL1CacheSupported
caching locals in L1 is supported
Definition hip_runtime_api.h:449
@ hipDeviceAttributeCanUseStreamWaitValue
Definition hip_runtime_api.h:546
@ hipDeviceAttributeMaxRegistersPerBlock
Definition hip_runtime_api.h:503
@ hipDeviceAttributeMaxThreadsPerBlock
Maximum number of threads per block.
Definition hip_runtime_api.h:486
@ hipDeviceAttributePciDomainId
PCI Domain Id.
Definition hip_runtime_api.h:500
@ hipDeviceAttributeMemoryBusWidth
Global memory bus width in bits.
Definition hip_runtime_api.h:489
@ hipDeviceAttributeMemoryPoolSupportedHandleTypes
Supported handle mask for HIP Stream Ordered Memory Allocator.
Definition hip_runtime_api.h:524
@ hipDeviceAttributeComputePreemptionSupported
Device supports Compute Preemption.
Definition hip_runtime_api.h:434
@ hipDeviceAttributeMaxSurface1D
Maximum size of 1D surface.
Definition hip_runtime_api.h:461
@ hipDeviceAttributeUnused1
Previously hipDeviceAttributeName.
Definition hip_runtime_api.h:494
@ hipDeviceAttributeMaxTexture3DAlt
Maximum dimensions of alternate 3D texture.
Definition hip_runtime_api.h:482
@ hipDeviceAttributeMaxTexture1DLinear
Definition hip_runtime_api.h:470
@ hipDeviceAttributeMaxTexture2DGather
Maximum dimensions of 2D texture if gather operations performed.
Definition hip_runtime_api.h:475
@ hipDeviceAttributeWallClockRate
Constant frequency of wall clock in kilohertz.
Definition hip_runtime_api.h:552
@ hipDeviceAttributePciDeviceId
PCI Device ID.
Definition hip_runtime_api.h:499
@ hipDeviceAttributeCanMapHostMemory
Whether host memory can be mapped into device address space.
Definition hip_runtime_api.h:429
@ hipDeviceAttributeMaxTexture1DWidth
Maximum size of 1D texture.
Definition hip_runtime_api.h:468
@ hipDeviceAttributeConcurrentManagedAccess
Device can coherently access managed memory concurrently with the CPU.
Definition hip_runtime_api.h:436
@ hipDeviceAttributeVendorSpecificBegin
Definition hip_runtime_api.h:557
@ hipDeviceAttributeManagedMemory
Device supports allocating managed memory on this system.
Definition hip_runtime_api.h:453
@ hipDeviceAttributeIntegrated
Device is integrated GPU.
Definition hip_runtime_api.h:445
@ hipDeviceAttributeMaxTexture2DLayered
Maximum dimensions of 2D layered texture.
Definition hip_runtime_api.h:476
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedGridDim
Definition hip_runtime_api.h:538
@ hipDeviceAttributeMaxTexture3DDepth
Maximum dimension depth of 3D texture.
Definition hip_runtime_api.h:481
@ hipDeviceAttributePciChipId
PCI Chip ID. Returns gpu manufacturer device id.
Definition hip_runtime_api.h:554
@ hipDeviceAttributeImageSupport
'1' if Device supports image, '0' otherwise.
Definition hip_runtime_api.h:548
@ hipDeviceAttributeTotalGlobalMem
Global memory available on devicice.
Definition hip_runtime_api.h:517
@ hipDeviceAttributeMaxBlocksPerMultiProcessor
Max block size per multiprocessor.
Definition hip_runtime_api.h:454
@ hipDeviceAttributeIsLargeBar
Whether it is LargeBar.
Definition hip_runtime_api.h:544
@ hipDeviceAttributeMaxTexture2DWidth
Maximum dimension width of 2D texture.
Definition hip_runtime_api.h:473
@ hipDeviceAttributeMaxBlockDimX
Max block size in width.
Definition hip_runtime_api.h:455
@ hipDeviceAttributeMaxTexture3DWidth
Maximum dimension width of 3D texture.
Definition hip_runtime_api.h:479
@ hipDeviceAttributeUnused3
Previously hipDeviceAttributeArch.
Definition hip_runtime_api.h:530
@ hipDeviceAttributeTotalConstantMemory
Constant memory size in bytes.
Definition hip_runtime_api.h:516
@ hipDeviceAttributeTextureAlignment
Alignment requirement for textures.
Definition hip_runtime_api.h:514
@ hipDeviceAttributeMaxTexture1DLayered
Maximum dimensions of 1D layered texture.
Definition hip_runtime_api.h:469
@ hipDeviceAttributeMaxSharedMemoryPerMultiprocessor
Maximum Shared Memory PerMultiprocessor.
Definition hip_runtime_api.h:531
@ hipDeviceAttributeReservedSharedMemPerBlock
Shared memory reserved by CUDA driver per block.
Definition hip_runtime_api.h:506
@ hipDeviceAttributeCudaCompatibleBegin
Definition hip_runtime_api.h:424
@ hipDeviceAttributeConcurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition hip_runtime_api.h:435
@ hipDeviceAttributeLuid
8-byte locally unique identifier in 8 bytes. Undefined on TCC and non-Windows platforms
Definition hip_runtime_api.h:450
@ hipDeviceAttributePciDomainID
PCI Domain ID, for backward compatibility.
Definition hip_runtime_api.h:501
@ hipDeviceAttributeMaxThreadsPerMultiProcessor
Maximum resident threads per multiprocessor.
Definition hip_runtime_api.h:487
@ hipDeviceAttributeTexturePitchAlignment
Pitch alignment requirement for 2D texture references bound to pitched memory;.
Definition hip_runtime_api.h:515
@ hipDeviceAttributePhysicalMultiProcessorCount
Definition hip_runtime_api.h:549
@ hipDeviceAttributeHostRegisterSupported
Can device support host memory registration via hipHostRegister.
Definition hip_runtime_api.h:523
@ hipDeviceAttributeSharedMemPerMultiprocessor
Shared memory available per multiprocessor.
Definition hip_runtime_api.h:509
@ hipDeviceAttributeLuidDeviceNodeMask
Luid device node mask. Undefined on TCC and non-Windows platforms.
Definition hip_runtime_api.h:451
@ hipDeviceAttributeMaxTextureCubemapLayered
Maximum dimensions of Cubemap layered texture.
Definition hip_runtime_api.h:484
@ hipDeviceAttributeCooperativeMultiDeviceUnmatchedBlockDim
Definition hip_runtime_api.h:540
@ hipDeviceAttributeVirtualMemoryManagementSupported
Device supports HIP virtual memory management.
Definition hip_runtime_api.h:522
@ hipDeviceAttributeMemoryPoolsSupported
Device supports HIP Stream Ordered Memory Allocator.
Definition hip_runtime_api.h:521
@ hipDeviceAttributeClockInstructionRate
Frequency in khz of the timer used by the device-side "clock*".
Definition hip_runtime_api.h:529
@ hipDeviceAttributeMaxTexture2DMipmap
Maximum dimensions of 2D mipmapped texture.
Definition hip_runtime_api.h:478
@ hipDeviceAttributeMaxBlockDimZ
Max block size in depth.
Definition hip_runtime_api.h:457
@ hipDeviceAttributeWarpSize
Warp size in threads.
Definition hip_runtime_api.h:520
@ hipGPUDirectRDMAWritesOrderingOwner
Definition hip_runtime_api.h:581
@ hipGPUDirectRDMAWritesOrderingNone
Definition hip_runtime_api.h:580
@ hipGPUDirectRDMAWritesOrderingAllDevices
Definition hip_runtime_api.h:582
@ hipMemAllocationTypeMax
Definition hip_runtime_api.h:1157
@ hipMemAllocationTypePinned
Definition hip_runtime_api.h:1155
@ hipMemAllocationTypeUncached
Definition hip_runtime_api.h:1156
@ hipMemAllocationTypeInvalid
Definition hip_runtime_api.h:1151
@ hipErrorInvalidSource
Invalid source.
Definition hip_runtime_api.h:347
@ hipErrorPriorLaunchFailure
Definition hip_runtime_api.h:323
@ hipErrorInvalidDevice
DeviceID must be in range from 0 to compute-devices.
Definition hip_runtime_api.h:326
@ hipErrorGraphExecUpdateFailure
Definition hip_runtime_api.h:402
@ hipErrorArrayIsMapped
Definition hip_runtime_api.h:334
@ hipErrorRuntimeMemory
Definition hip_runtime_api.h:410
@ hipErrorUnsupportedLimit
Unsupported limit.
Definition hip_runtime_api.h:342
@ hipErrorSetOnActiveProcess
The process is active.
Definition hip_runtime_api.h:367
@ hipErrorMapFailed
Definition hip_runtime_api.h:330
@ hipErrorInvalidTexture
Invalid texture.
Definition hip_runtime_api.h:407
@ hipErrorInvalidValue
Definition hip_runtime_api.h:303
@ hipErrorStreamCaptureUnsupported
Definition hip_runtime_api.h:380
@ hipErrorSharedObjectSymbolNotFound
Definition hip_runtime_api.h:349
@ hipErrorStreamCaptureImplicit
Definition hip_runtime_api.h:393
@ hipErrorProfilerNotInitialized
Definition hip_runtime_api.h:313
@ hipErrorIllegalState
Resource required is not in a valid state to perform operation.
Definition hip_runtime_api.h:355
@ hipErrorNotFound
Not found.
Definition hip_runtime_api.h:356
@ hipErrorNotInitialized
Invalid not initialized.
Definition hip_runtime_api.h:308
@ hipErrorProfilerAlreadyStarted
Definition hip_runtime_api.h:314
@ hipErrorPeerAccessNotEnabled
Peer access was never enabled from the current device.
Definition hip_runtime_api.h:366
@ hipErrorInvalidDevicePointer
Invalid Device Pointer.
Definition hip_runtime_api.h:319
@ hipErrorStreamCaptureInvalidated
Definition hip_runtime_api.h:382
@ hipErrorInsufficientDriver
Definition hip_runtime_api.h:321
@ hipErrorStreamCaptureUnmatched
The capture was not initiated in this stream.
Definition hip_runtime_api.h:386
@ hipErrorNotMappedAsArray
Definition hip_runtime_api.h:339
@ hipErrorLaunchFailure
An exception occurred on the device while executing a kernel.
Definition hip_runtime_api.h:374
@ hipErrorLaunchOutOfResources
Out of resources error.
Definition hip_runtime_api.h:362
@ hipErrorECCNotCorrectable
Definition hip_runtime_api.h:341
@ hipErrorDeinitialized
Deinitialized.
Definition hip_runtime_api.h:311
@ hipErrorInvalidConfiguration
Invalide configuration.
Definition hip_runtime_api.h:316
@ hipErrorRuntimeOther
Definition hip_runtime_api.h:412
@ hipErrorAlreadyAcquired
Definition hip_runtime_api.h:337
@ hipErrorStreamCaptureIsolation
Definition hip_runtime_api.h:389
@ hipErrorPeerAccessAlreadyEnabled
Definition hip_runtime_api.h:364
@ hipErrorOperatingSystem
Not the correct operating system.
Definition hip_runtime_api.h:351
@ hipErrorLaunchTimeOut
Timeout for the launch.
Definition hip_runtime_api.h:363
@ hipErrorStreamCaptureMerge
Definition hip_runtime_api.h:384
@ hipErrorInvalidImage
Invalid image.
Definition hip_runtime_api.h:327
@ hipErrorHostMemoryNotRegistered
Definition hip_runtime_api.h:372
@ hipErrorOutOfMemory
out of memory range.
Definition hip_runtime_api.h:305
@ hipErrorProfilerAlreadyStopped
Definition hip_runtime_api.h:315
@ hipErrorInvalidPitchValue
Invalid pitch value.
Definition hip_runtime_api.h:317
@ hipErrorNotMappedAsPointer
Definition hip_runtime_api.h:340
@ hipErrorInitializationError
Definition hip_runtime_api.h:310
@ hipErrorMemoryAllocation
Memory allocation error.
Definition hip_runtime_api.h:307
@ hipErrorInvalidHandle
Invalide handle.
Definition hip_runtime_api.h:352
@ hipErrorNotSupported
Produced when the hip API is not supported/implemented.
Definition hip_runtime_api.h:379
@ hipErrorInvalidResourceHandle
Resource handle (hipEvent_t or hipStream_t) invalid.
Definition hip_runtime_api.h:354
@ hipErrorUnmapFailed
Definition hip_runtime_api.h:333
@ hipErrorHostMemoryAlreadyRegistered
Definition hip_runtime_api.h:370
@ hipErrorNotMapped
Definition hip_runtime_api.h:338
@ hipErrorSharedObjectInitFailed
Failed to initialize shared object.
Definition hip_runtime_api.h:350
@ hipErrorUnknown
Unknown error.
Definition hip_runtime_api.h:408
@ hipErrorNotReady
Definition hip_runtime_api.h:357
@ hipSuccess
Successful completion.
Definition hip_runtime_api.h:302
@ hipErrorAssert
Produced when the kernel calls assert.
Definition hip_runtime_api.h:369
@ hipErrorProfilerDisabled
Definition hip_runtime_api.h:312
@ hipErrorNoBinaryForGpu
Definition hip_runtime_api.h:336
@ hipErrorCooperativeLaunchTooLarge
Definition hip_runtime_api.h:375
@ hipErrorContextIsDestroyed
The context is already destroyed.
Definition hip_runtime_api.h:368
@ hipErrorMapBufferObjectFailed
Produced when the IPC memory attach failed from ROCr.
Definition hip_runtime_api.h:332
@ hipErrorTbd
Marker that more error codes are needed.
Definition hip_runtime_api.h:414
@ hipErrorInvalidGraphicsContext
Definition hip_runtime_api.h:346
@ hipErrorStreamCaptureUnjoined
Definition hip_runtime_api.h:387
@ hipErrorNoDevice
Call to hipGetDeviceCount returned 0 devices.
Definition hip_runtime_api.h:325
@ hipErrorInvalidSymbol
Invalid symbol.
Definition hip_runtime_api.h:318
@ hipErrorPeerAccessUnsupported
Definition hip_runtime_api.h:344
@ hipErrorInvalidContext
Produced when input context is invalid.
Definition hip_runtime_api.h:328
@ hipErrorFileNotFound
the file is not found.
Definition hip_runtime_api.h:348
@ hipErrorInvalidDeviceFunction
Invalid device function.
Definition hip_runtime_api.h:324
@ hipErrorAlreadyMapped
Definition hip_runtime_api.h:335
@ hipErrorInvalidMemcpyDirection
Invalid memory copy direction.
Definition hip_runtime_api.h:320
@ hipErrorInvalidKernelFile
In CUDA DRV, it is CUDA_ERROR_INVALID_PTX.
Definition hip_runtime_api.h:345
@ hipErrorInvalidChannelDescriptor
Invalid channel descriptor.
Definition hip_runtime_api.h:406
@ hipErrorCapturedEvent
Definition hip_runtime_api.h:396
@ hipErrorContextAlreadyInUse
The context is already in use.
Definition hip_runtime_api.h:343
@ hipErrorStreamCaptureWrongThread
Definition hip_runtime_api.h:398
@ hipErrorIllegalAddress
Definition hip_runtime_api.h:361
@ hipErrorMissingConfiguration
Definition hip_runtime_api.h:322
@ hipErrorContextAlreadyCurrent
Definition hip_runtime_api.h:329
@ hipMemoryTypeDevice
Definition hip_runtime_api.h:262
@ hipMemoryTypeHost
Memory is physically located on host.
Definition hip_runtime_api.h:261
@ hipMemoryTypeUnregistered
Unregistered memory.
Definition hip_runtime_api.h:260
@ hipMemoryTypeArray
Definition hip_runtime_api.h:267
@ hipMemoryTypeManaged
Definition hip_runtime_api.h:264
@ hipMemoryTypeUnified
unified address space
Definition hip_runtime_api.h:269
@ hipGraphInstantiateFlagAutoFreeOnLaunch
Automatically free memory allocated in a graph before relaunching.
Definition hip_runtime_api.h:1562
@ hipGraphInstantiateFlagUseNodePriority
Run the graph using the per-node priority attributes rather than the priority of the stream it is lau...
Definition hip_runtime_api.h:1568
@ hipGraphInstantiateFlagUpload
Automatically upload the graph after instantiation.
Definition hip_runtime_api.h:1564
@ hipGraphInstantiateFlagDeviceLaunch
Instantiate the graph to be launched from the device.
Definition hip_runtime_api.h:1566
@ hipMemLocationTypeInvalid
Definition hip_runtime_api.h:1116
@ hipMemLocationTypeDevice
Device location, thus it's HIP device ID.
Definition hip_runtime_api.h:1117
@ hipArraySparseSubresourceTypeSparseLevel
Sparse level.
Definition hip_runtime_api.h:1692
@ hipArraySparseSubresourceTypeMiptail
Miptail.
Definition hip_runtime_api.h:1693
hipError_t hipGraphKernelNodeSetParams(hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets a kernel node's parameters.
hipError_t hipGraphMemFreeNodeGetParams(hipGraphNode_t node, void *dev_ptr)
Returns parameters for memory free node.
hipError_t hipDrvGraphExecMemsetNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, const hipMemsetParams *memsetParams, hipCtx_t ctx)
Sets the parameters for a memset node in the given graphExec.
hipError_t hipGraphNodeGetDependencies(hipGraphNode_t node, hipGraphNode_t *pDependencies, size_t *pNumDependencies)
Returns a node's dependencies.
hipError_t hipGraphCreate(hipGraph_t *pGraph, unsigned int flags)
Creates a graph.
hipError_t hipGraphAddMemcpyNode1D(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Creates a 1D memcpy node and adds it to a graph.
hipError_t hipDrvGraphMemcpyNodeGetParams(hipGraphNode_t hNode, HIP_MEMCPY3D *nodeParams)
Gets a memcpy node's parameters.
hipError_t hipDeviceSetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void *value)
Set the mem attribute for graphs.
hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DParms *pNodeParams)
Sets a memcpy node's parameters.
hipError_t hipUserObjectCreate(hipUserObject_t *object_out, void *ptr, hipHostFn_t destroy, unsigned int initialRefcount, unsigned int flags)
Create an instance of userObject to manage lifetime of a resource.
hipError_t hipGraphExecUpdate(hipGraphExec_t hGraphExec, hipGraph_t hGraph, hipGraphNode_t *hErrorNode_out, hipGraphExecUpdateResult *updateResult_out)
Check whether an executable graph can be updated with a graph and perform the update if * possible.
hipError_t hipGraphNodeFindInClone(hipGraphNode_t *pNode, hipGraphNode_t originalNode, hipGraph_t clonedGraph)
Finds a cloned version of a node.
hipError_t hipGraphAddEventWaitNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
Creates an event wait node and adds it to a graph.
hipError_t hipGraphMemcpyNodeSetParamsToSymbol(hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node's parameters to copy to a symbol on the device.
hipError_t hipStreamIsCapturing(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus)
Get stream's capture state.
hipError_t hipGraphNodeGetEnabled(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, unsigned int *isEnabled)
Query whether a node in the given graphExec is enabled.
hipError_t hipGraphAddChildGraphNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipGraph_t childGraph)
Creates a child graph node and adds it to a graph.
hipError_t hipGraphExternalSemaphoresSignalNodeSetParams(hipGraphNode_t hNode, const hipExternalSemaphoreSignalNodeParams *nodeParams)
Updates node parameters in the external semaphore signal node.
hipError_t hipGraphDestroyNode(hipGraphNode_t node)
Remove a node from the graph.
hipError_t hipGraphMemcpyNodeSetParamsFromSymbol(hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
Sets a memcpy node's parameters to copy from a symbol on the device.
hipError_t hipGraphReleaseUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count)
Release user object from graphs.
hipError_t hipDrvGraphAddMemcpyNode(hipGraphNode_t *phGraphNode, hipGraph_t hGraph, const hipGraphNode_t *dependencies, size_t numDependencies, const HIP_MEMCPY3D *copyParams, hipCtx_t ctx)
Creates a memcpy node and adds it to a graph.
hipError_t hipGraphRemoveDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Removes dependency edges from a graph.
hipError_t hipGraphMemcpyNodeSetParams1D(hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets a memcpy node's parameters to perform a 1-dimensional copy.
hipError_t hipGraphExecMemcpyNodeSetParams1D(hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.
hipError_t hipGraphExecDestroy(hipGraphExec_t graphExec)
Destroys an executable graph.
hipError_t hipGraphAddExternalSemaphoresSignalNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipExternalSemaphoreSignalNodeParams *nodeParams)
Creates a external semaphor signal node and adds it to a graph.
hipError_t hipGraphExecExternalSemaphoresWaitNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, const hipExternalSemaphoreWaitNodeParams *nodeParams)
Updates node parameters in the external semaphore wait node in the given graphExec.
hipError_t hipGraphExecHostNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets the parameters for a host node in the given graphExec.
hipError_t hipGraphExecChildGraphNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipGraph_t childGraph)
Updates node parameters in the child graph node in the given graphExec.
hipError_t hipStreamGetCaptureInfo(hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus, unsigned long long *pId)
Get capture status of a stream.
hipError_t hipGraphAddDependencies(hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
Adds dependency edges to a graph.
hipError_t hipDrvGraphAddMemFreeNode(hipGraphNode_t *phGraphNode, hipGraph_t hGraph, const hipGraphNode_t *dependencies, size_t numDependencies, hipDeviceptr_t dptr)
Creates a memory free node and adds it to a graph.
hipError_t hipGraphExecKernelNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
Sets the parameters for a kernel node in the given graphExec.
hipError_t hipGraphNodeGetDependentNodes(hipGraphNode_t node, hipGraphNode_t *pDependentNodes, size_t *pNumDependentNodes)
Returns a node's dependent nodes.
hipError_t hipDeviceGetGraphMemAttribute(int device, hipGraphMemAttributeType attr, void *value)
Get the mem attribute for graphs.
hipError_t hipGraphHostNodeGetParams(hipGraphNode_t node, hipHostNodeParams *pNodeParams)
Returns a host node's parameters.
hipError_t hipGraphInstantiateWithFlags(hipGraphExec_t *pGraphExec, hipGraph_t graph, unsigned long long flags)
Creates an executable graph from a graph.
hipError_t hipGraphExternalSemaphoresSignalNodeGetParams(hipGraphNode_t hNode, hipExternalSemaphoreSignalNodeParams *params_out)
Returns external semaphore signal node params.
hipError_t hipGraphUpload(hipGraphExec_t graphExec, hipStream_t stream)
Uploads an executable graph to a stream.
hipError_t hipDrvGraphAddMemsetNode(hipGraphNode_t *phGraphNode, hipGraph_t hGraph, const hipGraphNode_t *dependencies, size_t numDependencies, const hipMemsetParams *memsetParams, hipCtx_t ctx)
Creates a memset node and adds it to a graph.
hipError_t hipGraphExecExternalSemaphoresSignalNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, const hipExternalSemaphoreSignalNodeParams *nodeParams)
Updates node parameters in the external semaphore signal node in the given graphExec.
hipError_t hipGraphExecMemcpyNodeSetParamsToSymbol(hipGraphExec_t hGraphExec, hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
Sets the parameters for a memcpy node in the given graphExec to copy to a symbol on the device.
hipError_t 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 hipGraphKernelNodeCopyAttributes(hipGraphNode_t hSrc, hipGraphNode_t hDst)
Copies attributes from source node to destination node.
hipError_t hipGraphAddMemFreeNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dev_ptr)
Creates a memory free node and adds it to a graph.
hipError_t hipDrvGraphMemcpyNodeSetParams(hipGraphNode_t hNode, const HIP_MEMCPY3D *nodeParams)
Sets a memcpy node's parameters.
hipError_t hipGraphMemcpyNodeGetParams(hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Gets a memcpy node's parameters.
hipError_t hipGraphNodeSetParams(hipGraphNode_t node, hipGraphNodeParams *nodeParams)
Updates parameters of a graph's node.
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 hipDrvGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, const HIP_MEMCPY3D *copyParams, hipCtx_t ctx)
Sets the parameters for a memcpy node in the given graphExec.
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 hipGraphExecGetFlags(hipGraphExec_t graphExec, unsigned long long *flags)
Return the flags of an executable 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 hipGraphNodeSetEnabled(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, unsigned int isEnabled)
Enables or disables the specified node in the given graphExec.
hipError_t hipGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
Sets the parameters of a memcpy node in the given graphExec.
hipError_t hipGraphExecNodeSetParams(hipGraphExec_t graphExec, hipGraphNode_t node, hipGraphNodeParams *nodeParams)
Updates parameters of an executable graph's node.
hipError_t hipGraphHostNodeSetParams(hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
Sets a host node's parameters.
hipError_t hipGraphMemAllocNodeGetParams(hipGraphNode_t node, hipMemAllocNodeParams *pNodeParams)
Returns parameters for memory allocation node.
hipError_t hipGraphInstantiateWithParams(hipGraphExec_t *pGraphExec, hipGraph_t graph, hipGraphInstantiateParams *instantiateParams)
Creates an executable graph from a graph.
hipError_t hipGraphExecEventRecordNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipError_t hipGraphExternalSemaphoresWaitNodeSetParams(hipGraphNode_t hNode, const hipExternalSemaphoreWaitNodeParams *nodeParams)
Updates node parameters in the external semaphore wait node.
hipError_t hipGraphMemsetNodeGetParams(hipGraphNode_t node, hipMemsetParams *pNodeParams)
Gets a memset node's parameters.
hipError_t hipGraphChildGraphNodeGetGraph(hipGraphNode_t node, hipGraph_t *pGraph)
Gets a handle to the embedded graph of a child graph node.
hipError_t hipGraphKernelNodeGetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, hipKernelNodeAttrValue *value)
Gets a node's 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 the specified stream.
hipError_t hipGraphDebugDotPrint(hipGraph_t graph, const char *path, unsigned int flags)
Write a DOT file describing graph structure.
hipError_t hipGraphExecMemsetNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipMemsetParams *pNodeParams)
Sets the parameters for a memset node in the given graphExec.
hipError_t hipGraphGetEdges(hipGraph_t graph, hipGraphNode_t *from, hipGraphNode_t *to, size_t *numEdges)
Returns a graph's dependency edges.
hipError_t hipGraphAddKernelNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipKernelNodeParams *pNodeParams)
Creates a kernel execution node and adds it to a graph.
hipError_t hipGraphExecEventWaitNodeSetEvent(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
Sets the event for an event record node in the given graphExec.
hipError_t hipStreamGetCaptureInfo_v2(hipStream_t stream, hipStreamCaptureStatus *captureStatus_out, unsigned long long *id_out, hipGraph_t *graph_out, const hipGraphNode_t **dependencies_out, size_t *numDependencies_out)
Get stream's capture state.
hipError_t hipStreamBeginCaptureToGraph(hipStream_t stream, hipGraph_t graph, const hipGraphNode_t *dependencies, const hipGraphEdgeData *dependencyData, size_t numDependencies, hipStreamCaptureMode mode)
Begins graph capture on a stream to an existing graph.
hipError_t hipGraphAddExternalSemaphoresWaitNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipExternalSemaphoreWaitNodeParams *nodeParams)
Creates a external semaphor wait node and adds it to a graph.
hipError_t hipGraphEventWaitNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event wait node's event.
hipError_t hipGraphEventRecordNodeSetEvent(hipGraphNode_t node, hipEvent_t event)
Sets an event record node's event.
hipError_t hipGraphEventWaitNodeGetEvent(hipGraphNode_t node, hipEvent_t *event_out)
Returns the event associated with an event wait node.
hipError_t hipGraphKernelNodeSetAttribute(hipGraphNode_t hNode, hipKernelNodeAttrID attr, const hipKernelNodeAttrValue *value)
Sets a node's 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 hipGraphAddMemAllocNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipMemAllocNodeParams *pNodeParams)
Creates a memory allocation node and adds it to a graph.
hipError_t hipGraphAddHostNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipHostNodeParams *pNodeParams)
Creates a host execution node and adds it to a graph.
hipError_t hipGraphAddNode(hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipGraphNodeParams *nodeParams)
Creates a kernel execution node and adds it to a graph.
hipError_t hipGraphGetNodes(hipGraph_t graph, hipGraphNode_t *nodes, size_t *numNodes)
Returns a graph's 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 hipStreamUpdateCaptureDependencies(hipStream_t stream, hipGraphNode_t *dependencies, size_t numDependencies, unsigned int flags)
Update the set of dependencies in a capturing stream.
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 reserved for graphs on a specific device and return it back to the OS.
hipError_t hipGraphExternalSemaphoresWaitNodeGetParams(hipGraphNode_t hNode, hipExternalSemaphoreWaitNodeParams *params_out)
Returns external semaphore wait node params.
hipError_t hipGraphClone(hipGraph_t *pGraphClone, hipGraph_t originalGraph)
Clones a graph.
hipError_t hipGraphGetRootNodes(hipGraph_t graph, hipGraphNode_t *pRootNodes, size_t *pNumRootNodes)
Returns a 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 hipGraphicsUnregisterResource(hipGraphicsResource_t resource)
Unregisters a graphics resource.
hipError_t hipGraphicsUnmapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream)
Unmaps graphics resources.
hipError_t hipGraphicsSubResourceGetMappedArray(hipArray_t *array, hipGraphicsResource_t resource, unsigned int arrayIndex, unsigned int mipLevel)
Get an array through which to access a subresource of a mapped graphics resource.
hipError_t hipGraphicsResourceGetMappedPointer(void **devPtr, size_t *size, hipGraphicsResource_t resource)
Gets device accessible address of a graphics resource.
hipError_t hipGraphicsMapResources(int count, hipGraphicsResource_t *resources, hipStream_t stream)
Maps a graphics resource for access.
hipJitOption
Definition linker_types.h:47
hipJitInputType
Definition linker_types.h:89
hipError_t hipHostFree(void *ptr)
Free memory allocated by the HIP-Clang hip host memory allocation API This API performs an implicit h...
hipError_t hipMallocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipError_t hipMemcpyToArray(hipArray_t dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
Copies data between host and device [Deprecated].
hipError_t hipMemcpyFromArray(void *dst, hipArray_const_t srcArray, size_t wOffset, size_t hOffset, size_t count, hipMemcpyKind kind)
Copies data between host and device [Deprecated].
hipError_t hipMemAllocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
hipError_t hipMemcpyAtoA(hipArray_t dstArray, size_t dstOffset, hipArray_t srcArray, size_t srcOffset, size_t ByteCount)
Copies from one 1D array to another.
hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory.
hipError_t hipMemcpy2DArrayToArray(hipArray_t dst, size_t wOffsetDst, size_t hOffsetDst, hipArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpyAtoHAsync(void *dstHost, hipArray_t srcArray, size_t srcOffset, size_t ByteCount, hipStream_t stream)
Copies from one 1D array to host memory.
hipError_t hipFreeHost(void *ptr)
Frees page-locked memory This API performs an implicit hipDeviceSynchronize() call....
hipError_t hipMemset2DAsync(void *dst, size_t pitch, int value, size_t width, size_t height, hipStream_t stream)
Fills asynchronously the memory area pointed to by dst with the constant value.
hipError_t hipMemGetInfo(size_t *free, size_t *total)
Query memory info.
hipError_t hipExtMallocWithFlags(void **ptr, size_t sizeBytes, unsigned int flags)
Allocate memory on the default accelerator.
hipError_t hipMemcpy3D(const struct hipMemcpy3DParms *p)
Copies data between host and device.
hipError_t hipMalloc3DArray(hipArray_t *array, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int flags)
Allocate an array on the device.
hipError_t hipArrayCreate(hipArray_t *pHandle, const HIP_ARRAY_DESCRIPTOR *pAllocateArray)
Create an array memory pointer on the device.
hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent)
Fills synchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipError_t 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 hipMemcpyAtoD(hipDeviceptr_t dstDevice, hipArray_t srcArray, size_t srcOffset, size_t ByteCount)
Copies from one 1D array to device memory.
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 hipMemcpyFromSymbolAsync(void *dst, const void *symbol, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream)
Copies data from the given symbol on the device asynchronously.
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 hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent, hipStream_t stream)
Fills asynchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipError_t hipMemcpyFromSymbol(void *dst, const void *symbol, size_t sizeBytes, size_t offset, hipMemcpyKind kind)
Copies data from the given symbol on the device.
hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D *pCopy, hipStream_t stream)
Copies data between host and device asynchronously.
hipError_t hipArray3DGetDescriptor(HIP_ARRAY3D_DESCRIPTOR *pArrayDescriptor, hipArray_t array)
Gets a 3D array descriptor.
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)
Copies data between host and device asynchronously.
hipError_t hipArrayGetDescriptor(HIP_ARRAY_DESCRIPTOR *pArrayDescriptor, hipArray_t array)
Gets a 1D or 2D array descriptor.
hipError_t hipFree(void *ptr)
Free memory allocated by the HIP-Clang hip memory allocation API. This API performs an implicit hipDe...
hipError_t hipMemcpyHtoAAsync(hipArray_t dstArray, size_t dstOffset, const void *srcHost, size_t ByteCount, hipStream_t stream)
Copies from host memory to a 1D array.
hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipError_t hipGetProcAddress(const char *symbol, void **pfn, int hipVersion, uint64_t flags, hipDriverProcAddressQueryResult *symbolStatus)
Gets the pointer of requested HIP driver function.
hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, const void *ptr)
Returns 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 hipMallocArray(hipArray_t *array, const hipChannelFormatDesc *desc, size_t width, size_t height, unsigned int flags)
Allocate an array on the 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 hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
Get Device pointer from Host Pointer allocated through hipHostMalloc.
hipError_t hipMemcpyDtoA(hipArray_t dstArray, size_t dstOffset, hipDeviceptr_t srcDevice, size_t ByteCount)
Copies from device memory to a 1D array.
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)
Copies data between host and device asynchronously.
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 hipMemcpy3DAsync(const struct hipMemcpy3DParms *p, hipStream_t stream)
Copies data between host and device asynchronously.
hipError_t hipArray3DCreate(hipArray_t *array, const HIP_ARRAY3D_DESCRIPTOR *pAllocateArray)
Create a 3D array memory pointer on the device.
hipError_t hipArrayGetInfo(hipChannelFormatDesc *desc, hipExtent *extent, unsigned int *flags, hipArray_t array)
Gets info about the specified array.
hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D *pCopy)
Copies data between host and device.
hipError_t hipMemcpyParam2D(const hip_Memcpy2D *pCopy)
Copies memory for 2D arrays.
hipError_t hipMemcpyHtoA(hipArray_t dstArray, size_t dstOffset, const void *srcHost, size_t count)
Copies data between host and device.
hipError_t hipMemcpyToSymbolAsync(const void *symbol, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind, hipStream_t stream)
Copies data to the given symbol on the device asynchronously.
hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
Allocates device accessible page locked (pinned) host memory.
hipError_t hipMemcpy2DToArrayAsync(hipArray_t dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream)
Copies data between host and device.
hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
Register host memory so it can be accessed from the current device.
hipError_t hipMemcpyAtoH(void *dst, hipArray_t srcArray, size_t srcOffset, size_t count)
Copies data between host and device.
hipError_t hipMemcpyToSymbol(const void *symbol, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind)
Copies data to the given symbol on the device. Symbol HIP APIs allow a kernel to define a device-side...
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 hipMemGetAddressRange(hipDeviceptr_t *pbase, size_t *psize, hipDeviceptr_t dptr)
Get information on memory allocations.
hipError_t hipMemcpy2DToArray(hipArray_t dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D *pCopy, hipStream_t stream)
Copies memory for 2D arrays.
hipError_t hipDrvPointerGetAttributes(unsigned int numAttributes, hipPointer_attribute *attributes, void **data, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipError_t hipMalloc3D(hipPitchedPtr *pitchedDevPtr, hipExtent extent)
Create a 3D memory pointer on the device.
hipError_t hipPointerSetAttribute(const void *value, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Sets information on the specified pointer.[BETA].
hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Device asynchronously.
hipError_t hipMemAllocPitch(hipDeviceptr_t *dptr, size_t *pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes)
hipError_t hipMemsetD8(hipDeviceptr_t dest, unsigned char value, size_t count)
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
Copies data from src to dst asynchronously.
hipError_t hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Host asynchronously.
hipError_t hipFreeArray(hipArray_t array)
Frees an array on the device.
hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, const void *src, size_t sizeBytes)
Copy data from Host to Device.
hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count, hipStream_t stream)
Fills the memory area pointed to by dev with the constant integer value for specified number of times...
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 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 hipMemcpyHtoDAsync(hipDeviceptr_t dst, const void *src, size_t sizeBytes, hipStream_t stream)
Copy data from Host to Device asynchronously.
hipError_t hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream)
Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...
hipError_t hipMemcpyWithStream(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
Memory copy on the stream. It allows single or multiple devices to do memory copy on single or multip...
hipError_t hipGetSymbolAddress(void **devPtr, const void *symbol)
Gets device pointer associated with symbol on the device.
hipError_t hipPointerGetAttribute(void *data, hipPointer_attribute attribute, hipDeviceptr_t ptr)
Returns information about the specified pointer.[BETA].
hipError_t hipMemPtrGetInfo(void *ptr, size_t *size)
Get allocated memory size via memory pointer.
hipError_t hipArrayDestroy(hipArray_t array)
Destroy an array memory pointer on the device.
hipError_t hipMemPrefetchAsync(const void *dev_ptr, size_t count, int device, hipStream_t stream)
Prefetches memory to the specified destination device using 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 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)
Allocates memory that will be automatically managed by HIP.
hipError_t hipStreamAttachMemAsync(hipStream_t stream, void *dev_ptr, size_t length, unsigned int flags)
Attach memory to a stream asynchronously in HIP.
hipError_t hipModuleLaunchCooperativeKernelMultiDevice(hipFunctionLaunchParams *launchParamsList, unsigned int numDevices, unsigned int flags)
Launches kernels on multiple devices where thread blocks can cooperate and synchronize as they execut...
hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices where thread blocks can cooperate and synchronize as they execut...
hipError_t hipModuleLaunchCooperativeKernel(hipFunction_t f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hipStream_t stream, void **kernelParams)
launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelP...
hipError_t 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 hipModuleGetTexRef(textureReference **texRef, hipModule_t hmod, const char *name)
returns the handle of the texture reference with the name from the module.
hipError_t hipLinkComplete(hipLinkState_t state, void **hipBinOut, size_t *sizeOut)
Completes the linking of the given program.
hipError_t hipModuleLoad(hipModule_t *module, const char *fname)
Loads code object from file into a module the currrent context.
hipError_t hipModuleGetGlobal(hipDeviceptr_t *dptr, size_t *bytes, hipModule_t hmod, const char *name)
Returns a global pointer from a module.
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 hipLinkAddFile(hipLinkState_t state, hipJitInputType type, const char *path, unsigned int numOptions, hipJitOption *options, void **optionValues)
Adds a file with bitcode to be linked with options.
hipError_t hipGetFuncBySymbol(hipFunction_t *functionPtr, const void *symbolPtr)
Gets pointer to device entry function that matches entry function symbolPtr.
hipError_t hipLinkDestroy(hipLinkState_t state)
Deletes the linker instance.
hipError_t hipMemGetHandleForAddressRange(void *handle, hipDeviceptr_t dptr, size_t size, hipMemRangeHandleType handleType, unsigned long long flags)
Returns a handle for the address range requested.
hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname)
Function with kname will be extracted if present in module.
hipError_t hipLinkCreate(unsigned int numOptions, hipJitOption *options, void **optionValues, hipLinkState_t *stateOut)
Creates a linker instance with options.
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 hipLinkAddData(hipLinkState_t state, hipJitInputType type, void *data, size_t size, const char *name, unsigned int numOptions, hipJitOption *options, void **optionValues)
Adds bitcode data to be linked with options.
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags)
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)
Determines if a device can access a peer device's memory.
hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
Enables direct access to memory allocations on a peer device.
hipError_t hipMemcpyPeer(void *dst, int dstDeviceId, const void *src, int srcDeviceId, size_t sizeBytes)
Copies memory between two peer accessible devices.
hipError_t hipMemcpyPeerAsync(void *dst, int dstDeviceId, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream)
Copies memory between two peer accessible devices asynchronously.
hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
Disables direct access to memory allocations on a peer device.
hipError_t hipProfilerStart()
Start recording of profiling information [Deprecated] When using this API, start the profiler with pr...
hipError_t hipProfilerStop()
Stop recording of profiling information [Deprecated] When using this API, start the profiler with pro...
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)
Returns 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:2869
hipError_t hipStreamGetDevice(hipStream_t stream, hipDevice_t *device)
Gets the device associated with the stream.
hipError_t hipStreamQuery(hipStream_t stream)
Returns hipSuccess if all of the operations in the specified stream have completed,...
hipError_t hipStreamSynchronize(hipStream_t stream)
Waits for all commands in the stream to complete.
hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
Makes the specified compute stream wait for the specified event.
hipError_t hipStreamCreateWithPriority(hipStream_t *stream, unsigned int flags, int priority)
Creates an asynchronous stream with the specified priority.
hipError_t hipExtStreamCreateWithCUMask(hipStream_t *stream, uint32_t cuMaskSize, const uint32_t *cuMask)
Creates an asynchronous stream with the specified CU mask.
hipError_t hipStreamGetPriority(hipStream_t stream, int *priority)
Queries the priority of a stream.
hipError_t hipExtStreamGetCUMask(hipStream_t stream, uint32_t cuMaskSize, uint32_t *cuMask)
Gets CU mask associated with an asynchronous stream.
hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
Creates an asynchronous stream with flag.
hipError_t hipStreamCreate(hipStream_t *stream)
Creates 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 hipGraphExecBatchMemOpNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t hNode, const hipBatchMemOpNodeParams *nodeParams)
Sets the parameters for a batch mem op node in the given graphExec.[BETA].
hipError_t hipGraphAddBatchMemOpNode(hipGraphNode_t *phGraphNode, hipGraph_t hGraph, const hipGraphNode_t *dependencies, size_t numDependencies, const hipBatchMemOpNodeParams *nodeParams)
Creates a batch memory operation node and adds it to a graph.[BETA].
hipError_t hipStreamWaitValue64(hipStream_t stream, void *ptr, uint64_t value, unsigned int flags, uint64_t mask)
Enqueues a wait command to the stream.[BETA].
hipError_t hipGraphBatchMemOpNodeGetParams(hipGraphNode_t hNode, hipBatchMemOpNodeParams *nodeParams_out)
Returns a batch mem op node's parameters.[BETA].
hipError_t hipStreamBatchMemOp(hipStream_t stream, unsigned int count, hipStreamBatchMemOpParams *paramArray, unsigned int flags)
Enqueues an array of stream memory operations in the stream.[BETA].
hipError_t hipGraphBatchMemOpNodeSetParams(hipGraphNode_t hNode, hipBatchMemOpNodeParams *nodeParams)
Sets the batch mem op node's parameters.[BETA].
hipError_t hipStreamWaitValue32(hipStream_t stream, void *ptr, uint32_t value, unsigned int flags, uint32_t mask)
Enqueues a wait command to the stream.[BETA].
hipError_t hipMemPoolImportPointer(void **dev_ptr, hipMemPool_t mem_pool, hipMemPoolPtrExportData *export_data)
Import a memory pool allocation from another process.
hipError_t hipMemPoolImportFromShareableHandle(hipMemPool_t *mem_pool, void *shared_handle, hipMemAllocationHandleType handle_type, unsigned int flags)
Imports a memory pool from a shared handle.
hipError_t hipMallocFromPoolAsync(void **dev_ptr, size_t size, hipMemPool_t mem_pool, hipStream_t stream)
Allocates memory from a specified pool with stream ordered semantics.
hipError_t hipFreeAsync(void *dev_ptr, hipStream_t stream)
Frees memory with stream ordered semantics.
hipError_t hipMemPoolTrimTo(hipMemPool_t mem_pool, size_t min_bytes_to_hold)
Releases freed memory back to the OS.
hipError_t hipMemPoolCreate(hipMemPool_t *mem_pool, const hipMemPoolProps *pool_props)
Creates a memory pool.
hipError_t hipMemPoolSetAccess(hipMemPool_t mem_pool, const hipMemAccessDesc *desc_list, size_t count)
Controls visibility of the specified pool between devices.
hipError_t hipMemPoolDestroy(hipMemPool_t mem_pool)
Destroys the specified memory pool.
hipError_t hipMemPoolSetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void *value)
Sets attributes of a memory pool.
hipError_t hipMemPoolGetAttribute(hipMemPool_t mem_pool, hipMemPoolAttr attr, void *value)
Gets attributes of a memory pool.
hipError_t hipMemPoolExportToShareableHandle(void *shared_handle, hipMemPool_t mem_pool, hipMemAllocationHandleType handle_type, unsigned int flags)
Exports a memory pool to the requested handle type.
hipError_t hipMemPoolExportPointer(hipMemPoolPtrExportData *export_data, void *dev_ptr)
Export data to share a memory pool allocation between processes.
hipError_t hipMallocAsync(void **dev_ptr, size_t size, hipStream_t stream)
Allocates memory with stream ordered semantics.
hipError_t hipMemPoolGetAccess(hipMemAccessFlags *flags, hipMemPool_t mem_pool, hipMemLocation *location)
Returns the accessibility of a pool from a device.
hipError_t hipDestroySurfaceObject(hipSurfaceObject_t surfaceObject)
Destroy a surface object.
hipError_t hipCreateSurfaceObject(hipSurfaceObject_t *pSurfObject, const hipResourceDesc *pResDesc)
Create a surface object.
hipError_t hipTexRefGetFilterMode(enum hipTextureFilterMode *pfm, const textureReference *texRef)
Gets filter mode for a texture reference [Deprecated].
hipError_t hipBindTextureToMipmappedArray(const textureReference *tex, hipMipmappedArray_const_t mipmappedArray, const hipChannelFormatDesc *desc)
Binds a mipmapped array to a texture [Deprecated].
hipError_t hipTexRefGetMipmapLevelClamp(float *pminMipmapLevelClamp, float *pmaxMipmapLevelClamp, const textureReference *texRef)
Gets the minimum and maximum mipmap level clamps for a texture reference [Deprecated].
hipError_t hipTexRefGetAddressMode(enum hipTextureAddressMode *pam, const textureReference *texRef, int dim)
Gets the address mode for a texture reference [Deprecated].
hipError_t hipTexRefGetFlags(unsigned int *pFlags, const textureReference *texRef)
Gets flags for a texture reference [Deprecated].
hipError_t hipTexRefSetAddress(size_t *ByteOffset, textureReference *texRef, hipDeviceptr_t dptr, size_t bytes)
Sets an bound address for a texture reference [Deprecated].
hipError_t hipTexRefSetFilterMode(textureReference *texRef, enum hipTextureFilterMode fm)
Set filter mode for a texture reference [Deprecated].
hipError_t hipTexRefSetMipmappedArray(textureReference *texRef, struct hipMipmappedArray *mipmappedArray, unsigned int Flags)
Binds mipmapped array to a texture reference [Deprecated].
hipError_t hipTexRefGetMipmapFilterMode(enum hipTextureFilterMode *pfm, const textureReference *texRef)
Gets the mipmap filter mode for a texture reference [Deprecated].
hipError_t hipGetTextureAlignmentOffset(size_t *offset, const textureReference *texref)
Get the offset of the alignment in a texture [Deprecated].
hipError_t hipBindTexture2D(size_t *offset, const textureReference *tex, const void *devPtr, const hipChannelFormatDesc *desc, size_t width, size_t height, size_t pitch)
Binds a 2D memory area to a texture [Deprecated].
hipError_t hipTexRefGetMaxAnisotropy(int *pmaxAnsio, const textureReference *texRef)
Gets the maximum anisotropy for a texture reference [Deprecated].
hipError_t hipBindTexture(size_t *offset, const textureReference *tex, const void *devPtr, const hipChannelFormatDesc *desc, size_t size)
Binds a memory area to a texture [Deprecated].
hipError_t hipUnbindTexture(const textureReference *tex)
Unbinds a texture [Deprecated].
hipError_t hipTexRefGetBorderColor(float *pBorderColor, const textureReference *texRef)
Gets the border color used by a texture reference [Deprecated].
hipError_t hipTexRefSetFormat(textureReference *texRef, hipArray_Format fmt, int NumPackedComponents)
Set format for a texture reference [Deprecated].
hipError_t hipTexRefGetAddress(hipDeviceptr_t *dev_ptr, const textureReference *texRef)
Gets the address for a texture reference [Deprecated].
hipError_t hipTexRefGetArray(hipArray_t *pArray, const textureReference *texRef)
Gets the array bound to a texture reference [Deprecated].
hipError_t hipTexRefSetFlags(textureReference *texRef, unsigned int Flags)
Set flags for a texture reference [Deprecated].
hipError_t hipTexRefSetAddressMode(textureReference *texRef, int dim, enum hipTextureAddressMode am)
Sets address mode for a texture reference [Deprecated].
hipError_t hipTexRefGetMipMappedArray(hipMipmappedArray_t *pArray, const textureReference *texRef)
Gets the mipmapped array bound to a texture reference [Deprecated].
hipError_t hipTexRefSetMaxAnisotropy(textureReference *texRef, unsigned int maxAniso)
Sets the maximum anisotropy for a texture reference [Deprecated].
hipError_t hipTexRefSetMipmapLevelClamp(textureReference *texRef, float minMipMapLevelClamp, float maxMipMapLevelClamp)
Sets mipmap level clamp for a texture reference [Deprecated].
hipError_t hipTexRefSetBorderColor(textureReference *texRef, float *pBorderColor)
Sets border color for a texture reference [Deprecated].
hipError_t hipTexRefSetArray(textureReference *tex, hipArray_const_t array, unsigned int flags)
Binds an array as a texture reference [Deprecated].
hipError_t hipTexRefSetMipmapLevelBias(textureReference *texRef, float bias)
Sets mipmap level bias for a texture reference [Deprecated].
hipError_t hipTexRefGetMipmapLevelBias(float *pbias, const textureReference *texRef)
Gets the mipmap level bias for a texture reference [Deprecated].
hipError_t hipBindTextureToArray(const textureReference *tex, hipArray_const_t array, const hipChannelFormatDesc *desc)
Binds a memory area to a texture [Deprecated].
hipError_t hipGetTextureReference(const textureReference **texref, const void *symbol)
Gets the texture reference related with the symbol [Deprecated].
hipError_t hipTexRefSetAddress2D(textureReference *texRef, const HIP_ARRAY_DESCRIPTOR *desc, hipDeviceptr_t dptr, size_t Pitch)
Set a bind an address as a 2D texture reference [Deprecated].
hipError_t hipTexRefSetMipmapFilterMode(textureReference *texRef, enum hipTextureFilterMode fm)
Sets mipmap filter mode for a texture reference [Deprecated].
hipError_t hipTexRefGetFormat(hipArray_Format *pFormat, int *pNumChannels, const textureReference *texRef)
Gets texture format for a texture reference [Deprecated].
hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray)
Frees a mipmapped array on the device.
hipError_t hipGetMipmappedArrayLevel(hipArray_t *levelArray, hipMipmappedArray_const_t mipmappedArray, unsigned int level)
Gets a mipmap level of a HIP mipmapped array.
hipError_t hipMipmappedArrayGetLevel(hipArray_t *pLevelArray, hipMipmappedArray_t hMipMappedArray, unsigned int level)
Get a mipmapped array on a mipmapped level.
hipError_t hipMipmappedArrayDestroy(hipMipmappedArray_t hMipmappedArray)
Destroy a mipmapped array.
hipError_t hipTexObjectCreate(hipTextureObject_t *pTexObject, const HIP_RESOURCE_DESC *pResDesc, const HIP_TEXTURE_DESC *pTexDesc, const HIP_RESOURCE_VIEW_DESC *pResViewDesc)
Creates a texture object.
hipError_t hipGetTextureObjectResourceDesc(hipResourceDesc *pResDesc, hipTextureObject_t textureObject)
Gets resource descriptor for the texture object.
hipError_t hipGetTextureObjectResourceViewDesc(struct hipResourceViewDesc *pResViewDesc, hipTextureObject_t textureObject)
Gets resource view descriptor for the texture object.
hipError_t hipTexObjectGetTextureDesc(HIP_TEXTURE_DESC *pTexDesc, hipTextureObject_t texObject)
Gets texture descriptor of a texture object.
hipError_t hipCreateTextureObject(hipTextureObject_t *pTexObject, const hipResourceDesc *pResDesc, const hipTextureDesc *pTexDesc, const struct hipResourceViewDesc *pResViewDesc)
Creates a texture object.
hipError_t hipTexObjectDestroy(hipTextureObject_t texObject)
Destroys a texture object.
hipError_t hipMipmappedArrayCreate(hipMipmappedArray_t *pHandle, HIP_ARRAY3D_DESCRIPTOR *pMipmappedArrayDesc, unsigned int numMipmapLevels)
Create a mipmapped array.
hipError_t hipGetChannelDesc(hipChannelFormatDesc *desc, hipArray_const_t array)
Gets the channel descriptor in an array.
hipError_t hipTexObjectGetResourceDesc(HIP_RESOURCE_DESC *pResDesc, hipTextureObject_t texObject)
Gets resource descriptor of a texture object.
hipError_t hipTexObjectGetResourceViewDesc(HIP_RESOURCE_VIEW_DESC *pResViewDesc, hipTextureObject_t texObject)
Gets resource view descriptor of a texture object.
hipError_t hipMallocMipmappedArray(hipMipmappedArray_t *mipmappedArray, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int numLevels, unsigned int flags)
Allocate a mipmapped array on the device.
hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject)
Destroys a texture object.
hipError_t hipGetTextureObjectTextureDesc(hipTextureDesc *pTexDesc, hipTextureObject_t textureObject)
Gets texture descriptor for the texture object.
hipError_t hipMemAddressFree(void *devPtr, size_t size)
Frees an address range reservation made via hipMemAddressReserve.
hipError_t hipMemExportToShareableHandle(void *shareableHandle, hipMemGenericAllocationHandle_t handle, hipMemAllocationHandleType handleType, unsigned long long flags)
Exports an allocation to a requested shareable handle type.
hipError_t hipMemGetAccess(unsigned long long *flags, const hipMemLocation *location, void *ptr)
Get the access flags set for the given location and ptr.
hipError_t hipMemSetAccess(void *ptr, size_t size, const hipMemAccessDesc *desc, size_t count)
Set the access flags for each location specified in desc for the given virtual address range.
hipError_t hipMemRelease(hipMemGenericAllocationHandle_t handle)
Release a memory handle representing a memory allocation which was previously allocated through hipMe...
hipError_t hipMemUnmap(void *ptr, size_t size)
Unmap memory allocation of a given address range.
hipError_t hipMemGetAllocationGranularity(size_t *granularity, const hipMemAllocationProp *prop, hipMemAllocationGranularity_flags option)
Calculates either the minimal or recommended granularity.
hipError_t hipMemRetainAllocationHandle(hipMemGenericAllocationHandle_t *handle, void *addr)
Returns the allocation handle of the backing memory allocation given the address.
hipError_t hipMemCreate(hipMemGenericAllocationHandle_t *handle, size_t size, const hipMemAllocationProp *prop, unsigned long long flags)
Creates a memory allocation described by the properties and size.
hipError_t hipMemMap(void *ptr, size_t size, size_t offset, hipMemGenericAllocationHandle_t handle, unsigned long long flags)
Maps an allocation handle to a reserved virtual address range.
hipError_t hipMemAddressReserve(void **ptr, size_t size, size_t alignment, void *addr, unsigned long long flags)
Reserves an address range.
hipError_t hipMemGetAllocationPropertiesFromHandle(hipMemAllocationProp *prop, hipMemGenericAllocationHandle_t handle)
Retrieve the property structure of the given handle.
hipError_t hipMemMapArrayAsync(hipArrayMapInfo *mapInfoList, unsigned int count, hipStream_t stream)
Maps or unmaps subregions of sparse HIP arrays and sparse HIP mipmapped arrays.
hipError_t hipMemImportFromShareableHandle(hipMemGenericAllocationHandle_t *handle, void *osHandle, hipMemAllocationHandleType shHandleType)
Imports an allocation from a requested shareable handle type.
@ HIP_ERROR_LAUNCH_OUT_OF_RESOURCES
Definition hip_runtime_api.h:52
@ HIP_ERROR_INVALID_VALUE
Definition hip_runtime_api.h:50
@ HIP_SUCCESS
Definition hip_runtime_api.h:49
@ HIP_ERROR_NOT_INITIALIZED
Definition hip_runtime_api.h:51
Definition hip_runtime_api.h:613
hipError_t hip_init()
Definition driver_types.h:103
Definition driver_types.h:93
Definition hip_runtime_api.h:1861
unsigned int gridDimZ
Grid depth in blocks.
Definition hip_runtime_api.h:1864
unsigned int sharedMemBytes
Dynamic shared-memory size in bytes per block.
Definition hip_runtime_api.h:1868
unsigned int blockDimY
Thread block dimension in Y.
Definition hip_runtime_api.h:1866
hipStream_t hStream
HIP stream identifier.
Definition hip_runtime_api.h:1869
hipLaunchAttribute * attrs
Attribute list.
Definition hip_runtime_api.h:1870
unsigned int blockDimZ
Thread block dimension in Z.
Definition hip_runtime_api.h:1867
unsigned int numAttrs
Number of attributes.
Definition hip_runtime_api.h:1871
unsigned int gridDimX
Grid width in blocks.
Definition hip_runtime_api.h:1862
unsigned int gridDimY
Grid height in blocks.
Definition hip_runtime_api.h:1863
unsigned int blockDimX
Thread block dimension in X.
Definition hip_runtime_api.h:1865
Definition driver_types.h:423
Definition driver_types.h:312
Definition driver_types.h:357
Definition driver_types.h:190
Definition hip_runtime_api.h:1220
uint32_t y
y
Definition hip_runtime_api.h:1222
uint32_t z
z
Definition hip_runtime_api.h:1223
uint32_t x
x
Definition hip_runtime_api.h:1221
constexpr dim3(uint32_t _x=1, uint32_t _y=1, uint32_t _z=1)
Definition hip_runtime_api.h:1225
Definition driver_types.h:115
Definition hip_runtime_api.h:1461
hipAccessProperty hitProp
Definition hip_runtime_api.h:1463
hipAccessProperty missProp
Definition hip_runtime_api.h:1465
float hitRatio
Definition hip_runtime_api.h:1464
void * base_ptr
Definition hip_runtime_api.h:1462
size_t num_bytes
Definition hip_runtime_api.h:1466
Definition hip_runtime_api.h:1699
unsigned int level
For mipmapped arrays must be a valid mipmap level. For arrays must be zero.
Definition hip_runtime_api.h:1708
struct hipArrayMapInfo::@32::@35 miptail
struct hipArrayMapInfo::@32::@34 sparseLevel
unsigned int flags
flags for future use, must be zero now.
Definition hip_runtime_api.h:1730
union hipArrayMapInfo::@31 resource
hipArraySparseSubresourceType subresourceType
Sparse subresource type.
Definition hip_runtime_api.h:1705
unsigned int extentDepth
Depth in elements.
Definition hip_runtime_api.h:1715
unsigned int offsetX
X offset in elements.
Definition hip_runtime_api.h:1710
hipArray_t array
Definition hip_runtime_api.h:1703
hipResourceType resourceType
Resource type.
Definition hip_runtime_api.h:1700
hipMemOperationType memOperationType
Memory operation type.
Definition hip_runtime_api.h:1723
unsigned int reserved[2]
Reserved for future use, must be zero now.
Definition hip_runtime_api.h:1731
unsigned int extentWidth
Width in elements.
Definition hip_runtime_api.h:1713
unsigned int extentHeight
Height in elements.
Definition hip_runtime_api.h:1714
unsigned int offsetY
Y offset in elements.
Definition hip_runtime_api.h:1711
hipMemHandleType memHandleType
Memory handle type.
Definition hip_runtime_api.h:1724
hipMemGenericAllocationHandle_t memHandle
Definition hip_runtime_api.h:1726
hipMipmappedArray mipmap
Definition hip_runtime_api.h:1702
unsigned int layer
For layered arrays must be a valid layer index. Otherwise, must be zero.
Definition hip_runtime_api.h:1709
unsigned int deviceBitMask
Device ordinal bit mask.
Definition hip_runtime_api.h:1729
union hipArrayMapInfo::@32 subresource
unsigned long long size
Extent in bytes.
Definition hip_runtime_api.h:1720
unsigned long long offset
Offset within mip tail.
Definition hip_runtime_api.h:1719
unsigned int offsetZ
Z offset in elements.
Definition hip_runtime_api.h:1712
Structure representing node parameters for batch memory operations in HIP graphs.
Definition hip_runtime_api.h:988
hipStreamBatchMemOpParams * paramArray
Definition hip_runtime_api.h:991
unsigned int count
Definition hip_runtime_api.h:990
unsigned int flags
Definition hip_runtime_api.h:992
hipCtx_t ctx
Definition hip_runtime_api.h:989
Definition driver_types.h:59
Definition hip_runtime_api.h:1746
hipGraph_t graph
Definition hip_runtime_api.h:1747
Definition hip_runtime_api.h:64
unsigned hasSharedInt64Atomics
64-bit integer atomics for shared memory.
Definition hip_runtime_api.h:74
unsigned hasSharedInt32Atomics
32-bit integer atomics for shared memory.
Definition hip_runtime_api.h:68
unsigned hasFloatAtomicAdd
32-bit float atomic add in global and shared memory.
Definition hip_runtime_api.h:70
unsigned hasDoubles
Double-precision floating point.
Definition hip_runtime_api.h:77
unsigned hasWarpVote
Warp vote instructions (__any, __all).
Definition hip_runtime_api.h:80
unsigned hasWarpShuffle
Warp shuffle operations. (__shfl_*).
Definition hip_runtime_api.h:82
unsigned hasGlobalInt32Atomics
32-bit integer atomics for global memory.
Definition hip_runtime_api.h:66
unsigned hasGlobalFloatAtomicExch
32-bit float atomic exch for global memory.
Definition hip_runtime_api.h:67
unsigned hasDynamicParallelism
Dynamic parallelism.
Definition hip_runtime_api.h:92
unsigned hasSurfaceFuncs
Surface functions.
Definition hip_runtime_api.h:90
unsigned has3dGrid
Grid and group dims are 3D (rather than 2D).
Definition hip_runtime_api.h:91
unsigned hasFunnelShift
Funnel two words into one with shift&mask caps.
Definition hip_runtime_api.h:83
unsigned hasThreadFenceSystem
__threadfence_system.
Definition hip_runtime_api.h:86
unsigned hasGlobalInt64Atomics
64-bit integer atomics for global memory.
Definition hip_runtime_api.h:73
unsigned hasSyncThreadsExt
__syncthreads_count, syncthreads_and, syncthreads_or.
Definition hip_runtime_api.h:87
unsigned hasWarpBallot
Warp ballot instructions (__ballot).
Definition hip_runtime_api.h:81
unsigned hasSharedFloatAtomicExch
32-bit float atomic exch for shared memory.
Definition hip_runtime_api.h:69
Definition hip_runtime_api.h:110
int ECCEnabled
Device has ECC support enabled.
Definition hip_runtime_api.h:167
int ipcEventSupported
Device supports IPC events.
Definition hip_runtime_api.h:222
int computePreemptionSupported
Is compute preemption supported on the device.
Definition hip_runtime_api.h:193
int maxTexture1DLinear
Maximum size for 1D textures bound to linear memory.
Definition hip_runtime_api.h:146
int timelineSemaphoreInteropSupported
Indicates external timeline semaphore support.
Definition hip_runtime_api.h:212
int pciBusID
PCI Bus ID.
Definition hip_runtime_api.h:168
int maxTexture1D
Maximum number of elements in 1D images.
Definition hip_runtime_api.h:144
int memoryBusWidth
Global memory bus width in bits.
Definition hip_runtime_api.h:175
int maxTexture2DMipmap[2]
Maximum number of elements in 2D array mipmap of images.
Definition hip_runtime_api.h:148
int clockRate
Max clock frequency of the multiProcessors in khz.
Definition hip_runtime_api.h:124
int maxThreadsPerMultiProcessor
Maximum resident threads per multi-processor.
Definition hip_runtime_api.h:178
int l2CacheSize
L2 cache size.
Definition hip_runtime_api.h:176
int deferredMappingHipArraySupported
Definition hip_runtime_api.h:220
int asyncEngineCount
Number of async engines.
Definition hip_runtime_api.h:172
int accessPolicyMaxWindowSize
Max value of access policy window.
Definition hip_runtime_api.h:206
size_t totalConstMem
Definition hip_runtime_api.h:125
int memoryPoolsSupported
Indicates if device supports hipMallocAsync and hipMemPool APIs.
Definition hip_runtime_api.h:213
int unifiedFunctionPointers
Indicates device supports unified function pointers.
Definition hip_runtime_api.h:224
int maxTexture2DGather[2]
Maximum 2D tex dimensions if gather has to be performed.
Definition hip_runtime_api.h:150
size_t memPitch
Definition hip_runtime_api.h:119
int gpuDirectRDMAWritesOrdering
value of hipGPUDirectRDMAWritesOrdering
Definition hip_runtime_api.h:217
hipUUID uuid
UUID of a device.
Definition hip_runtime_api.h:112
size_t sharedMemPerBlock
Size of shared memory per block (in bytes).
Definition hip_runtime_api.h:116
unsigned int gpuDirectRDMAFlushWritesOptions
Definition hip_runtime_api.h:215
size_t surfaceAlignment
Alignment requirement for surface.
Definition hip_runtime_api.h:165
int reserved[63]
CUDA Reserved.
Definition hip_runtime_api.h:225
int maxTexture2DLayered[3]
Maximum number of elements in 2D array images.
Definition hip_runtime_api.h:156
int streamPrioritiesSupported
Device supports stream priority.
Definition hip_runtime_api.h:179
int cooperativeMultiDeviceLaunch
Definition hip_runtime_api.h:197
int hostRegisterSupported
Device supports hipHostRegister.
Definition hip_runtime_api.h:208
int pageableMemoryAccess
Definition hip_runtime_api.h:189
char name[256]
Device name.
Definition hip_runtime_api.h:111
size_t textureAlignment
Alignment requirement for textures.
Definition hip_runtime_api.h:136
int globalL1CacheSupported
Indicates globals are cached in L1.
Definition hip_runtime_api.h:180
int hostNativeAtomicSupported
Link between host and device supports native atomics.
Definition hip_runtime_api.h:187
int maxSurfaceCubemapLayered[2]
Maximum cubemap layered surface size.
Definition hip_runtime_api.h:164
int maxTextureCubemapLayered[2]
Maximum cubemaps layered texture dims.
Definition hip_runtime_api.h:157
size_t sharedMemPerBlockOptin
Per device m ax shared mem per block usable by special opt in.
Definition hip_runtime_api.h:200
size_t sharedMemPerMultiprocessor
Amount of shared memory available per multiprocessor.
Definition hip_runtime_api.h:182
int singleToDoublePrecisionPerfRatio
Deprecated. CUDA only.
Definition hip_runtime_api.h:188
int maxSurface2D[2]
Maximum 2D surface size.
Definition hip_runtime_api.h:159
int memoryClockRate
Max global memory clock frequency in khz.
Definition hip_runtime_api.h:174
int maxTexture2DLinear[3]
Maximum 2D tex dimensions if tex are bound to pitched memory.
Definition hip_runtime_api.h:149
int sparseHipArraySupported
Indicates if device supports sparse hip arrays.
Definition hip_runtime_api.h:209
int clockInstructionRate
Definition hip_runtime_api.h:232
int localL1CacheSupported
Locals are cahced in L1.
Definition hip_runtime_api.h:181
int regsPerMultiprocessor
registers available per multiprocessor
Definition hip_runtime_api.h:183
int regsPerBlock
Registers per block.
Definition hip_runtime_api.h:117
int maxTexture2D[2]
Maximum dimensions (width, height) of 2D images, in image elements.
Definition hip_runtime_api.h:147
int cooperativeLaunch
HIP device supports cooperative launch.
Definition hip_runtime_api.h:196
int maxTexture3D[3]
Definition hip_runtime_api.h:151
int directManagedMemAccessFromHost
Definition hip_runtime_api.h:203
int cooperativeMultiDeviceUnmatchedFunc
Definition hip_runtime_api.h:237
int deviceOverlap
Deprecated. Use asyncEngineCount instead.
Definition hip_runtime_api.h:138
int pageableMemoryAccessUsesHostPageTables
Definition hip_runtime_api.h:201
unsigned int * hdpRegFlushCntl
Addres of HDP_REG_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:236
int maxThreadsDim[3]
Max number of threads in each dimension (XYZ) of a block.
Definition hip_runtime_api.h:122
int unifiedAddressing
Does device and host share unified address space.
Definition hip_runtime_api.h:173
int multiGpuBoardGroupID
Unique identifier for a group of devices on same multiboard GPU.
Definition hip_runtime_api.h:186
int isMultiGpuBoard
1 if device is on a multi-GPU board, 0 if not.
Definition hip_runtime_api.h:185
int canUseHostPointerForRegisteredMem
Definition hip_runtime_api.h:194
int maxTexture1DLayered[2]
Maximum number of elements in 1D array images.
Definition hip_runtime_api.h:155
int pciDomainID
PCI Domain ID.
Definition hip_runtime_api.h:170
size_t maxSharedMemoryPerMultiProcessor
Maximum Shared Memory Per CU. HIP Only.
Definition hip_runtime_api.h:231
int maxTextureCubemap
Maximum cubemap texture dims.
Definition hip_runtime_api.h:154
int hipReserved[32]
Reserved for adding new entries for HIP/CUDA.
Definition hip_runtime_api.h:227
int cooperativeMultiDeviceUnmatchedGridDim
Definition hip_runtime_api.h:240
int gpuDirectRDMASupported
Indicates device support of RDMA APIs.
Definition hip_runtime_api.h:214
int minor
Definition hip_runtime_api.h:131
char gcnArchName[256]
AMD GCN Arch Name. HIP Only.
Definition hip_runtime_api.h:230
char luid[8]
8-byte unique identifier. Only valid on windows
Definition hip_runtime_api.h:113
int kernelExecTimeoutEnabled
Run time limit for kernels executed on the device.
Definition hip_runtime_api.h:140
unsigned int memoryPoolSupportedHandleTypes
Bitmask of handle types support with mempool based IPC.
Definition hip_runtime_api.h:219
unsigned int * hdpMemFlushCntl
Addres of HDP_MEM_COHERENCY_FLUSH_CNTL register.
Definition hip_runtime_api.h:235
int concurrentManagedAccess
Definition hip_runtime_api.h:191
int integrated
APU vs dGPU.
Definition hip_runtime_api.h:141
int canMapHostMemory
Check whether HIP can map host memory.
Definition hip_runtime_api.h:142
size_t reservedSharedMemPerBlock
Shared memory reserved by driver per block.
Definition hip_runtime_api.h:207
int maxSurfaceCubemap
Maximum cubemap surface size.
Definition hip_runtime_api.h:163
int maxSurface3D[3]
Maximum 3D surface size.
Definition hip_runtime_api.h:160
int asicRevision
Revision of the GPU in this device.
Definition hip_runtime_api.h:250
size_t totalGlobalMem
Size of global memory region (in bytes).
Definition hip_runtime_api.h:115
int cooperativeMultiDeviceUnmatchedBlockDim
Definition hip_runtime_api.h:243
int maxSurface1DLayered[2]
Maximum 1D layered surface size.
Definition hip_runtime_api.h:161
int persistingL2CacheMaxSize
Device's max L2 persisting lines in bytes.
Definition hip_runtime_api.h:177
int maxSurface1D
Maximum 1D surface size.
Definition hip_runtime_api.h:158
int concurrentKernels
Device can possibly execute multiple kernels concurrently.
Definition hip_runtime_api.h:166
int isLargeBar
1: if it is a large PCI bar device, else 0
Definition hip_runtime_api.h:249
int clusterLaunch
Device supports cluster launch.
Definition hip_runtime_api.h:223
int maxTexture1DMipmap
Maximum 1D mipmap texture size.
Definition hip_runtime_api.h:145
int multiProcessorCount
Number of multi-processors (compute units).
Definition hip_runtime_api.h:139
int maxTexture3DAlt[3]
Maximum alternate 3D texture dims.
Definition hip_runtime_api.h:153
int maxGridSize[3]
Max grid dimensions (XYZ).
Definition hip_runtime_api.h:123
int pciDeviceID
PCI Device ID.
Definition hip_runtime_api.h:169
int maxBlocksPerMultiProcessor
Max number of blocks on CU.
Definition hip_runtime_api.h:205
int computeMode
Compute mode.
Definition hip_runtime_api.h:143
int maxSurface2DLayered[3]
Maximum 2D layared surface size.
Definition hip_runtime_api.h:162
int major
Definition hip_runtime_api.h:127
int warpSize
Warp size.
Definition hip_runtime_api.h:118
int tccDriver
1:If device is Tesla device using TCC driver, else 0
Definition hip_runtime_api.h:171
unsigned int luidDeviceNodeMask
LUID node mask.
Definition hip_runtime_api.h:114
int hostRegisterReadOnlySupported
Definition hip_runtime_api.h:210
int cooperativeMultiDeviceUnmatchedSharedMem
Definition hip_runtime_api.h:246
int maxThreadsPerBlock
Max work items per work group or workgroup max size.
Definition hip_runtime_api.h:121
hipDeviceArch_t arch
Architectural feature flags. New for HIP.
Definition hip_runtime_api.h:234
int managedMemory
Device supports allocating managed memory on this system.
Definition hip_runtime_api.h:184
size_t texturePitchAlignment
Pitch alignment requirement for texture references bound to.
Definition hip_runtime_api.h:137
Definition hip_runtime_api.h:1761
hipEvent_t event
The event to be recorded when node executes.
Definition hip_runtime_api.h:1762
Definition hip_runtime_api.h:1754
hipEvent_t event
Event to wait on.
Definition hip_runtime_api.h:1755
Definition driver_types.h:393
Definition hip_runtime_api.h:1278
unsigned int flags
Definition hip_runtime_api.h:1281
unsigned long long offset
Definition hip_runtime_api.h:1279
unsigned long long size
Definition hip_runtime_api.h:1280
Definition hip_runtime_api.h:1264
unsigned int flags
Definition hip_runtime_api.h:1275
const void * name
Definition hip_runtime_api.h:1270
int fd
Definition hip_runtime_api.h:1267
unsigned long long size
Definition hip_runtime_api.h:1274
hipExternalMemoryHandleType type
Definition hip_runtime_api.h:1265
const void * nvSciBufObject
Definition hip_runtime_api.h:1272
void * handle
Definition hip_runtime_api.h:1269
Definition hip_runtime_api.h:1284
hipExtent extent
Definition hip_runtime_api.h:1287
unsigned int numLevels
Definition hip_runtime_api.h:1289
unsigned int flags
Definition hip_runtime_api.h:1288
unsigned long long offset
Definition hip_runtime_api.h:1285
hipChannelFormatDesc formatDesc
Definition hip_runtime_api.h:1286
Definition hip_runtime_api.h:1304
unsigned int flags
Definition hip_runtime_api.h:1314
const void * name
Definition hip_runtime_api.h:1310
const void * NvSciSyncObj
Definition hip_runtime_api.h:1312
hipExternalSemaphoreHandleType type
Definition hip_runtime_api.h:1305
void * handle
Definition hip_runtime_api.h:1309
int fd
Definition hip_runtime_api.h:1307
Definition hip_runtime_api.h:1639
const hipExternalSemaphoreSignalParams * paramsArray
Total number of handles and parameters contained in extSemArray and paramsArray.
Definition hip_runtime_api.h:1643
hipExternalSemaphore_t * extSemArray
< Array containing external semaphore handles.
Definition hip_runtime_api.h:1641
unsigned int numExtSems
Definition hip_runtime_api.h:1645
Definition hip_runtime_api.h:1318
unsigned long long reserved
Definition hip_runtime_api.h:1325
unsigned long long value
Definition hip_runtime_api.h:1321
void * fence
Definition hip_runtime_api.h:1324
unsigned int flags
Definition hip_runtime_api.h:1332
unsigned long long key
Definition hip_runtime_api.h:1328
Definition hip_runtime_api.h:1651
unsigned int numExtSems
Definition hip_runtime_api.h:1657
const hipExternalSemaphoreWaitParams * paramsArray
Total number of handles and parameters contained in extSemArray and paramsArray.
Definition hip_runtime_api.h:1655
hipExternalSemaphore_t * extSemArray
< Array containing external semaphore handles.
Definition hip_runtime_api.h:1653
Definition hip_runtime_api.h:1338
unsigned long long value
Definition hip_runtime_api.h:1341
void * fence
Definition hip_runtime_api.h:1344
unsigned int timeoutMs
Definition hip_runtime_api.h:1349
unsigned long long key
Definition hip_runtime_api.h:1348
unsigned int flags
Definition hip_runtime_api.h:1353
unsigned long long reserved
Definition hip_runtime_api.h:1345
Definition hip_runtime_api.h:649
int cacheModeCA
Definition hip_runtime_api.h:651
int binaryVersion
Definition hip_runtime_api.h:650
size_t constSizeBytes
Definition hip_runtime_api.h:652
int preferredShmemCarveout
Definition hip_runtime_api.h:657
size_t sharedSizeBytes
Definition hip_runtime_api.h:659
int maxDynamicSharedSizeBytes
Definition hip_runtime_api.h:654
int ptxVersion
Definition hip_runtime_api.h:658
int numRegs
Definition hip_runtime_api.h:656
size_t localSizeBytes
Definition hip_runtime_api.h:653
int maxThreadsPerBlock
Definition hip_runtime_api.h:655
Definition hip_runtime_api.h:1242
unsigned int gridDimX
Width(X) of grid in blocks.
Definition hip_runtime_api.h:1244
unsigned int blockDimX
X dimension of each thread block.
Definition hip_runtime_api.h:1247
hipFunction_t function
Kernel to launch.
Definition hip_runtime_api.h:1243
hipStream_t hStream
Stream identifier.
Definition hip_runtime_api.h:1251
unsigned int blockDimY
Y dimension of each thread block.
Definition hip_runtime_api.h:1248
unsigned int gridDimY
Height(Y) of grid in blocks.
Definition hip_runtime_api.h:1245
unsigned int gridDimZ
Depth(Z) of grid in blocks.
Definition hip_runtime_api.h:1246
unsigned int sharedMemBytes
Shared memory.
Definition hip_runtime_api.h:1250
unsigned int blockDimZ
Z dimension of each thread block.
Definition hip_runtime_api.h:1249
void ** kernelParams
Kernel parameters.
Definition hip_runtime_api.h:1252
Definition hip_runtime_api.h:1818
unsigned char to_port
Currently no node types define non-zero ports. This field must be set to zero.
Definition hip_runtime_api.h:1829
unsigned char reserved[5]
These bytes are unused and must be zeroed.
Definition hip_runtime_api.h:1827
unsigned char type
This should be populated with a value from hipGraphDependencyType.
Definition hip_runtime_api.h:1830
unsigned char from_port
Definition hip_runtime_api.h:1820
Definition hip_runtime_api.h:1609
hipGraphInstantiateResult result_out
Definition hip_runtime_api.h:1612
hipStream_t uploadStream
Definition hip_runtime_api.h:1614
hipGraphNode_t errNode_out
Definition hip_runtime_api.h:1610
unsigned long long flags
Definition hip_runtime_api.h:1611
Definition hip_runtime_api.h:1775
hipGraphNodeType type
Definition hip_runtime_api.h:1776
int reserved0[3]
Definition hip_runtime_api.h:1777
hipMemAllocNodeParams alloc
Definition hip_runtime_api.h:1789
long long reserved1[29]
Definition hip_runtime_api.h:1779
hipEventRecordNodeParams eventRecord
Definition hip_runtime_api.h:1786
hipExternalSemaphoreSignalNodeParams extSemSignal
Definition hip_runtime_api.h:1787
hipMemFreeNodeParams free
Definition hip_runtime_api.h:1790
hipChildGraphNodeParams graph
Definition hip_runtime_api.h:1784
hipExternalSemaphoreWaitNodeParams extSemWait
Definition hip_runtime_api.h:1788
hipMemsetParams memset
Definition hip_runtime_api.h:1782
hipHostNodeParams host
Definition hip_runtime_api.h:1783
long long reserved2
Definition hip_runtime_api.h:1793
hipKernelNodeParams kernel
Definition hip_runtime_api.h:1780
hipEventWaitNodeParams eventWait
Definition hip_runtime_api.h:1785
hipMemcpyNodeParams memcpy
Definition hip_runtime_api.h:1781
Definition hip_runtime_api.h:1424
hipHostFn_t fn
Definition hip_runtime_api.h:1425
void * userData
Definition hip_runtime_api.h:1426
Definition hip_runtime_api.h:638
Definition hip_runtime_api.h:635
Definition hip_runtime_api.h:1428
dim3 gridDim
Definition hip_runtime_api.h:1432
unsigned int sharedMemBytes
Definition hip_runtime_api.h:1434
dim3 blockDim
Definition hip_runtime_api.h:1429
void ** kernelParams
Definition hip_runtime_api.h:1433
void ** extra
Definition hip_runtime_api.h:1430
void * func
Definition hip_runtime_api.h:1431
Definition hip_runtime_api.h:1837
hipLaunchAttributeValue val
Value associated with the launch attribute.
Definition hip_runtime_api.h:1841
hipLaunchAttributeID id
Identifier of the launch attribute.
Definition hip_runtime_api.h:1838
hipLaunchAttributeValue value
Value associated with the launch attribute.
Definition hip_runtime_api.h:1842
Definition hip_runtime_api.h:1849
dim3 blockDim
Block dimensions.
Definition hip_runtime_api.h:1851
dim3 gridDim
Grid dimensions.
Definition hip_runtime_api.h:1850
unsigned int numAttrs
Number of attributes.
Definition hip_runtime_api.h:1855
hipStream_t stream
Stream identifier.
Definition hip_runtime_api.h:1853
size_t dynamicSmemBytes
Dynamic shared-memory size per thread block.
Definition hip_runtime_api.h:1852
hipLaunchAttribute * attrs
Attributes list.
Definition hip_runtime_api.h:1854
Definition hip_runtime_api.h:1231
size_t sharedMem
Shared memory.
Definition hip_runtime_api.h:1236
void ** args
Arguments.
Definition hip_runtime_api.h:1235
dim3 blockDim
Block dimensions.
Definition hip_runtime_api.h:1234
dim3 gridDim
Grid dimensions.
Definition hip_runtime_api.h:1233
void * func
Device function symbol.
Definition hip_runtime_api.h:1232
hipStream_t stream
Stream identifier.
Definition hip_runtime_api.h:1237
Definition hip_runtime_api.h:1143
hipMemAccessFlags flags
Accessibility flags to set.
Definition hip_runtime_api.h:1145
hipMemLocation location
Location on which the accessibility has to change.
Definition hip_runtime_api.h:1144
Definition hip_runtime_api.h:1445
const hipMemAccessDesc * accessDescs
The number of memory access descriptors.
Definition hip_runtime_api.h:1448
size_t bytesize
The size of the requested allocation in bytes.
Definition hip_runtime_api.h:1451
hipMemPoolProps poolProps
Definition hip_runtime_api.h:1446
size_t accessDescCount
Definition hip_runtime_api.h:1449
void * dptr
Returned device address of the allocation.
Definition hip_runtime_api.h:1452
Definition hip_runtime_api.h:1621
void * win32HandleMetaData
Metadata for Win32 handles.
Definition hip_runtime_api.h:1628
hipMemAllocationType type
Memory allocation type.
Definition hip_runtime_api.h:1622
unsigned char gpuDirectRDMACapable
RDMA capable.
Definition hip_runtime_api.h:1631
hipMemAllocationHandleType requestedHandleTypes
Requested handle types.
Definition hip_runtime_api.h:1625
unsigned short usage
Usage.
Definition hip_runtime_api.h:1632
hipMemAllocationHandleType requestedHandleType
Requested handle type.
Definition hip_runtime_api.h:1624
hipMemLocation location
Memory location.
Definition hip_runtime_api.h:1627
unsigned char compressionType
Compression type.
Definition hip_runtime_api.h:1630
struct hipMemAllocationProp::@30 allocFlags
Definition hip_runtime_api.h:1768
void * dptr
the pointer to be freed
Definition hip_runtime_api.h:1769
Definition hip_runtime_api.h:1124
int id
Identifier for the provided location type hipMemLocationType.
Definition hip_runtime_api.h:1126
hipMemLocationType type
Specifies the location type, which describes the meaning of id.
Definition hip_runtime_api.h:1125
Definition hip_runtime_api.h:1172
size_t maxSize
Maximum pool size. When set to 0, defaults to a system dependent value.
Definition hip_runtime_api.h:1180
unsigned char reserved[56]
Reserved for future use, must be 0.
Definition hip_runtime_api.h:1181
hipMemLocation location
Location where allocations should reside.
Definition hip_runtime_api.h:1175
hipMemAllocationHandleType handleTypes
Handle types that will be supported by allocations from the pool.
Definition hip_runtime_api.h:1174
hipMemAllocationType allocType
Allocation type. Currently must be specified as hipMemAllocationTypePinned.
Definition hip_runtime_api.h:1173
void * win32SecurityAttributes
Definition hip_runtime_api.h:1179
Definition hip_runtime_api.h:1186
unsigned char reserved[64]
Definition hip_runtime_api.h:1187
Definition driver_types.h:410
Definition hip_runtime_api.h:1737
int reserved[3]
Must be zero.
Definition hip_runtime_api.h:1739
int flags
Must be zero.
Definition hip_runtime_api.h:1738
hipMemcpy3DParms copyParams
Params set for the memory copy.
Definition hip_runtime_api.h:1740
Definition hip_runtime_api.h:1436
void * dst
Definition hip_runtime_api.h:1437
unsigned int value
Definition hip_runtime_api.h:1441
unsigned int elementSize
Definition hip_runtime_api.h:1438
size_t width
Definition hip_runtime_api.h:1442
size_t pitch
Definition hip_runtime_api.h:1440
size_t height
Definition hip_runtime_api.h:1439
Definition driver_types.h:137
Definition driver_types.h:384
Definition hip_runtime_api.h:276
int device
Definition hip_runtime_api.h:278
void * hostPointer
Definition hip_runtime_api.h:280
enum hipMemoryType type
Definition hip_runtime_api.h:277
int isManaged
Definition hip_runtime_api.h:281
void * devicePointer
Definition hip_runtime_api.h:279
unsigned allocationFlags
Definition hip_runtime_api.h:282
Definition driver_types.h:285
Definition driver_types.h:344
unsigned int flags
Definition hip_runtime_api.h:952
hipStreamBatchMemOpType operation
Definition hip_runtime_api.h:951
unsigned int flags
Definition hip_runtime_api.h:956
hipStreamBatchMemOpType operation
Definition hip_runtime_api.h:955
hipStreamBatchMemOpType operation
Definition hip_runtime_api.h:931
uint64_t value64
Definition hip_runtime_api.h:935
hipDeviceptr_t address
Definition hip_runtime_api.h:932
hipDeviceptr_t alias
Not valid for AMD backend. Initial value is unimportant.
Definition hip_runtime_api.h:938
uint32_t value
Definition hip_runtime_api.h:934
unsigned int flags
Definition hip_runtime_api.h:937
hipDeviceptr_t address
Definition hip_runtime_api.h:942
hipDeviceptr_t alias
Not valid for AMD backend. Initial value is unimportant.
Definition hip_runtime_api.h:948
uint32_t value
Definition hip_runtime_api.h:944
hipStreamBatchMemOpType operation
Definition hip_runtime_api.h:941
unsigned int flags
Definition hip_runtime_api.h:947
uint64_t value64
Definition hip_runtime_api.h:945
Definition texture_types.h:116
Definition hip_runtime_api.h:95
Definition texture_types.h:147
Definition texture_types.h:95
struct hipChannelFormatDesc channelDesc
Definition texture_types.h:100
Defines surface types for HIP runtime.
struct __hip_surface * hipSurfaceObject_t
Definition surface_types.h:41
struct __hip_texture * hipTextureObject_t
Definition texture_types.h:70
hipTextureAddressMode
Definition texture_types.h:75
hipTextureFilterMode
Definition texture_types.h:85
Definition hip_runtime_api.h:1483
int priority
Value of launch attribute :: hipLaunchAttributePriority. Execution priority of kernel.
Definition hip_runtime_api.h:1487
char pad[64]
64 byte padding
Definition hip_runtime_api.h:1484
int cooperative
Value of launch attribute hipLaunchAttributeCooperative. Indicates whether the kernel is cooperative.
Definition hip_runtime_api.h:1486
hipAccessPolicyWindow accessPolicyWindow
Value of launch attribute hipLaunchAttributeAccessPolicyWindow.
Definition hip_runtime_api.h:1485
Union representing batch memory operation parameters for HIP streams.
Definition hip_runtime_api.h:928
hipStreamBatchMemOpType operation
Definition hip_runtime_api.h:929