HIP: Heterogenous-computing Interface for Portability
|
Go to the documentation of this file.
24 #ifndef HIP_INCLUDE_HIP_HCC_DETAIL_HIP_RUNTIME_API_H
25 #define HIP_INCLUDE_HIP_HCC_DETAIL_HIP_RUNTIME_API_H
34 #ifndef GENERIC_GRID_LAUNCH
35 #define GENERIC_GRID_LAUNCH 1
38 #ifndef __HIP_ROCclr__
39 #define __HIP_ROCclr__ 0
43 #include <hip/hcc_detail/driver_types.h>
47 #if !__HIP_ROCclr__ && defined(__cplusplus)
49 #include <hip/hcc_detail/program_state.hpp>
53 #define DEPRECATED(msg) __declspec(deprecated(msg))
54 #else // !defined(_MSC_VER)
55 #define DEPRECATED(msg) __attribute__ ((deprecated(msg)))
56 #endif // !defined(_MSC_VER)
58 #define DEPRECATED_MSG "This API is marked as deprecated and may not be supported in future releases. For more details please refer https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_deprecated_api_list.md"
60 #if defined(__HCC__) && (__hcc_workweek__ < 16155)
61 #error("This version of HIP requires a newer version of HCC.");
64 #define HIP_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
65 #define HIP_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
66 #define HIP_LAUNCH_PARAM_END ((void*)0x03)
76 #pragma GCC visibility push (default)
82 hipError_t hip_init();
96 typedef int hipDevice_t;
100 #define hipIpcMemLazyEnablePeerAccess 0
102 #define HIP_IPC_HANDLE_SIZE 64
105 char reserved[HIP_IPC_HANDLE_SIZE];
114 char reserved[HIP_IPC_HANDLE_SIZE];
124 size_t constSizeBytes;
125 size_t localSizeBytes;
126 int maxDynamicSharedSizeBytes;
127 int maxThreadsPerBlock;
129 int preferredShmemCarveout;
131 size_t sharedSizeBytes;
137 hipLimitMallocHeapSize = 0x02,
144 #define hipStreamDefault \
147 #define hipStreamNonBlocking 0x01
151 #define hipEventDefault 0x0
152 #define hipEventBlockingSync \
154 #define hipEventDisableTiming \
156 #define hipEventInterprocess 0x4
157 #define hipEventReleaseToDevice \
159 #define hipEventReleaseToSystem \
168 #define hipHostMallocDefault 0x0
169 #define hipHostMallocPortable 0x1
170 #define hipHostMallocMapped \
172 #define hipHostMallocWriteCombined 0x4
174 #define hipHostMallocNumaUser \
177 #define hipHostMallocCoherent \
179 #define hipHostMallocNonCoherent \
184 #define hipMemAttachGlobal 0x01
185 #define hipMemAttachHost 0x02
186 #define hipMemAttachSingle 0x04
189 #define hipDeviceMallocDefault 0x0
190 #define hipDeviceMallocFinegrained 0x1
192 #define hipHostRegisterDefault 0x0
194 #define hipHostRegisterPortable 0x1
195 #define hipHostRegisterMapped \
197 #define hipHostRegisterIoMemory 0x4
199 #define hipExtHostRegisterCoarseGrained 0x8
201 #define hipDeviceScheduleAuto 0x0
202 #define hipDeviceScheduleSpin \
204 #define hipDeviceScheduleYield \
207 #define hipDeviceScheduleBlockingSync 0x4
209 #define hipDeviceScheduleMask 0x7
211 #define hipDeviceMapHost 0x8
212 #define hipDeviceLmemResizeToMax 0x16
214 #define hipArrayDefault 0x00
215 #define hipArrayLayered 0x01
216 #define hipArraySurfaceLoadStore 0x02
217 #define hipArrayCubemap 0x04
218 #define hipArrayTextureGather 0x08
220 #define hipOccupancyDefault 0x00
222 #define hipCooperativeLaunchMultiDeviceNoPreSync 0x01
223 #define hipCooperativeLaunchMultiDeviceNoPostSync 0x02
225 #define hipCpuDeviceId ((int)-1)
226 #define hipInvalidDeviceId ((int)-2)
265 typedef enum hipJitOption {
266 hipJitOptionMaxRegisters = 0,
267 hipJitOptionThreadsPerBlock,
268 hipJitOptionWallTime,
269 hipJitOptionInfoLogBuffer,
270 hipJitOptionInfoLogBufferSizeBytes,
271 hipJitOptionErrorLogBuffer,
272 hipJitOptionErrorLogBufferSizeBytes,
273 hipJitOptionOptimizationLevel,
274 hipJitOptionTargetFromContext,
276 hipJitOptionFallbackStrategy,
277 hipJitOptionGenerateDebugInfo,
278 hipJitOptionLogVerbose,
279 hipJitOptionGenerateLineInfo,
280 hipJitOptionCacheMode,
282 hipJitOptionFastCompile,
283 hipJitOptionNumOptions
318 __host__ __device__
dim3(uint32_t _x = 1, uint32_t _y = 1, uint32_t _z = 1) :
x(_x),
y(_y),
z(_z){};
1159 hipError_t
hipMalloc(
void** ptr,
size_t size);
1189 DEPRECATED(
"use hipHostMalloc instead")
1220 hipError_t
hipHostMalloc(
void** ptr,
size_t size,
unsigned int flags);
1250 hipError_t
hipHostAlloc(
void** ptr,
size_t size,
unsigned int flags);
1312 hipError_t
hipHostRegister(
void* hostPtr,
size_t sizeBytes,
unsigned int flags);
1343 hipError_t
hipMallocPitch(
void** ptr,
size_t* pitch,
size_t width,
size_t height);
1367 hipError_t
hipMemAllocPitch(hipDeviceptr_t* dptr,
size_t* pitch,
size_t widthInBytes,
size_t height,
unsigned int elementSizeBytes);
1382 hipError_t
hipFree(
void* ptr);
1441 hipError_t
hipMemcpy(
void* dst, const
void* src,
size_t sizeBytes, hipMemcpyKind kind);
1444 hipError_t hipMemcpyWithStream(
void* dst, const
void* src,
size_t sizeBytes,
1463 hipError_t
hipMemcpyHtoD(hipDeviceptr_t dst,
void* src,
size_t sizeBytes);
1482 hipError_t
hipMemcpyDtoH(
void* dst, hipDeviceptr_t src,
size_t sizeBytes);
1501 hipError_t
hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src,
size_t sizeBytes);
1558 hipError_t
hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src,
size_t sizeBytes,
1565 hipError_t hipGetSymbolAddress(
void** devPtr,
const void* symbol);
1566 hipError_t hipGetSymbolSize(
size_t* size,
const void* symbol);
1567 hipError_t hipMemcpyToSymbol(
const void* symbol,
const void* src,
1568 size_t sizeBytes,
size_t offset __dparm(0),
1569 hipMemcpyKind kind __dparm(hipMemcpyHostToDevice));
1570 hipError_t hipMemcpyToSymbolAsync(
const void* symbol,
const void* src,
1571 size_t sizeBytes,
size_t offset,
1572 hipMemcpyKind kind,
hipStream_t stream __dparm(0));
1573 hipError_t hipMemcpyFromSymbol(
void* dst,
const void* symbol,
1574 size_t sizeBytes,
size_t offset __dparm(0),
1575 hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost));
1576 hipError_t hipMemcpyFromSymbolAsync(
void* dst,
const void* symbol,
1577 size_t sizeBytes,
size_t offset,
1583 #ifdef __cplusplus //Start : Not supported in gcc
1584 namespace hip_impl {
1586 __attribute__((visibility(
"hidden")))
1587 hipError_t read_agent_global_from_process(hipDeviceptr_t* dptr,
size_t* bytes,
1603 __attribute__((visibility("hidden")))
1604 hipError_t hipGetSymbolAddress(
void** devPtr, const
void* symbolName) {
1606 hip_impl::hip_init();
1608 return hip_impl::read_agent_global_from_process(devPtr, &size, (
const char*)symbolName);
1623 __attribute__((visibility(
"hidden")))
1624 hipError_t hipGetSymbolSize(
size_t* size, const
void* symbolName) {
1626 hip_impl::hip_init();
1627 void* devPtr =
nullptr;
1628 return hip_impl::read_agent_global_from_process(&devPtr, size, (
const char*)symbolName);
1630 #endif // End : Not supported in gcc
1632 #if defined(__cplusplus)
1637 namespace hip_impl {
1638 hipError_t hipMemcpyToSymbol(
void*,
const void*,
size_t,
size_t, hipMemcpyKind,
1643 #if defined(__cplusplus)
1672 __attribute__((visibility(
"hidden")))
1673 hipError_t hipMemcpyToSymbol(const
void* symbolName, const
void* src,
1674 size_t sizeBytes,
size_t offset __dparm(0),
1675 hipMemcpyKind kind __dparm(hipMemcpyHostToDevice)) {
1676 if (!symbolName)
return hipErrorInvalidSymbol;
1678 hipDeviceptr_t dst = NULL;
1679 hipGetSymbolAddress(&dst, (
const char*)symbolName);
1681 return hip_impl::hipMemcpyToSymbol(dst, src, sizeBytes, offset, kind,
1682 (
const char*)symbolName);
1686 #if defined(__cplusplus)
1691 namespace hip_impl {
1692 hipError_t hipMemcpyToSymbolAsync(
void*,
const void*,
size_t,
size_t,
1694 hipError_t hipMemcpyFromSymbol(
void*,
const void*,
size_t,
size_t,
1695 hipMemcpyKind,
const char*);
1696 hipError_t hipMemcpyFromSymbolAsync(
void*,
const void*,
size_t,
size_t,
1701 #if defined(__cplusplus)
1731 #ifdef __cplusplus //Start : Not supported in gcc
1733 __attribute__((visibility(
"hidden")))
1734 hipError_t hipMemcpyToSymbolAsync(const
void* symbolName, const
void* src,
1735 size_t sizeBytes,
size_t offset,
1736 hipMemcpyKind kind,
hipStream_t stream __dparm(0)) {
1737 if (!symbolName)
return hipErrorInvalidSymbol;
1739 hipDeviceptr_t dst = NULL;
1740 hipGetSymbolAddress(&dst, symbolName);
1742 return hip_impl::hipMemcpyToSymbolAsync(dst, src, sizeBytes, offset, kind,
1744 (
const char*)symbolName);
1748 __attribute__((visibility(
"hidden")))
1749 hipError_t hipMemcpyFromSymbol(
void* dst, const
void* symbolName,
1750 size_t sizeBytes,
size_t offset __dparm(0),
1751 hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost)) {
1752 if (!symbolName)
return hipErrorInvalidSymbol;
1754 hipDeviceptr_t src = NULL;
1755 hipGetSymbolAddress(&src, symbolName);
1757 return hip_impl::hipMemcpyFromSymbol(dst, src, sizeBytes, offset, kind,
1758 (
const char*)symbolName);
1762 __attribute__((visibility(
"hidden")))
1763 hipError_t hipMemcpyFromSymbolAsync(
void* dst, const
void* symbolName,
1764 size_t sizeBytes,
size_t offset,
1767 if (!symbolName)
return hipErrorInvalidSymbol;
1769 hipDeviceptr_t src = NULL;
1770 hipGetSymbolAddress(&src, symbolName);
1772 return hip_impl::hipMemcpyFromSymbolAsync(dst, src, sizeBytes, offset, kind,
1774 (
const char*)symbolName);
1776 #endif // End : Not supported in gcc
1778 #endif // __HIP_ROCclr__
1807 hipError_t
hipMemcpyAsync(
void* dst,
const void* src,
size_t sizeBytes, hipMemcpyKind kind,
1819 hipError_t
hipMemset(
void* dst,
int value,
size_t sizeBytes);
1830 hipError_t
hipMemsetD8(hipDeviceptr_t dest,
unsigned char value,
size_t count);
1858 hipError_t
hipMemsetD16(hipDeviceptr_t dest,
unsigned short value,
size_t count);
1886 hipError_t
hipMemsetD32(hipDeviceptr_t dest,
int value,
size_t count);
1934 hipError_t
hipMemset2D(
void* dst,
size_t pitch,
int value,
size_t width,
size_t height);
1983 hipError_t hipMemPtrGetInfo(
void* ptr,
size_t* size);
1999 size_t height __dparm(0),
unsigned int flags __dparm(
hipArrayDefault));
2038 struct hipExtent extent,
unsigned int flags);
2055 unsigned int numLevels,
2056 unsigned int flags __dparm(0));
2070 unsigned int level);
2088 hipError_t
hipMemcpy2D(
void* dst,
size_t dpitch,
const void* src,
size_t spitch,
size_t width,
2089 size_t height, hipMemcpyKind kind);
2131 hipError_t
hipMemcpy2DAsync(
void* dst,
size_t dpitch,
const void* src,
size_t spitch,
size_t width,
2132 size_t height, hipMemcpyKind kind,
hipStream_t stream __dparm(0));
2152 size_t spitch,
size_t width,
size_t height, hipMemcpyKind kind);
2170 size_t count, hipMemcpyKind kind);
2188 size_t count, hipMemcpyKind kind);
2390 #ifndef USE_PEER_NON_UNIFIED
2391 #define USE_PEER_NON_UNIFIED 1
2394 #if USE_PEER_NON_UNIFIED == 1
2406 hipError_t
hipMemcpyPeer(
void* dst,
int dstDeviceId,
const void* src,
int srcDeviceId,
2446 hipError_t
hipInit(
unsigned int flags);
2468 DEPRECATED(DEPRECATED_MSG)
2481 DEPRECATED(DEPRECATED_MSG)
2494 DEPRECATED(DEPRECATED_MSG)
2507 DEPRECATED(DEPRECATED_MSG)
2520 DEPRECATED(DEPRECATED_MSG)
2533 DEPRECATED(DEPRECATED_MSG)
2547 DEPRECATED(DEPRECATED_MSG)
2567 DEPRECATED(DEPRECATED_MSG)
2583 DEPRECATED(DEPRECATED_MSG)
2599 DEPRECATED(DEPRECATED_MSG)
2615 DEPRECATED(DEPRECATED_MSG)
2631 DEPRECATED(DEPRECATED_MSG)
2645 DEPRECATED(DEPRECATED_MSG)
2658 DEPRECATED(DEPRECATED_MSG)
2680 DEPRECATED(DEPRECATED_MSG)
2699 DEPRECATED(DEPRECATED_MSG)
2780 hipError_t
hipDeviceGet(hipDevice_t* device,
int ordinal);
2923 #if defined(__cplusplus)
2928 namespace hip_impl {
2929 class agent_globals_impl;
2930 class agent_globals {
2934 agent_globals(
const agent_globals&) =
delete;
2936 hipError_t read_agent_global_from_module(hipDeviceptr_t* dptr,
size_t* bytes,
2938 hipError_t read_agent_global_from_process(hipDeviceptr_t* dptr,
size_t* bytes,
2941 agent_globals_impl* impl;
2945 __attribute__((visibility(
"hidden")))
2946 agent_globals& get_agent_globals() {
2947 static agent_globals ag;
2953 __attribute__((visibility(
"hidden")))
2954 hipError_t read_agent_global_from_process(hipDeviceptr_t* dptr,
size_t* bytes,
2956 return get_agent_globals().read_agent_global_from_process(dptr, bytes, name);
2961 #if defined(__cplusplus)
2977 #endif // __HIP_ROCclr__
3005 hipJitOption* options,
void** optionValues);
3032 unsigned int gridDimZ,
unsigned int blockDimX,
3033 unsigned int blockDimY,
unsigned int blockDimZ,
3035 void** kernelParams,
void** extra);
3038 #if __HIP_ROCclr__ && !defined(__HCC__)
3054 hipError_t hipLaunchCooperativeKernel(
const void* f,
dim3 gridDim,
dim3 blockDimX,
3055 void** kernelParams,
unsigned int sharedMemBytes,
3068 hipError_t hipLaunchCooperativeKernelMultiDevice(
hipLaunchParams* launchParamsList,
3069 int numDevices,
unsigned int flags);
3088 int blockSizeLimit);
3105 int blockSizeLimit,
unsigned int flags);
3116 int* numBlocks,
hipFunction_t f,
int blockSize,
size_t dynSharedMemPerBlk);
3128 int* numBlocks,
hipFunction_t f,
int blockSize,
size_t dynSharedMemPerBlk,
unsigned int flags);
3139 int* numBlocks,
const void* f,
int blockSize,
size_t dynSharedMemPerBlk);
3151 int* numBlocks,
const void* f,
int blockSize,
size_t dynSharedMemPerBlk,
unsigned int flags __dparm(hipOccupancyDefault));
3165 const void* f,
size_t dynSharedMemPerBlk,
3166 int blockSizeLimit);
3180 int numDevices,
unsigned int flags);
3207 DEPRECATED(
"use roctracer/rocTX instead")
3216 DEPRECATED("use roctracer/rocTX instead")
3379 size_t sharedMem __dparm(0),
3419 size_t sharedMemBytes __dparm(0),
3467 const
void* dev_ptr,
3487 size_t num_attributes,
3488 const
void* dev_ptr,
3504 hipDeviceptr_t* dev_ptr,
3505 size_t length __dparm(0),
3508 #if __HIP_ROCclr__ || !defined(__HCC__)
3510 hipError_t hipExtLaunchKernel(
const void* function_address,
dim3 numBlocks,
dim3 dimBlocks,
3511 void** args,
size_t sharedMemBytes,
hipStream_t stream,
3514 hipError_t hipBindTexture(
3519 size_t size __dparm(UINT_MAX));
3521 hipError_t hipBindTexture2D(
3530 hipError_t hipBindTextureToArray(
3535 hipError_t hipBindTextureToMipmappedArray(
3540 hipError_t hipGetTextureAlignmentOffset(
3544 hipError_t hipGetTextureReference(
3546 const void* symbol);
3550 hipError_t hipCreateTextureObject(
3551 hipTextureObject_t* pTexObject,
3556 hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject);
3558 hipError_t hipGetChannelDesc(
3562 hipError_t hipGetTextureObjectResourceDesc(
3564 hipTextureObject_t textureObject);
3566 hipError_t hipGetTextureObjectResourceViewDesc(
3568 hipTextureObject_t textureObject);
3570 hipError_t hipGetTextureObjectTextureDesc(
3572 hipTextureObject_t textureObject);
3574 hipError_t hipTexRefGetAddress(
3575 hipDeviceptr_t* dev_ptr,
3578 hipError_t hipTexRefGetAddressMode(
3579 enum hipTextureAddressMode* pam,
3583 hipError_t hipTexRefGetFilterMode(
3584 enum hipTextureFilterMode* pfm,
3587 hipError_t hipTexRefGetFlags(
3588 unsigned int* pFlags,
3591 hipError_t hipTexRefGetFormat(
3592 hipArray_Format* pFormat,
3596 hipError_t hipTexRefGetMaxAnisotropy(
3600 hipError_t hipTexRefGetMipmapFilterMode(
3601 enum hipTextureFilterMode* pfm,
3604 hipError_t hipTexRefGetMipmapLevelBias(
3608 hipError_t hipTexRefGetMipmapLevelClamp(
3609 float* pminMipmapLevelClamp,
3610 float* pmaxMipmapLevelClamp,
3613 hipError_t hipTexRefGetMipMappedArray(
3617 hipError_t hipTexRefSetAddress(
3620 hipDeviceptr_t dptr,
3623 hipError_t hipTexRefSetAddress2D(
3626 hipDeviceptr_t dptr,
3629 hipError_t hipTexRefSetAddressMode(
3632 enum hipTextureAddressMode am);
3634 hipError_t hipTexRefSetArray(
3637 unsigned int flags);
3639 hipError_t hipTexRefSetBorderColor(
3641 float* pBorderColor);
3643 hipError_t hipTexRefSetFilterMode(
3645 enum hipTextureFilterMode fm);
3647 hipError_t hipTexRefSetFlags(
3649 unsigned int Flags);
3651 hipError_t hipTexRefSetFormat(
3653 hipArray_Format fmt,
3654 int NumPackedComponents);
3656 hipError_t hipTexRefSetMaxAnisotropy(
3658 unsigned int maxAniso);
3660 hipError_t hipTexRefSetMipmapFilterMode(
3662 enum hipTextureFilterMode fm);
3664 hipError_t hipTexRefSetMipmapLevelBias(
3668 hipError_t hipTexRefSetMipmapLevelClamp(
3670 float minMipMapLevelClamp,
3671 float maxMipMapLevelClamp);
3673 hipError_t hipTexRefSetMipmappedArray(
3676 unsigned int Flags);
3678 hipError_t hipMipmappedArrayCreate(
3681 unsigned int numMipmapLevels);
3683 hipError_t hipMipmappedArrayDestroy(
3686 hipError_t hipMipmappedArrayGetLevel(
3689 unsigned int level);
3691 hipError_t hipTexObjectCreate(
3692 hipTextureObject_t* pTexObject,
3697 hipError_t hipTexObjectDestroy(
3698 hipTextureObject_t texObject);
3700 hipError_t hipTexObjectGetResourceDesc(
3702 hipTextureObject_t texObject);
3704 hipError_t hipTexObjectGetResourceViewDesc(
3706 hipTextureObject_t texObject);
3708 hipError_t hipTexObjectGetTextureDesc(
3710 hipTextureObject_t texObject);
3722 #if defined(__cplusplus) && !defined(__HCC__) && defined(__clang__) && defined(__HIP__)
3723 template <
typename T>
3725 T f,
size_t dynSharedMemPerBlk = 0,
int blockSizeLimit = 0) {
3729 template <
typename T>
3730 static hipError_t
__host__ inline hipOccupancyMaxPotentialBlockSizeWithFlags(
int* gridSize,
int* blockSize,
3731 T f,
size_t dynSharedMemPerBlk = 0,
int blockSizeLimit = 0,
unsigned int flags = 0 ) {
3734 #endif // defined(__cplusplus) && !defined(__HCC__) && defined(__clang__) && defined(__HIP__)
3736 #if defined(__cplusplus) && !defined(__HCC__)
3738 template <
typename T>
3739 hipError_t hipGetSymbolAddress(
void** devPtr,
const T &symbol) {
3740 return ::hipGetSymbolAddress(devPtr, (
const void *)&symbol);
3743 template <
typename T>
3744 hipError_t hipGetSymbolSize(
size_t* size,
const T &symbol) {
3745 return ::hipGetSymbolSize(size, (
const void *)&symbol);
3748 template <
typename T>
3749 hipError_t hipMemcpyToSymbol(
const T& symbol,
const void* src,
size_t sizeBytes,
3750 size_t offset __dparm(0),
3751 hipMemcpyKind kind __dparm(hipMemcpyHostToDevice)) {
3752 return ::hipMemcpyToSymbol((
const void*)&symbol, src, sizeBytes, offset, kind);
3755 template <
typename T>
3756 hipError_t hipMemcpyToSymbolAsync(
const T& symbol,
const void* src,
size_t sizeBytes,
size_t offset,
3757 hipMemcpyKind kind,
hipStream_t stream __dparm(0)) {
3758 return ::hipMemcpyToSymbolAsync((
const void*)&symbol, src, sizeBytes, offset, kind, stream);
3761 template <
typename T>
3762 hipError_t hipMemcpyFromSymbol(
void* dst,
const T &symbol,
3763 size_t sizeBytes,
size_t offset __dparm(0),
3764 hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost)) {
3765 return ::hipMemcpyFromSymbol(dst, (
const void*)&symbol, sizeBytes, offset, kind);
3768 template <
typename T>
3769 hipError_t hipMemcpyFromSymbolAsync(
void* dst,
const T& symbol,
size_t sizeBytes,
size_t offset,
3770 hipMemcpyKind kind,
hipStream_t stream __dparm(0)) {
3771 return ::hipMemcpyFromSymbolAsync(dst, (
const void*)&symbol, sizeBytes, offset, kind, stream);
3777 #include <hip/hcc_detail/hip_prof_str.h>
3787 hipError_t hipRemoveApiCallback(uint32_t
id);
3788 hipError_t hipRegisterActivityCallback(uint32_t
id,
void* fun,
void* arg);
3789 hipError_t hipRemoveActivityCallback(uint32_t
id);
3790 const char* hipApiName(uint32_t
id);
3792 const char* hipKernelNameRefByPtr(
const void* hostFunction,
hipStream_t stream);
3802 int* numBlocks, T f,
int blockSize,
size_t dynSharedMemPerBlk) {
3804 numBlocks,
reinterpret_cast<const void*
>(f), blockSize, dynSharedMemPerBlk);
3809 int* numBlocks, T f,
int blockSize,
size_t dynSharedMemPerBlk,
unsigned int flags) {
3811 numBlocks,
reinterpret_cast<const void*
>(f), blockSize, dynSharedMemPerBlk, flags);
3817 hipError_t hipBindTexture(
size_t* offset,
textureReference* tex,
const void* devPtr,
3822 hipError_t ihipBindTextureImpl(
TlsData *tls,
int dim,
enum hipTextureReadMode readMode,
size_t* offset,
3843 template <
class T,
int dim, enum hipTextureReadMode readMode>
3844 hipError_t hipBindTexture(
size_t* offset,
struct texture<T, dim, readMode>& tex,
const void* devPtr,
3846 return ihipBindTextureImpl(
nullptr, dim, readMode, offset, devPtr, &desc, size, &tex);
3865 template <
class T,
int dim, enum hipTextureReadMode readMode>
3866 hipError_t hipBindTexture(
size_t* offset,
struct texture<T, dim, readMode>& tex,
const void* devPtr,
3867 size_t size = UINT_MAX) {
3868 return ihipBindTextureImpl(
nullptr, dim, readMode, offset, devPtr, &(tex.channelDesc), size, &tex);
3874 hipError_t hipBindTexture2D(
size_t* offset,
textureReference* tex,
const void* devPtr,
3880 hipError_t ihipBindTexture2DImpl(
int dim,
enum hipTextureReadMode readMode,
size_t* offset,
3886 template <
class T,
int dim, enum hipTextureReadMode readMode>
3887 hipError_t hipBindTexture2D(
size_t* offset,
struct texture<T, dim, readMode>& tex,
3888 const void* devPtr,
size_t width,
size_t height,
size_t pitch) {
3889 return ihipBindTexture2DImpl(dim, readMode, offset, devPtr, &(tex.channelDesc), width, height,
3895 template <
class T,
int dim, enum hipTextureReadMode readMode>
3896 hipError_t hipBindTexture2D(
size_t* offset,
struct texture<T, dim, readMode>& tex,
3898 size_t width,
size_t height,
size_t pitch) {
3899 return ihipBindTexture2DImpl(dim, readMode, offset, devPtr, &desc, width, height, &tex);
3910 hipError_t ihipBindTextureToArrayImpl(
TlsData *tls,
int dim,
enum hipTextureReadMode readMode,
3917 template <
class T,
int dim, enum hipTextureReadMode readMode>
3918 hipError_t hipBindTextureToArray(
struct texture<T, dim, readMode>& tex,
hipArray_const_t array) {
3919 return ihipBindTextureToArrayImpl(
nullptr, dim, readMode, array, tex.channelDesc, &tex);
3924 template <
class T,
int dim, enum hipTextureReadMode readMode>
3925 hipError_t hipBindTextureToArray(
struct texture<T, dim, readMode>& tex,
hipArray_const_t array,
3927 return ihipBindTextureToArrayImpl(
nullptr, dim, readMode, array, desc, &tex);
3932 template <
class T,
int dim, enum hipTextureReadMode readMode>
3933 inline static hipError_t hipBindTextureToArray(
struct texture<T, dim, readMode> *tex,
3936 return ihipBindTextureToArrayImpl(
nullptr, dim, readMode, array, *desc, tex);
3948 template <
class T,
int dim, enum hipTextureReadMode readMode>
3949 hipError_t hipBindTextureToMipmappedArray(
const texture<T, dim, readMode>& tex,
3956 template <
class T,
int dim, enum hipTextureReadMode readMode>
3957 hipError_t hipBindTextureToMipmappedArray(
const texture<T, dim, readMode>& tex,
3964 #if __HIP_ROCclr__ && !defined(__HCC__)
3966 template <
typename F>
3968 F kernel,
size_t dynSharedMemPerBlk, uint32_t blockSizeLimit) {
3973 inline hipError_t hipLaunchCooperativeKernel(T f,
dim3 gridDim,
dim3 blockDim,
3974 void** kernelParams,
unsigned int sharedMemBytes,
hipStream_t stream) {
3975 return hipLaunchCooperativeKernel(
reinterpret_cast<const void*
>(f), gridDim,
3976 blockDim, kernelParams, sharedMemBytes, stream);
3980 inline hipError_t hipLaunchCooperativeKernelMultiDevice(
hipLaunchParams* launchParamsList,
3981 unsigned int numDevices,
unsigned int flags = 0) {
3982 return hipLaunchCooperativeKernelMultiDevice(launchParamsList, numDevices, flags);
3988 unsigned int numDevices,
unsigned int flags = 0) {
4006 extern hipError_t ihipUnbindTextureImpl(
const hipTextureObject_t& textureObject);
4010 template <
class T,
int dim, enum hipTextureReadMode readMode>
4011 hipError_t hipUnbindTexture(
struct texture<T, dim, readMode>& tex) {
4012 return ihipUnbindTextureImpl(tex.textureObject);
4018 hipError_t hipGetTextureAlignmentOffset(
size_t* offset,
const textureReference* texref);
4019 hipError_t hipGetTextureReference(
const textureReference** texref,
const void* symbol);
4021 hipError_t hipCreateTextureObject(hipTextureObject_t* pTexObject,
const hipResourceDesc* pResDesc,
4025 hipError_t hipDestroyTextureObject(hipTextureObject_t textureObject);
4028 hipTextureObject_t textureObject);
4030 hipTextureObject_t textureObject);
4031 hipError_t hipGetTextureObjectTextureDesc(
hipTextureDesc* pTexDesc,
4032 hipTextureObject_t textureObject);
4037 hipError_t hipTexRefSetAddressMode(
textureReference* tex,
int dim, hipTextureAddressMode am);
4039 hipError_t hipTexRefGetAddressMode(hipTextureAddressMode* am,
textureReference tex,
int dim);
4041 hipError_t hipTexRefSetFilterMode(
textureReference* tex, hipTextureFilterMode fm);
4045 hipError_t hipTexRefSetFormat(
textureReference* tex, hipArray_Format fmt,
int NumPackedComponents);
4047 hipError_t hipTexRefSetAddress(
size_t* offset,
textureReference* tex, hipDeviceptr_t devPtr,
4050 hipError_t hipTexRefGetAddress(hipDeviceptr_t* dev_ptr,
textureReference tex);
4053 hipDeviceptr_t devPtr,
size_t pitch);
4061 template<
class T,
int dim, enum hipTextureReadMode readMode>
4062 static inline hipError_t hipBindTexture(
4064 const struct texture<T, dim, readMode> &tex,
4066 size_t size = UINT_MAX)
4068 return hipBindTexture(offset, &tex, devPtr, &tex.channelDesc, size);
4071 template<
class T,
int dim, enum hipTextureReadMode readMode>
4072 static inline hipError_t hipBindTexture(
4074 const struct texture<T, dim, readMode> &tex,
4077 size_t size = UINT_MAX)
4079 return hipBindTexture(offset, &tex, devPtr, &desc, size);
4082 template<
class T,
int dim, enum hipTextureReadMode readMode>
4083 static inline hipError_t hipBindTexture2D(
4085 const struct texture<T, dim, readMode> &tex,
4091 return hipBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch);
4094 template<
class T,
int dim, enum hipTextureReadMode readMode>
4095 static inline hipError_t hipBindTexture2D(
4097 const struct texture<T, dim, readMode> &tex,
4104 return hipBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch);
4107 template<
class T,
int dim, enum hipTextureReadMode readMode>
4108 static inline hipError_t hipBindTextureToArray(
4109 const struct texture<T, dim, readMode> &tex,
4113 hipError_t err = hipGetChannelDesc(&desc, array);
4114 return (err ==
hipSuccess) ? hipBindTextureToArray(&tex, array, &desc) : err;
4117 template<
class T,
int dim, enum hipTextureReadMode readMode>
4118 static inline hipError_t hipBindTextureToArray(
4119 const struct texture<T, dim, readMode> &tex,
4123 return hipBindTextureToArray(&tex, array, &desc);
4126 template<
class T,
int dim, enum hipTextureReadMode readMode>
4127 static inline hipError_t hipBindTextureToMipmappedArray(
4128 const struct texture<T, dim, readMode> &tex,
4137 err = hipGetChannelDesc(&desc, levelArray);
4138 return (err ==
hipSuccess) ? hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc) : err;
4141 template<
class T,
int dim, enum hipTextureReadMode readMode>
4142 static inline hipError_t hipBindTextureToMipmappedArray(
4143 const struct texture<T, dim, readMode> &tex,
4147 return hipBindTextureToMipmappedArray(&tex, mipmappedArray, &desc);
4150 template<
class T,
int dim, enum hipTextureReadMode readMode>
4151 static inline hipError_t hipUnbindTexture(
4152 const struct texture<T, dim, readMode> &tex)
4154 return hipUnbindTexture(&tex);
4167 #pragma GCC visibility pop
Definition: hip_runtime_api.h:121
hipError_t hipCtxSynchronize(void)
Blocks until the default context has completed all preceding requested tasks.
Definition: hip_context.cpp:249
hipError_t hipPointerGetAttributes(hipPointerAttribute_t *attributes, const void *ptr)
Return attributes for the specified pointer.
Definition: hip_memory.cpp:617
hipError_t hipMemset3DAsync(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent, hipStream_t stream __dparm(0))
Fills asynchronously the memory area pointed to by pitchedDevPtr with the constant value.
hipError_t hipMemcpy3D(const struct hipMemcpy3DParms *p)
Copies data between host and device.
Definition: hip_memory.cpp:1712
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 AMD HMM.
hipError_t hipCtxGetCurrent(hipCtx_t *ctx)
Get the handle of the current/ default context.
Definition: hip_context.cpp:167
hipError_t hipMallocPitch(void **ptr, size_t *pitch, size_t width, size_t height)
Definition: hip_memory.cpp:851
hipError_t hipSetDevice(int deviceId)
Set default device to be used for subsequent hip API calls from this thread.
Definition: hip_device.cpp:132
hipError_t hipMemsetD16Async(hipDeviceptr_t dest, unsigned short value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant short value v...
hipError_t hipMemcpy2DFromArrayAsync(void *dst, size_t dpitch, hipArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
const char * hipGetErrorString(hipError_t hipError)
Return handy text string message to explain the error which occurred.
Definition: hip_error.cpp:54
hipError_t hipGetDeviceFlags(unsigned int *flags)
Gets the flags set for current device.
hipError_t hipDeviceGetByPCIBusId(int *device, const char *pciBusId)
Returns a handle to a compute device.
Definition: hip_device.cpp:492
hipError_t hipMalloc3DArray(hipArray **array, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int flags)
Allocate an array on the device.
Definition: hip_memory.cpp:1091
hipError_t hipChooseDevice(int *device, const hipDeviceProp_t *prop)
Device which matches hipDeviceProp_t is returned.
Definition: hip_device.cpp:518
hipError_t hipIpcCloseMemHandle(void *devPtr)
Close memory mapped with hipIpcOpenMemHandle.
Definition: hip_memory.cpp:2539
hipError_t hipMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies data between host and device.
hipError_t hipLaunchKernel(const void *function_address, dim3 numBlocks, dim3 dimBlocks, void **args, size_t sharedMemBytes __dparm(0), hipStream_t stream __dparm(0))
C compliant kernel launch API.
hipError_t 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...
Definition: hip_memory.cpp:2281
Definition: hip_hcc_internal.h:408
hipError_t hipStreamCreate(hipStream_t *stream)
Create an asynchronous stream.
Definition: hip_stream.cpp:106
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags __dparm(hipOccupancyDefault))
Returns occupancy for a device function.
hipError_t hipDeviceGetStreamPriorityRange(int *leastPriority, int *greatestPriority)
Returns numerical values that correspond to the least and greatest stream priority.
Definition: hip_stream.cpp:122
Definition: hip_runtime_api.h:113
@ hipMemAdviseSetPreferredLocation
Definition: hip_runtime_api.h:237
hipError_t hipStreamCreateWithPriority(hipStream_t *stream, unsigned int flags, int priority)
Create an asynchronous stream with the specified priority.
Definition: hip_stream.cpp:113
hipError_t hipCtxPushCurrent(hipCtx_t ctx)
Push the context to be set as current/ default context.
Definition: hip_context.cpp:154
hipError_t hipCtxGetDevice(hipDevice_t *device)
Get the handle of the device associated with current/default context.
Definition: hip_context.cpp:191
hipFuncCache_t
Definition: hip_runtime_api.h:290
Definition: hip_hcc_internal.h:185
hipError_t hipPeekAtLastError(void)
Return last error returned by any HIP runtime API call.
Definition: hip_error.cpp:41
hipError_t hipMemcpy3DAsync(const struct hipMemcpy3DParms *p, hipStream_t stream __dparm(0))
Copies data between host and device asynchronously.
hipError_t hipDeviceGetPCIBusId(char *pciBusId, int len, int device)
Returns a PCI Bus Id string for the device, overloaded to take int device ID.
Definition: hip_device.cpp:460
hipError_t hipHostGetFlags(unsigned int *flagsPtr, void *hostPtr)
Return flags associated with host pointer.
Definition: hip_memory.cpp:1133
hipError_t hipMemGetAddressRange(hipDeviceptr_t *pbase, size_t *psize, hipDeviceptr_t dptr)
Get information on memory allocations.
Definition: hip_memory.cpp:2437
hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams *launchParamsList, int numDevices, unsigned int flags)
Launches kernels on multiple devices and guarantees all specified kernels are dispatched on respectiv...
unsigned long long hipSurfaceObject_t
Definition: hip_surface_types.h:36
hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
Make the specified compute stream wait for an event.
Definition: hip_stream.cpp:130
@ hipFuncCachePreferEqual
prefer equal size L1 cache and shared memory
Definition: hip_runtime_api.h:294
hipError_t hipGetDevice(int *deviceId)
Return the default device id for the calling host thread.
Definition: hip_device.cpp:32
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
Definition: hip_module.cpp:1656
hipError_t hipMallocArray(hipArray **array, const hipChannelFormatDesc *desc, size_t width, size_t height __dparm(0), unsigned int flags __dparm(hipArrayDefault))
Allocate an array on the device.
hipError_t hipMemcpyToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
Copies data between host and device.
Definition: hip_memory.cpp:1494
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.
Definition: hip_module.cpp:1492
Definition: driver_types.h:394
hipError_t hipMemcpyDtoDAsync(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Device asynchronously.
Definition: hip_memory.cpp:1429
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 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.
Definition: hip_memory.cpp:2154
hipError_t hipDevicePrimaryCtxRelease(hipDevice_t dev)
Release the primary context on the GPU.
Definition: hip_context.cpp:285
hipError_t hipCtxGetApiVersion(hipCtx_t ctx, int *apiVersion)
Returns the approximate HIP api version.
Definition: hip_context.cpp:207
hipError_t hipHostMalloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory.
Definition: hip_memory.cpp:762
uint32_t y
y
Definition: hip_runtime_api.h:315
hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device)
Returns an identifer string for the device.
Definition: hip_device.cpp:446
hipError_t hipMemcpyParam2DAsync(const hip_Memcpy2D *pCopy, hipStream_t stream __dparm(0))
Copies memory for 2D arrays.
hipError_t hipModuleUnload(hipModule_t module)
Frees the module.
Definition: hip_module.cpp:1244
hipError_t hipDeviceEnablePeerAccess(int peerDeviceId, unsigned int flags)
Enable direct access from current device's virtual address space to memory allocations physically loc...
Definition: hip_peer.cpp:200
hipError_t hipMallocMipmappedArray(hipMipmappedArray_t *mipmappedArray, const struct hipChannelFormatDesc *desc, struct hipExtent extent, unsigned int numLevels, unsigned int flags __dparm(0))
Allocate a mipmapped array on the device.
hipSharedMemConfig
Definition: hip_runtime_api.h:301
hipError_t hipDrvMemcpy3D(const HIP_MEMCPY3D *pCopy)
Copies data between host and device.
uint32_t x
x
Definition: hip_runtime_api.h:314
hipError_t hipFuncGetAttribute(int *value, hipFunction_attribute attrib, hipFunction_t hfunc)
Find out a specific attribute for a given function.
Definition: hip_module.cpp:1411
hipError_t hipDeviceComputeCapability(int *major, int *minor, hipDevice_t device)
Returns the compute capability of the device.
Definition: hip_device.cpp:434
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
Definition: hip_module.cpp:1646
void(* hipStreamCallback_t)(hipStream_t stream, hipError_t status, void *userData)
Definition: hip_runtime_api.h:917
hipMemoryAdvise
Definition: hip_runtime_api.h:233
Definition: driver_types.h:91
hipError_t hipGetMipmappedArrayLevel(hipArray_t *levelArray, hipMipmappedArray_const_t mipmappedArray, unsigned int level)
Gets a mipmap level of a HIP mipmapped array.
hipError_t hipCtxGetFlags(unsigned int *flags)
Return flags used for creating default context.
Definition: hip_context.cpp:254
hipError_t __hipPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Push configuration of a kernel launch.
hipError_t hipDevicePrimaryCtxGetState(hipDevice_t dev, unsigned int *flags, int *active)
Get the state of the primary context.
Definition: hip_context.cpp:263
hipError_t hipDeviceSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
Definition: hip_device.cpp:74
hipError_t hipCtxDestroy(hipCtx_t ctx)
Destroy a HIP context.
Definition: hip_context.cpp:109
hipError_t hipCtxEnablePeerAccess(hipCtx_t peerCtx, unsigned int flags)
Enables direct access to memory allocations in a peer context.
Definition: hip_peer.cpp:221
hipError_t hipMemcpyAtoH(void *dst, hipArray *srcArray, size_t srcOffset, size_t count)
Copies data between host and device.
Definition: hip_memory.cpp:1544
hipError_t hipGetDeviceCount(int *count)
Return number of compute-capable devices.
Definition: hip_device.cpp:69
hipSuccess
Successful completion.
Definition: hip_runtime_api.h:196
hipError_t hipSetupArgument(const void *arg, size_t size, size_t offset)
Set a kernel argument.
Definition: hip_clang.cpp:467
hipError_t hipHostUnregister(void *hostPtr)
Un-register host pointer.
Definition: hip_memory.cpp:1233
hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
Return flags associated with this stream.
Definition: hip_stream.cpp:223
hipError_t hipMemsetD8Async(hipDeviceptr_t dest, unsigned char value, size_t count, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dest with the constant byte value va...
hipError_t hipExtStreamCreateWithCUMask(hipStream_t *stream, uint32_t cuMaskSize, const uint32_t *cuMask)
Create an asynchronous stream with the specified CU mask.
hipError_t hipStreamSynchronize(hipStream_t stream)
Wait for all commands in stream to complete.
Definition: hip_stream.cpp:184
const char * hipGetErrorName(hipError_t hip_error)
Return name of the specified error code in text form.
Definition: hip_error.cpp:48
hipError_t hipDeviceGet(hipDevice_t *device, int ordinal)
Returns a handle to a compute device.
Definition: hip_context.cpp:70
#define __host__
Definition: host_defines.h:41
hipError_t hipMemcpyDtoD(hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Device.
Definition: hip_memory.cpp:1390
Definition: driver_types.h:383
hipError_t hipMallocManaged(void **dev_ptr, size_t size, unsigned int flags __dparm(hipMemAttachGlobal))
Allocates memory that will be automatically managed by AMD HMM.
hipError_t hipMemcpyHtoD(hipDeviceptr_t dst, void *src, size_t sizeBytes)
Copy data from Host to Device.
Definition: hip_memory.cpp:1374
hipError_t hipDriverGetVersion(int *driverVersion)
Returns the approximate HIP driver version.
Definition: hip_context.cpp:85
hipError_t hipMemcpy2DToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
Definition: hip_memory.cpp:1444
hipError_t hipMemAllocPitch(hipDeviceptr_t *dptr, size_t *pitch, size_t widthInBytes, size_t height, unsigned int elementSizeBytes)
Definition: hip_memory.cpp:862
Definition: hip_runtime_api.h:83
hipError_t hipFuncSetCacheConfig(const void *func, hipFuncCache_t config)
Set Cache configuration for a specific function.
Definition: hip_device.cpp:108
Defines surface types for HIP runtime.
hipError_t hipMemsetD32Async(hipDeviceptr_t dst, int value, size_t count, hipStream_t stream __dparm(0))
Fills the memory area pointed to by dev with the constant integer value for specified number of times...
hipError_t hipRuntimeGetVersion(int *runtimeVersion)
Returns the approximate HIP Runtime version.
Definition: hip_context.cpp:97
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem __dparm(0), hipStream_t stream __dparm(0))
Configure a kernel launch.
hipError_t hipEventQuery(hipEvent_t event)
Query event status.
Definition: hip_event.cpp:394
Definition: hip_hcc_internal.h:938
hipError_t hipStreamGetPriority(hipStream_t stream, int *priority)
Query the priority of a stream.
Definition: hip_stream.cpp:238
@ hipSharedMemBankSizeFourByte
Definition: hip_runtime_api.h:303
hipError_t hipEventSynchronize(hipEvent_t event)
Wait for an event to complete.
Definition: hip_event.cpp:300
@ hipFuncCachePreferNone
no preference for shared memory or L1 (default)
Definition: hip_runtime_api.h:291
hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
Definition: hip_module.cpp:1667
hipError_t hipHostFree(void *ptr)
Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...
Definition: hip_memory.cpp:2396
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...
Definition: hip_memory.cpp:2494
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...
Definition: hip_memory.cpp:2271
Definition: driver_types.h:116
Definition: hip_hcc_internal.h:759
@ hipMemRangeAttributeAccessedBy
Definition: hip_runtime_api.h:255
hipError_t hipDeviceGetLimit(size_t *pValue, enum hipLimit_t limit)
Get Resource limits of current device.
Definition: hip_device.cpp:94
void ** args
Arguments.
Definition: hip_runtime_api.h:326
hipError_t hipMalloc(void **ptr, size_t size)
Allocate memory on the default accelerator.
Definition: hip_memory.cpp:695
hipError_t hipMemPrefetchAsync(const void *dev_ptr, size_t count, int device, hipStream_t stream __dparm(0))
Prefetches memory to the specified destination device using AMD HMM.
Definition: hip_runtime_api.h:104
hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
Return the elapsed time between two events.
Definition: hip_event.cpp:344
hipError_t hipInit(unsigned int flags)
Explicitly initializes the HIP runtime.
Definition: hip_context.cpp:39
hipError_t hipGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
Definition: hip_error.cpp:32
Definition: hip_hcc_internal.h:580
Definition: driver_types.h:166
Definition: driver_types.h:78
hipError_t hipHostAlloc(void **ptr, size_t size, unsigned int flags)
Allocate device accessible page locked host memory [Deprecated].
Definition: hip_memory.cpp:794
hipError_t hipIpcGetMemHandle(hipIpcMemHandle_t *handle, void *devPtr)
Gets an interprocess memory handle for an existing device memory allocation.
Definition: hip_memory.cpp:2458
hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx)
Disable direct access from current context's virtual address space to memory allocations physically l...
Definition: hip_peer.cpp:227
hipError_t hipHostGetDevicePointer(void **devPtr, void *hstPtr, unsigned int flags)
Get Device pointer from Host Pointer allocated through hipHostMalloc.
hipError_t hipMemGetInfo(size_t *free, size_t *total)
Query memory info. Return snapshot of free memory, and total allocatable memory on the device.
Definition: hip_memory.cpp:2296
hipError_t hipEventDestroy(hipEvent_t event)
Destroy the specified event.
Definition: hip_event.cpp:278
hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
The bank width of shared memory on current device is set.
Definition: hip_device.cpp:116
hipError_t hipDeviceReset(void)
The state of current device is discarded and updated to a fresh state.
Definition: hip_device.cpp:148
hipError_t hipSetDeviceFlags(unsigned flags)
The current device behavior is changed according the flags passed.
Definition: driver_types.h:69
@ hipMemAdviseUnsetReadMostly
Undo the effect of hipMemAdviseSetReadMostly.
Definition: hip_runtime_api.h:236
Definition: hip_runtime_api.h:313
hipError_t hipStreamQuery(hipStream_t stream)
Return hipSuccess if all of the operations in the specified stream have completed,...
Definition: hip_stream.cpp:161
hipError_t hipLaunchByPtr(const void *func)
Launch a kernel.
Definition: hip_clang.cpp:485
hipError_t hipExtMallocWithFlags(void **ptr, size_t sizeBytes, unsigned int flags)
Allocate memory on the default accelerator.
Definition: hip_memory.cpp:723
hipError_t hipDevicePrimaryCtxSetFlags(hipDevice_t dev, unsigned int flags)
Set flags for the primary context.
Definition: hip_context.cpp:321
Definition: hip_runtime_api.h:161
hipError_t hipFree(void *ptr)
Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...
Definition: hip_memory.cpp:2344
void * func
Device function symbol.
Definition: hip_runtime_api.h:323
#define hipArrayDefault
Default HIP array allocation flag.
Definition: hip_runtime_api.h:214
hipError_t hipDevicePrimaryCtxRetain(hipCtx_t *pctx, hipDevice_t dev)
Retain the primary context on the GPU.
Definition: hip_context.cpp:296
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 hipModuleLoad(hipModule_t *module, const char *fname)
Loads code object from file into a hipModule_t.
Definition: hip_module.cpp:1497
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk, unsigned int flags)
Returns occupancy for a device function.
Definition: hip_module.cpp:1698
hipError_t hipMemcpyHtoA(hipArray *dstArray, size_t dstOffset, const void *srcHost, size_t count)
Copies data between host and device.
Definition: hip_memory.cpp:1528
hipError_t hipFreeHost(void *ptr)
Free memory allocated by the hcc hip host memory allocation API. [Deprecated].
Definition: hip_memory.cpp:2407
hipError_t hipModuleGetFunction(hipFunction_t *function, hipModule_t module, const char *kname)
Function with kname will be extracted if present in module.
Definition: hip_module.cpp:1309
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...
Definition: hip_stream.cpp:258
hipStream_t stream
Stream identifier.
Definition: hip_runtime_api.h:328
hipError_t hipMemcpyDtoHAsync(void *dst, hipDeviceptr_t src, size_t sizeBytes, hipStream_t stream)
Copy data from Device to Host asynchronously.
Definition: hip_memory.cpp:1437
@ hipMemRangeAttributeReadMostly
Definition: hip_runtime_api.h:252
@ hipMemRangeAttributeLastPrefetchLocation
The last location to which the range was prefetched.
Definition: hip_runtime_api.h:257
hipError_t hipFuncGetAttributes(struct hipFuncAttributes *attr, const void *func)
Find out attributes for a given function.
Definition: hip_module.cpp:1393
hipError_t hipDrvMemcpy3DAsync(const HIP_MEMCPY3D *pCopy, hipStream_t stream)
Copies data between host and device asynchronously.
hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream)
Record an event in the specified stream.
Definition: hip_event.cpp:213
dim3 gridDim
Grid dimentions.
Definition: hip_runtime_api.h:324
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.
Definition: hip_memory.cpp:2020
Definition: driver_types.h:370
Definition: driver_types.h:363
hipError_t hipModuleGetGlobal(void **, size_t *, hipModule_t, const char *)
returns device memory pointer and size of the kernel present in the module with symbol name
Definition: hip_module.cpp:1113
@ hipSharedMemBankSizeDefault
The compiler selects a device-specific value for the banking.
Definition: hip_runtime_api.h:302
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.
Definition: hip_memory.cpp:2251
hipError_t hipMemset3D(hipPitchedPtr pitchedDevPtr, int value, hipExtent extent)
Fills synchronously the memory area pointed to by pitchedDevPtr with the constant value.
Definition: hip_memory.cpp:2286
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 AMD HMM.
hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
Create an asynchronous stream.
Definition: hip_stream.cpp:97
hipError_t hipDeviceGetAttribute(int *pi, hipDeviceAttribute_t attr, int deviceId)
Query for a specific device attribute.
Definition: hip_device.cpp:354
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.
Definition: hip_memory.cpp:1511
Definition: hip_module.cpp:108
hipError_t hipMemcpyPeerAsync(void *dst, int dstDeviceId, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream __dparm(0))
Copies memory from one device to memory on another device.
hipError_t hipMemcpyHtoDAsync(hipDeviceptr_t dst, void *src, size_t sizeBytes, hipStream_t stream)
Copy data from Host to Device asynchronously.
Definition: hip_memory.cpp:1422
hipError_t hipMemcpyDtoH(void *dst, hipDeviceptr_t src, size_t sizeBytes)
Copy data from Device to Host.
Definition: hip_memory.cpp:1382
hipError_t hipDeviceGetCacheConfig(hipFuncCache_t *cacheConfig)
Set Cache configuration for a specific function.
Definition: hip_device.cpp:82
hipError_t hipMemcpyPeer(void *dst, int dstDeviceId, const void *src, int srcDeviceId, size_t sizeBytes)
Copies memory from one device to memory on another device.
Definition: hip_peer.cpp:207
hipError_t hipMemAdvise(const void *dev_ptr, size_t count, hipMemoryAdvise advice, int device)
Advise about the usage of a given memory range to AMD HMM.
hipError_t hipFreeMipmappedArray(hipMipmappedArray_t mipmappedArray)
Frees a mipmapped array on the device.
hipError_t hipRegisterApiCallback(uint32_t id, void *fun, void *arg)
Definition: hip_intercept.cpp:33
hipError_t hipGetDeviceProperties(hipDeviceProp_t *prop, int deviceId)
Returns device properties.
Definition: hip_device.cpp:381
hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
Copy data from src to dst.
Definition: hip_memory.cpp:1367
hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
Create an event with the specified flags.
Definition: hip_event.cpp:201
@ hipMemAdviseUnsetAccessedBy
Definition: hip_runtime_api.h:242
hipError_t hipCtxGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration.
Definition: hip_context.cpp:241
hipError_t hipDeviceTotalMem(size_t *bytes, hipDevice_t device)
Returns the total amount of memory on the device.
Definition: hip_device.cpp:480
hipError_t hipFreeArray(hipArray *array)
Frees an array on the device.
Definition: hip_memory.cpp:2409
Defines the different newt vector types for HIP runtime.
Definition: texture_types.h:74
hipError_t hipCtxPopCurrent(hipCtx_t *ctx)
Pop the current/default context and return the popped context.
Definition: hip_context.cpp:133
hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int deviceId, int peerDeviceId)
Determine if a device can access a peer's memory.
Definition: hip_peer.cpp:186
@ hipMemAdviseUnsetPreferredLocation
Clear the preferred location for the data.
Definition: hip_runtime_api.h:239
hipError_t hipCtxSetCurrent(hipCtx_t ctx)
Set the passed context as current/default.
Definition: hip_context.cpp:178
Definition: driver_types.h:288
Definition: texture_types.h:95
Definition: driver_types.h:323
uint32_t z
z
Definition: hip_runtime_api.h:316
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...
Definition: hip_memory.cpp:2261
hipError_t hipCtxSetCacheConfig(hipFuncCache_t cacheConfig)
Set L1/Shared cache partition.
Definition: hip_context.cpp:225
hipError_t hipMemset2DAsync(void *dst, size_t pitch, int value, size_t width, size_t height, hipStream_t stream __dparm(0))
Fills asynchronously the memory area pointed to by dst with the constant value.
Definition: driver_types.h:62
hipError_t hipCtxCreate(hipCtx_t *ctx, unsigned int flags, hipDevice_t device)
Create a context and set it as current/ default context.
Definition: hip_context.cpp:52
dim3 blockDim
Block dimentions.
Definition: hip_runtime_api.h:325
hipError_t hipMemAllocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
Definition: hip_memory.cpp:791
#define hipMemAttachGlobal
Memory can be accessed by any stream on any device.
Definition: hip_runtime_api.h:184
Definition: hip_runtime_api.h:322
@ hipFuncCachePreferShared
prefer larger shared memory and smaller L1 cache
Definition: hip_runtime_api.h:292
@ hipMemRangeAttributePreferredLocation
The preferred location of the range.
Definition: hip_runtime_api.h:254
@ hipMemAdviseSetReadMostly
Definition: hip_runtime_api.h:234
hipError_t hipCtxSetSharedMemConfig(hipSharedMemConfig config)
Set Shared memory bank configuration.
Definition: hip_context.cpp:233
hipError_t hipStreamAttachMemAsync(hipStream_t stream, hipDeviceptr_t *dev_ptr, size_t length __dparm(0), unsigned int flags __dparm(hipMemAttachSingle))
Attach memory to a stream asynchronously in AMD HMM.
@ hipSharedMemBankSizeEightByte
Definition: hip_runtime_api.h:305
hipError_t hipModuleOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, hipFunction_t f, int blockSize, size_t dynSharedMemPerBlk)
Returns occupancy for a device function.
Definition: hip_module.cpp:1677
hipDeviceAttribute_t
Definition: hip_runtime_api.h:289
hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t *linktype, uint32_t *hopcount)
Returns the link type and hop count between two devices.
Definition: hip_device.cpp:605
@ hipMemAdviseSetAccessedBy
Definition: hip_runtime_api.h:240
Definition: driver_types.h:262
Definition: hip_hcc_internal.h:415
hipError_t hipDeviceSynchronize(void)
Waits on all active streams on current device.
Definition: hip_device.cpp:143
size_t sharedMem
Shared memory.
Definition: hip_runtime_api.h:327
hipError_t hipProfilerStart()
Start recording of profiling information When using this API, start the profiler with profiling disab...
Definition: hip_hcc.cpp:2496
hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
Returns bank width of shared memory for current device.
Definition: hip_device.cpp:124
hipError_t hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream __dparm(0))
Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...
hipError_t hipStreamDestroy(hipStream_t stream)
Destroys the specified stream.
Definition: hip_stream.cpp:195
hipError_t hipHostRegister(void *hostPtr, size_t sizeBytes, unsigned int flags)
Register host memory so it can be accessed from the current device.
Definition: hip_memory.cpp:1158
hipError_t hipProfilerStop()
Stop recording of profiling information. When using this API, start the profiler with profiling disab...
Definition: hip_hcc.cpp:2502
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....
Definition: hip_module.cpp:1511
hipError_t hipEventCreate(hipEvent_t *event)
Definition: hip_event.cpp:207
Definition: driver_types.h:338
hipError_t hipMemsetAsync(void *dst, int value, size_t sizeBytes, hipStream_t stream __dparm(0))
Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...
hipError_t hipMallocHost(void **ptr, size_t size)
Allocate pinned host memory [Deprecated].
Definition: hip_memory.cpp:788
hipError_t hipCtxGetCacheConfig(hipFuncCache_t *cacheConfig)
Set Cache configuration for a specific function.
Definition: hip_context.cpp:217
@ hipFuncCachePreferL1
prefer larger L1 cache and smaller shared memory
Definition: hip_runtime_api.h:293
#define hipMemAttachSingle
the associated device
Definition: hip_runtime_api.h:186
hipError_t hipMemcpyParam2D(const hip_Memcpy2D *pCopy)
Copies memory for 2D arrays.
Definition: hip_memory.cpp:2144
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...
Definition: hip_memory.cpp:2220
hipError_t hipDeviceDisablePeerAccess(int peerDeviceId)
Disable direct access from current device's virtual address space to memory allocations physically lo...
Definition: hip_peer.cpp:193
hipError_t __hipPopCallConfiguration(dim3 *gridDim, dim3 *blockDim, size_t *sharedMem, hipStream_t *stream)
Pop configuration of a kernel launch.
Definition: hip_clang.cpp:409
hipError_t hipDevicePrimaryCtxReset(hipDevice_t dev)
Resets the primary context on the GPU.
Definition: hip_context.cpp:308
hipMemRangeAttribute
Definition: hip_runtime_api.h:251