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);
54 std::unique_ptr<MemoryBuffer>
65 void extractLinkedBitcode(LLVMContext &Ctx, CUmodule &CUMod,
66 SmallVector<std::unique_ptr<Module>> &LinkedModules,
void const char * ModuleId
Definition CompilerInterfaceDevice.cpp:44
Definition JitEngineDevice.h:84
Definition JitEngineDeviceCUDA.h:33
static JitEngineDeviceCUDA & instance()
Definition JitEngineDeviceCUDA.cpp:25
void setLaunchBoundsForKernel(Module &M, Function &F, size_t GridSize, int BlockSize)
void extractModules(BinaryInfo &BinInfo)
Definition JitEngineDeviceCUDA.cpp:111
static bool optimizesBeforeCodegen(CodegenOption)
Definition JitEngineDeviceCUDA.h:52
void codegenPTX(Module &M, StringRef DeviceArch, SmallVectorImpl< char > &PTXStr)
std::unique_ptr< MemoryBuffer > codegenObject(Module &M, SmallPtrSetImpl< void * > &GlobalLinkedBinaries, const CodeGenerationConfig &CGConfig)
Definition JitEngineDeviceCUDA.cpp:171
std::unique_ptr< Dispatcher > createDispatcher()
Definition JitEngineDeviceCUDA.cpp:179
HashT getModuleHash(BinaryInfo &BinInfo)
Definition JitEngineDeviceCUDA.cpp:68
std::unique_ptr< Module > tryExtractKernelModule(BinaryInfo &BinInfo, StringRef KernelName, LLVMContext &Ctx)
Definition JitEngineDeviceCUDA.cpp:103
Definition JitEngineDevice.h:312
SmallPtrSet< void *, 8 > GlobalLinkedBinaries
Definition JitEngineDevice.h:488
std::string DeviceArch
Definition JitEngineDevice.h:566
Definition KernelName.h:18
Definition CompiledLibrary.h:8
Definition MemoryCache.h:27
CodegenOption
Definition Config.h:19
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:310