#include <Dispatcher.hpp>
|
virtual std::unique_ptr< MemoryBuffer > | compile (std::unique_ptr< LLVMContext > Ctx, std::unique_ptr< Module > M, HashT ModuleHash)=0 |
|
virtual std::unique_ptr< MemoryBuffer > | lookupObjectModule (HashT ModuleHash)=0 |
|
virtual DispatchResult | launch (StringRef KernelName, LaunchDims GridDim, LaunchDims BlockDim, ArrayRef< void * > KernelArgs, uint64_t ShmemSize, void *Stream, std::optional< MemoryBufferRef > ObjectModule)=0 |
|
virtual DispatchResult | launch (void *KernelFunc, LaunchDims GridDim, LaunchDims BlockDim, ArrayRef< void * > KernelArgs, uint64_t ShmemSize, void *Stream)=0 |
|
virtual StringRef | getTargetArch () const =0 |
|
template<typename RetOrSig , typename... ArgT> |
auto | run (StringRef FuncName, std::optional< MemoryBufferRef > ObjectModule, ArgT &&...Args) |
|
virtual void * | getFunctionAddress (StringRef FunctionName, std::optional< MemoryBufferRef > ObjectModule)=0 |
|
◆ compile()
virtual std::unique_ptr< MemoryBuffer > proteus::Dispatcher::compile |
( |
std::unique_ptr< LLVMContext > |
Ctx, |
|
|
std::unique_ptr< Module > |
M, |
|
|
HashT |
ModuleHash |
|
) |
| |
|
pure virtual |
◆ getDispatcher()
◆ getFunctionAddress()
virtual void * proteus::Dispatcher::getFunctionAddress |
( |
StringRef |
FunctionName, |
|
|
std::optional< MemoryBufferRef > |
ObjectModule |
|
) |
| |
|
pure virtual |
◆ getTargetArch()
virtual StringRef proteus::Dispatcher::getTargetArch |
( |
| ) |
const |
|
pure virtual |
◆ launch() [1/2]
virtual DispatchResult proteus::Dispatcher::launch |
( |
StringRef |
KernelName, |
|
|
LaunchDims |
GridDim, |
|
|
LaunchDims |
BlockDim, |
|
|
ArrayRef< void * > |
KernelArgs, |
|
|
uint64_t |
ShmemSize, |
|
|
void * |
Stream, |
|
|
std::optional< MemoryBufferRef > |
ObjectModule |
|
) |
| |
|
pure virtual |
◆ launch() [2/2]
virtual DispatchResult proteus::Dispatcher::launch |
( |
void * |
KernelFunc, |
|
|
LaunchDims |
GridDim, |
|
|
LaunchDims |
BlockDim, |
|
|
ArrayRef< void * > |
KernelArgs, |
|
|
uint64_t |
ShmemSize, |
|
|
void * |
Stream |
|
) |
| |
|
pure virtual |
◆ lookupObjectModule()
virtual std::unique_ptr< MemoryBuffer > proteus::Dispatcher::lookupObjectModule |
( |
HashT |
ModuleHash | ) |
|
|
pure virtual |
◆ run()
template<typename RetOrSig , typename... ArgT>
auto proteus::Dispatcher::run |
( |
StringRef |
FuncName, |
|
|
std::optional< MemoryBufferRef > |
ObjectModule, |
|
|
ArgT &&... |
Args |
|
) |
| |
|
inline |
◆ TargetModel
The documentation for this class was generated from the following files: