Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
HIPRuntimeAPI.h
Go to the documentation of this file.
1#ifndef PROTEUS_HIP_RUNTIME_API_H
2#define PROTEUS_HIP_RUNTIME_API_H
3
4#include <hip/hip_runtime.h>
5#include <hip/hip_runtime_api.h>
6#include <hip/hiprtc.h>
7
8namespace proteus::hipdyn {
9
10const char *getErrorString(hipError_t Error);
11hipError_t getDeviceProperties(hipDeviceProp_t *Prop, int DeviceId);
12hipError_t getSymbolAddress(void **DevPtr, const void *Symbol);
13hipError_t memcpyHtoD(hipDeviceptr_t Dst, const void *Src, size_t SizeBytes);
14hipError_t moduleLoadData(hipModule_t *Module, const void *Image);
15hipError_t moduleGetGlobal(hipDeviceptr_t *Dptr, size_t *Bytes,
16 hipModule_t Module, const char *Name);
17hipError_t moduleGetFunction(hipFunction_t *Function, hipModule_t Module,
18 const char *Name);
19hipError_t moduleLaunchKernel(hipFunction_t Function, unsigned int GridDimX,
20 unsigned int GridDimY, unsigned int GridDimZ,
21 unsigned int BlockDimX, unsigned int BlockDimY,
22 unsigned int BlockDimZ,
23 unsigned int SharedMemBytes, hipStream_t Stream,
24 void **KernelParams, void **Extra);
25hipError_t launchKernel(const void *FunctionAddress, dim3 NumBlocks,
26 dim3 DimBlocks, void **Args, size_t SharedMemBytes,
27 hipStream_t Stream);
28hipError_t funcSetAttribute(const void *Function, hipFuncAttribute Attribute,
29 int Value);
30
31const char *getRTCErrorString(hiprtcResult Result);
32hiprtcResult rtcLinkCreate(unsigned int NumOptions, hiprtcJIT_option *Options,
33 void **OptionValues, hiprtcLinkState *LinkStateOut);
34hiprtcResult rtcLinkAddData(hiprtcLinkState LinkState,
35 hiprtcJITInputType InputType, void *Image,
36 size_t ImageSize, const char *Name,
37 unsigned int NumOptions, hiprtcJIT_option *Options,
38 void **OptionValues);
39hiprtcResult rtcLinkComplete(hiprtcLinkState LinkState, void **BinOut,
40 size_t *SizeOut);
41
42} // namespace proteus::hipdyn
43
44#endif
char int void ** Args
Definition CompilerInterfaceHost.cpp:23
Definition HIPRuntimeAPI.h:8
const char * getErrorString(hipError_t Error)
Definition HIPRuntimeAPI.cpp:111
hipError_t moduleLaunchKernel(hipFunction_t Function, 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)
Definition HIPRuntimeAPI.cpp:156
hipError_t getSymbolAddress(void **DevPtr, const void *Symbol)
Definition HIPRuntimeAPI.cpp:124
hiprtcResult rtcLinkAddData(hiprtcLinkState LinkState, hiprtcJITInputType InputType, void *Image, size_t ImageSize, const char *Name, unsigned int NumOptions, hiprtcJIT_option *Options, void **OptionValues)
Definition HIPRuntimeAPI.cpp:198
hipError_t funcSetAttribute(const void *Function, hipFuncAttribute Attribute, int Value)
Definition HIPRuntimeAPI.cpp:178
hiprtcResult rtcLinkCreate(unsigned int NumOptions, hiprtcJIT_option *Options, void **OptionValues, hiprtcLinkState *LinkStateOut)
Definition HIPRuntimeAPI.cpp:191
const char * getRTCErrorString(hiprtcResult Result)
Definition HIPRuntimeAPI.cpp:185
hipError_t memcpyHtoD(hipDeviceptr_t Dst, const void *Src, size_t SizeBytes)
Definition HIPRuntimeAPI.cpp:130
hipError_t moduleGetGlobal(hipDeviceptr_t *Dptr, size_t *Bytes, hipModule_t Module, const char *Name)
Definition HIPRuntimeAPI.cpp:142
hipError_t moduleGetFunction(hipFunction_t *Function, hipModule_t Module, const char *Name)
Definition HIPRuntimeAPI.cpp:149
hipError_t launchKernel(const void *FunctionAddress, dim3 NumBlocks, dim3 DimBlocks, void **Args, size_t SharedMemBytes, hipStream_t Stream)
Definition HIPRuntimeAPI.cpp:168
hipError_t moduleLoadData(hipModule_t *Module, const void *Image)
Definition HIPRuntimeAPI.cpp:136
hiprtcResult rtcLinkComplete(hiprtcLinkState LinkState, void **BinOut, size_t *SizeOut)
Definition HIPRuntimeAPI.cpp:209
hipError_t getDeviceProperties(hipDeviceProp_t *Prop, int DeviceId)
Definition HIPRuntimeAPI.cpp:117