|
Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
|
#include <JitEngineDeviceHIP.hpp>


Public Member Functions | |
| void | setKernelDims (Module &M, dim3 &GridDim, dim3 &BlockDim) |
| void | extractModules (BinaryInfo &BinInfo) |
| std::unique_ptr< Module > | tryExtractKernelModule (BinaryInfo &BinInfo, StringRef KernelName, LLVMContext &Ctx) |
| HashT | getModuleHash (BinaryInfo &BinInfo) |
| std::unique_ptr< MemoryBuffer > | compileOnly (Module &M, bool DisableIROpt=false) |
Public Member Functions inherited from proteus::JitEngineDevice< JitEngineDeviceHIP > | |
| DeviceError_t | compileAndRun (JITKernelInfo &KernelInfo, dim3 GridDim, dim3 BlockDim, void **KernelArgs, uint64_t ShmemSize, typename DeviceTraits< JitEngineDeviceHIP >::DeviceStream_t Stream) |
| std::pair< std::unique_ptr< Module >, std::unique_ptr< MemoryBuffer > > | extractKernelModule (BinaryInfo &BinInfo, StringRef KernelName, LLVMContext &Ctx) |
| void | extractModuleAndBitcode (JITKernelInfo &KernelInfo) |
| Module & | getModule (JITKernelInfo &KernelInfo) |
| MemoryBufferRef | getBitcode (JITKernelInfo &KernelInfo) |
| void | getLambdaJitValues (JITKernelInfo &KernelInfo, SmallVector< RuntimeConstant > &LambdaJitValuesVec) |
| void | insertRegisterVar (void *Handle, const char *VarName, const void *Addr, uint64_t VarSize) |
| void | registerLinkedBinary (FatbinWrapperT *FatbinWrapper, const char *ModuleId) |
| void | registerFatBinary (void *Handle, FatbinWrapperT *FatbinWrapper, const char *ModuleId) |
| void | registerFatBinaryEnd () |
| void | registerFunction (void *Handle, void *Kernel, char *KernelName, ArrayRef< RuntimeConstantInfo * > RCInfoArray) |
| bool | containsJITKernelInfo (const void *Func) |
| std::optional< std::reference_wrapper< JITKernelInfo > > | getJITKernelInfo (const void *Func) |
| HashT | getStaticHash (JITKernelInfo &KernelInfo) |
| void | finalize () |
| StringRef | getDeviceArch () const |
Public Member Functions inherited from proteus::JitEngine | |
| bool | isProteusDisabled () |
| void | enable () |
| void | disable () |
Static Public Member Functions | |
| static JitEngineDeviceHIP & | instance () |
| static const SmallVector< StringRef > | gridDimXFnName () |
| static const SmallVector< StringRef > | gridDimYFnName () |
| static const SmallVector< StringRef > | gridDimZFnName () |
| static const SmallVector< StringRef > | blockDimXFnName () |
| static const SmallVector< StringRef > | blockDimYFnName () |
| static const SmallVector< StringRef > | blockDimZFnName () |
| static const SmallVector< StringRef > | blockIdxXFnName () |
| static const SmallVector< StringRef > | blockIdxYFnName () |
| static const SmallVector< StringRef > | blockIdxZFnName () |
| static const SmallVector< StringRef > | threadIdxXFnName () |
| static const SmallVector< StringRef > | threadIdxYFnName () |
| static const SmallVector< StringRef > | threadIdxZFnName () |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| std::unique_ptr< MemoryBuffer > JitEngineDeviceHIP::compileOnly | ( | Module & | M, |
| bool | DisableIROpt = false |
||
| ) |
| void JitEngineDeviceHIP::extractModules | ( | BinaryInfo & | BinInfo | ) |
| HashT JitEngineDeviceHIP::getModuleHash | ( | BinaryInfo & | BinInfo | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| std::unique_ptr< Module > JitEngineDeviceHIP::tryExtractKernelModule | ( | BinaryInfo & | BinInfo, |
| StringRef | KernelName, | ||
| LLVMContext & | Ctx | ||
| ) |