25#ifndef HIP_INCLUDE_HIP_HIP_RUNTIME_PT_API_H
26#define HIP_INCLUDE_HIP_HIP_RUNTIME_PT_API_H
28#if defined(__HIP_PLATFORM_AMD__) && !defined(__HIP_PLATFORM_NVIDIA__)
31#if defined(HIP_API_PER_THREAD_DEFAULT_STREAM)
32 #define __HIP_STREAM_PER_THREAD
33 #define __HIP_API_SPT(api) api ## _spt
35 #define __HIP_API_SPT(api) api
38#if defined(__HIP_STREAM_PER_THREAD)
40 #define hipMemcpy __HIP_API_SPT(hipMemcpy)
41 #define hipMemcpyToSymbol __HIP_API_SPT(hipMemcpyToSymbol)
42 #define hipMemcpyFromSymbol __HIP_API_SPT(hipMemcpyFromSymbol)
43 #define hipMemcpy2D __HIP_API_SPT(hipMemcpy2D)
44 #define hipMemcpy2DFromArray __HIP_API_SPT(hipMemcpy2DFromArray)
45 #define hipMemcpy3D __HIP_API_SPT(hipMemcpy3D)
46 #define hipMemset __HIP_API_SPT(hipMemset)
47 #define hipMemset2D __HIP_API_SPT(hipMemset2D)
48 #define hipMemset3D __HIP_API_SPT(hipMemset3D)
49 #define hipMemcpyAsync __HIP_API_SPT(hipMemcpyAsync)
50 #define hipMemset3DAsync __HIP_API_SPT(hipMemset3DAsync)
51 #define hipMemset2DAsync __HIP_API_SPT(hipMemset2DAsync)
52 #define hipMemsetAsync __HIP_API_SPT(hipMemsetAsync)
53 #define hipMemcpy3DAsync __HIP_API_SPT(hipMemcpy3DAsync)
54 #define hipMemcpy2DAsync __HIP_API_SPT(hipMemcpy2DAsync)
55 #define hipMemcpyFromSymbolAsync __HIP_API_SPT(hipMemcpyFromSymbolAsync)
56 #define hipMemcpyToSymbolAsync __HIP_API_SPT(hipMemcpyToSymbolAsync)
57 #define hipMemcpyFromArray __HIP_API_SPT(hipMemcpyFromArray)
58 #define hipMemcpy2DToArray __HIP_API_SPT(hipMemcpy2DToArray)
59 #define hipMemcpy2DFromArrayAsync __HIP_API_SPT(hipMemcpy2DFromArrayAsync)
60 #define hipMemcpy2DToArrayAsync __HIP_API_SPT(hipMemcpy2DToArrayAsync)
63 #define hipStreamSynchronize __HIP_API_SPT(hipStreamSynchronize)
64 #define hipStreamQuery __HIP_API_SPT(hipStreamQuery)
65 #define hipStreamGetFlags __HIP_API_SPT(hipStreamGetFlags)
66 #define hipStreamGetPriority __HIP_API_SPT(hipStreamGetPriority)
67 #define hipStreamWaitEvent __HIP_API_SPT(hipStreamWaitEvent)
68 #define hipStreamAddCallback __HIP_API_SPT(hipStreamAddCallback)
69 #define hipLaunchHostFunc __HIP_API_SPT(hipLaunchHostFunc)
72 #define hipEventRecord __HIP_API_SPT(hipEventRecord)
75 #define hipLaunchKernel __HIP_API_SPT(hipLaunchKernel)
76 #define hipLaunchCooperativeKernel __HIP_API_SPT(hipLaunchCooperativeKernel)
79 #define hipGraphLaunch __HIP_API_SPT(hipGraphLaunch)
80 #define hipStreamBeginCapture __HIP_API_SPT(hipStreamBeginCapture)
81 #define hipStreamEndCapture __HIP_API_SPT(hipStreamEndCapture)
82 #define hipStreamIsCapturing __HIP_API_SPT(hipStreamIsCapturing)
83 #define hipStreamGetCaptureInfo __HIP_API_SPT(hipStreamGetCaptureInfo)
84 #define hipStreamGetCaptureInfo_v2 __HIP_API_SPT(hipStreamGetCaptureInfo_v2)
91hipError_t hipMemcpy_spt(
void* dst,
const void* src,
size_t sizeBytes, hipMemcpyKind kind);
93hipError_t hipMemcpyToSymbol_spt(
const void* symbol,
const void* src,
size_t sizeBytes,
94 size_t offset __dparm(0),
95 hipMemcpyKind kind __dparm(hipMemcpyHostToDevice));
97hipError_t hipMemcpyFromSymbol_spt(
void* dst,
const void* symbol,
size_t sizeBytes,
98 size_t offset __dparm(0),
99 hipMemcpyKind kind __dparm(hipMemcpyDeviceToHost));
101hipError_t hipMemcpy2D_spt(
void* dst,
size_t dpitch,
const void* src,
size_t spitch,
size_t width,
102 size_t height, hipMemcpyKind kind);
104hipError_t hipMemcpy2DFromArray_spt(
void* dst,
size_t dpitch, hipArray_const_t src,
size_t wOffset,
105 size_t hOffset,
size_t width,
size_t height, hipMemcpyKind kind);
107hipError_t hipMemcpy3D_spt(
const struct hipMemcpy3DParms* p);
109hipError_t hipMemset_spt(
void* dst,
int value,
size_t sizeBytes);
111hipError_t hipMemsetAsync_spt(
void* dst,
int value,
size_t sizeBytes, hipStream_t stream);
113hipError_t hipMemset2D_spt(
void* dst,
size_t pitch,
int value,
size_t width,
size_t height);
115hipError_t hipMemset2DAsync_spt(
void* dst,
size_t pitch,
int value,
116 size_t width,
size_t height, hipStream_t stream);
118hipError_t hipMemset3DAsync_spt(hipPitchedPtr pitchedDevPtr,
int value, hipExtent extent, hipStream_t stream);
120hipError_t hipMemset3D_spt(hipPitchedPtr pitchedDevPtr,
int value, hipExtent extent );
122hipError_t hipMemcpyAsync_spt(
void* dst,
const void* src,
size_t sizeBytes, hipMemcpyKind kind,
125hipError_t hipMemcpy3DAsync_spt(
const hipMemcpy3DParms* p, hipStream_t stream);
127hipError_t hipMemcpy2DAsync_spt(
void* dst,
size_t dpitch,
const void* src,
size_t spitch,
size_t width,
128 size_t height, hipMemcpyKind kind, hipStream_t stream);
130hipError_t hipMemcpyFromSymbolAsync_spt(
void* dst,
const void* symbol,
size_t sizeBytes,
131 size_t offset, hipMemcpyKind kind, hipStream_t stream);
133hipError_t hipMemcpyToSymbolAsync_spt(
const void* symbol,
const void* src,
size_t sizeBytes,
134 size_t offset, hipMemcpyKind kind, hipStream_t stream);
136hipError_t hipMemcpyFromArray_spt(
void* dst, hipArray_const_t src,
size_t wOffsetSrc,
size_t hOffset,
137 size_t count, hipMemcpyKind kind);
139hipError_t hipMemcpy2DToArray_spt(hipArray_t dst,
size_t wOffset,
size_t hOffset,
const void* src,
140 size_t spitch,
size_t width,
size_t height, hipMemcpyKind kind);
142hipError_t hipMemcpy2DFromArrayAsync_spt(
void* dst,
size_t dpitch, hipArray_const_t src,
143 size_t wOffsetSrc,
size_t hOffsetSrc,
size_t width,
size_t height,
144 hipMemcpyKind kind, hipStream_t stream);
146hipError_t hipMemcpy2DToArrayAsync_spt(hipArray_t dst,
size_t wOffset,
size_t hOffset,
const void* src,
147 size_t spitch,
size_t width,
size_t height, hipMemcpyKind kind,
150hipError_t hipStreamQuery_spt(hipStream_t stream);
152hipError_t hipStreamSynchronize_spt(hipStream_t stream);
154hipError_t hipStreamGetPriority_spt(hipStream_t stream,
int* priority);
156hipError_t hipStreamWaitEvent_spt(hipStream_t stream, hipEvent_t event,
unsigned int flags __dparm(0));
158hipError_t hipStreamGetFlags_spt(hipStream_t stream,
unsigned int* flags);
160hipError_t hipStreamAddCallback_spt(hipStream_t stream, hipStreamCallback_t callback,
void* userData,
163hipError_t hipEventRecord_spt(hipEvent_t event, hipStream_t stream = NULL);
165hipError_t hipEventRecord_spt(hipEvent_t event, hipStream_t stream);
168hipError_t hipLaunchCooperativeKernel_spt(
const void* f,
169 dim3 gridDim, dim3 blockDim,
170 void **kernelParams, uint32_t sharedMemBytes, hipStream_t hStream);
172hipError_t hipLaunchKernel_spt(
const void* function_address,
176 size_t sharedMemBytes, hipStream_t stream);
178hipError_t hipGraphLaunch_spt(hipGraphExec_t graphExec, hipStream_t stream);
179hipError_t hipStreamBeginCapture_spt(hipStream_t stream, hipStreamCaptureMode mode);
180hipError_t hipStreamEndCapture_spt(hipStream_t stream, hipGraph_t* pGraph);
181hipError_t hipStreamIsCapturing_spt(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus);
182hipError_t hipStreamGetCaptureInfo_spt(hipStream_t stream, hipStreamCaptureStatus* pCaptureStatus,
183 unsigned long long* pId);
184hipError_t hipStreamGetCaptureInfo_v2_spt(hipStream_t stream, hipStreamCaptureStatus* captureStatus_out,
185 unsigned long long* id_out, hipGraph_t* graph_out,
186 const hipGraphNode_t** dependencies_out,
187 size_t* numDependencies_out);
188hipError_t hipLaunchHostFunc_spt(hipStream_t stream, hipHostFn_t fn,
void* userData);