11#ifndef PROTEUS_JITENGINEDEVICEHIP_H
12#define PROTEUS_JITENGINEDEVICEHIP_H
34 return {
"_ZNK17__HIP_CoordinatesI13__HIP_GridDimE3__XcvjEv",
35 "llvm.amdgcn.num.workgroups.x"};
39 return {
"_ZNK17__HIP_CoordinatesI13__HIP_GridDimE3__YcvjEv",
40 "llvm.amdgcn.num.workgroups.y"};
44 return {
"_ZNK17__HIP_CoordinatesI13__HIP_GridDimE3__ZcvjEv",
45 "llvm.amdgcn.num.workgroups.z"};
49 return {
"_ZNK17__HIP_CoordinatesI14__HIP_BlockDimE3__XcvjEv",
50 "llvm.amdgcn.workgroup.size.x"};
54 return {
"_ZNK17__HIP_CoordinatesI14__HIP_BlockDimE3__YcvjEv",
55 "llvm.amdgcn.workgroup.size.y"};
59 return {
"_ZNK17__HIP_CoordinatesI14__HIP_BlockDimE3__ZcvjEv",
60 "llvm.amdgcn.workgroup.size.z"};
64 return {
"_ZNK17__HIP_CoordinatesI14__HIP_BlockIdxE3__XcvjEv",
65 "llvm.amdgcn.workgroup.id.x"};
69 return {
"_ZNK17__HIP_CoordinatesI14__HIP_BlockIdxE3__YcvjEv",
70 "llvm.amdgcn.workgroup.id.y"};
74 return {
"_ZNK17__HIP_CoordinatesI14__HIP_BlockIdxE3__ZcvjEv",
75 "llvm.amdgcn.workgroup.id.z"};
79 return {
"_ZNK17__HIP_CoordinatesI15__HIP_ThreadIdxE3__XcvjEv",
80 "llvm.amdgcn.workitem.id.x"};
84 return {
"_ZNK17__HIP_CoordinatesI15__HIP_ThreadIdxE3__YcvjEv",
85 "llvm.amdgcn.workitem.id.y"};
89 return {
"_ZNK17__HIP_CoordinatesI15__HIP_ThreadIdxE3__ZcvjEv",
90 "llvm.amdgcn.workitem.id.z"};
103 std::unique_ptr<MemoryBuffer>
compileOnly(Module &M,
104 bool DisableIROpt =
false);
void char * KernelName
Definition CompilerInterfaceDevice.cpp:59
Definition JitEngineDevice.h:81
Definition JitEngineDeviceHIP.h:29
static const SmallVector< StringRef > blockIdxXFnName()
Definition JitEngineDeviceHIP.h:63
void setKernelDims(Module &M, dim3 &GridDim, dim3 &BlockDim)
static const SmallVector< StringRef > threadIdxYFnName()
Definition JitEngineDeviceHIP.h:83
static const SmallVector< StringRef > threadIdxXFnName()
Definition JitEngineDeviceHIP.h:78
void extractModules(BinaryInfo &BinInfo)
Definition JitEngineDeviceHIP.cpp:309
static const SmallVector< StringRef > blockDimXFnName()
Definition JitEngineDeviceHIP.h:48
static const SmallVector< StringRef > threadIdxZFnName()
Definition JitEngineDeviceHIP.h:88
static const SmallVector< StringRef > blockDimZFnName()
Definition JitEngineDeviceHIP.h:58
static const SmallVector< StringRef > blockIdxYFnName()
Definition JitEngineDeviceHIP.h:68
static const SmallVector< StringRef > gridDimXFnName()
Definition JitEngineDeviceHIP.h:33
std::unique_ptr< Module > tryExtractKernelModule(BinaryInfo &BinInfo, StringRef KernelName, LLVMContext &Ctx)
Definition JitEngineDeviceHIP.cpp:252
static const SmallVector< StringRef > blockIdxZFnName()
Definition JitEngineDeviceHIP.h:73
static const SmallVector< StringRef > gridDimYFnName()
Definition JitEngineDeviceHIP.h:38
static const SmallVector< StringRef > gridDimZFnName()
Definition JitEngineDeviceHIP.h:43
std::unique_ptr< MemoryBuffer > compileOnly(Module &M, bool DisableIROpt=false)
Definition JitEngineDeviceHIP.cpp:376
static JitEngineDeviceHIP & instance()
Definition JitEngineDeviceHIP.cpp:29
static const SmallVector< StringRef > blockDimYFnName()
Definition JitEngineDeviceHIP.h:53
HashT getModuleHash(BinaryInfo &BinInfo)
Definition JitEngineDeviceHIP.cpp:196
Definition JitEngineDevice.h:281
Definition CompiledLibrary.h:7
Definition MemoryCache.h:27
hipFunction_t KernelFunction_t
Definition JitEngineDeviceHIP.h:26
hipError_t DeviceError_t
Definition JitEngineDeviceHIP.h:24
hipStream_t DeviceStream_t
Definition JitEngineDeviceHIP.h:25
Definition JitEngineDevice.h:279