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


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 > | codegenObject (Module &M, SmallPtrSetImpl< void * > &GlobalLinkedBinaries, const CodeGenerationConfig &CGConfig) |
| std::unique_ptr< Dispatcher > | createDispatcher () |
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 (SmallVector< uint64_t > &LambdaCalleeInfo, LambdaCallsiteRuntimeConstantsMap &LambdaJitValuesMap) |
| void | registerVar (void *Handle, const char *VarName, const void *HostAddr, uint64_t VarSize) |
| void | registerLinkedBinary (void *Handle, FatbinWrapperT *FatbinWrapper, const char *ModuleId) |
| void | registerFatBinary (void *Handle, FatbinWrapperT *FatbinWrapper, const char *ModuleId) |
| void | finalizeRegistration () |
| void | registerFunction (void *Handle, void *Kernel, char *KernelName, ArrayRef< RuntimeConstantInfo * > RCInfoArray) |
| void | registerLambdaCallsiteLocation (void *Kernel, uint64_t LambdaID, uint32_t CallsiteIndex, uint32_t KernelArgIndex, int64_t Offset, RuntimeConstantType StorageType) |
| bool | containsJITKernelInfo (const void *Func) |
| std::optional< std::reference_wrapper< JITKernelInfo > > | getJITKernelInfo (const void *Func) |
| HashT | getStaticHash (JITKernelInfo &KernelInfo) |
| 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 () |
| static bool | optimizesBeforeCodegen (CodegenOption CGOption) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| std::unique_ptr< MemoryBuffer > JitEngineDeviceHIP::codegenObject | ( | Module & | M, |
| SmallPtrSetImpl< void * > & | GlobalLinkedBinaries, | ||
| const CodeGenerationConfig & | CGConfig | ||
| ) |
| std::unique_ptr< Dispatcher > JitEngineDeviceHIP::createDispatcher | ( | ) |
| void JitEngineDeviceHIP::extractModules | ( | BinaryInfo & | BinInfo | ) |
| HashT JitEngineDeviceHIP::getModuleHash | ( | BinaryInfo & | BinInfo | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
|
inlinestatic |
| void proteus::JitEngineDeviceHIP::setKernelDims | ( | Module & | M, |
| dim3 & | GridDim, | ||
| dim3 & | BlockDim | ||
| ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| std::unique_ptr< Module > JitEngineDeviceHIP::tryExtractKernelModule | ( | BinaryInfo & | BinInfo, |
| StringRef | KernelName, | ||
| LLVMContext & | Ctx | ||
| ) |