11#ifndef PROTEUS_JITENGINEDEVICECUDA_H
12#define PROTEUS_JITENGINEDEVICECUDA_H
17#include <llvm/ADT/DenseMap.h>
18#include <llvm/ADT/SmallVector.h>
47 SmallVectorImpl<char> &PTXStr);
51 std::unique_ptr<MemoryBuffer>
compileOnly(Module &M,
52 bool DisableIROpt =
false);
59 void extractLinkedBitcode(LLVMContext &Ctx, CUmodule &CUMod,
60 SmallVector<std::unique_ptr<Module>> &LinkedModules,
void const char * ModuleId
Definition CompilerInterfaceDevice.cpp:36
void char * KernelName
Definition CompilerInterfaceDevice.cpp:54
Definition JitEngineDevice.h:81
Definition JitEngineDeviceCUDA.h:33
static JitEngineDeviceCUDA & instance()
Definition JitEngineDeviceCUDA.cpp:24
void setLaunchBoundsForKernel(Module &M, Function &F, size_t GridSize, int BlockSize)
void extractModules(BinaryInfo &BinInfo)
Definition JitEngineDeviceCUDA.cpp:108
std::unique_ptr< MemoryBuffer > compileOnly(Module &M, bool DisableIROpt=false)
Definition JitEngineDeviceCUDA.cpp:165
void codegenPTX(Module &M, StringRef DeviceArch, SmallVectorImpl< char > &PTXStr)
HashT getModuleHash(BinaryInfo &BinInfo)
Definition JitEngineDeviceCUDA.cpp:66
std::unique_ptr< Module > tryExtractKernelModule(BinaryInfo &BinInfo, StringRef KernelName, LLVMContext &Ctx)
Definition JitEngineDeviceCUDA.cpp:100
Definition JitEngineDevice.h:280
std::string DeviceArch
Definition JitEngineDevice.h:557
Definition CompiledLibrary.h:7
Definition MemoryCache.h:26
CUfunction KernelFunction_t
Definition JitEngineDeviceCUDA.h:30
CUstream DeviceStream_t
Definition JitEngineDeviceCUDA.h:29
cudaError_t DeviceError_t
Definition JitEngineDeviceCUDA.h:28
Definition JitEngineDevice.h:278