Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
proteus::Dispatcher Class Referenceabstract

#include <Dispatcher.hpp>

Inheritance diagram for proteus::Dispatcher:
Inheritance graph
[legend]

Public Member Functions

virtual void compile (std::unique_ptr< Module > M)=0
 
virtual DispatchResult launch (StringRef KernelName, LaunchDims GridDim, LaunchDims BlockDim, ArrayRef< void * > KernelArgs, uint64_t ShmemSize, void *Stream)=0
 
template<typename Ret , typename... ArgT>
Ret run (StringRef FuncName, ArgT... Args)
 

Static Public Member Functions

static DispatchergetDispatcher (TargetModelType Model)
 

Protected Member Functions

virtual void * getFunctionAddress (StringRef FunctionName)=0
 

Protected Attributes

std::unique_ptr< MemoryBuffer > Library = nullptr
 

Member Function Documentation

◆ compile()

virtual void proteus::Dispatcher::compile ( std::unique_ptr< Module >  M)
pure virtual

Implemented in proteus::DispatcherHost.

◆ getDispatcher()

Dispatcher & proteus::Dispatcher::getDispatcher ( TargetModelType  Model)
static

◆ getFunctionAddress()

virtual void * proteus::Dispatcher::getFunctionAddress ( StringRef  FunctionName)
protectedpure virtual

Implemented in proteus::DispatcherHost.

◆ launch()

virtual DispatchResult proteus::Dispatcher::launch ( StringRef  KernelName,
LaunchDims  GridDim,
LaunchDims  BlockDim,
ArrayRef< void * >  KernelArgs,
uint64_t  ShmemSize,
void *  Stream 
)
pure virtual

Implemented in proteus::DispatcherHost.

◆ run()

template<typename Ret , typename... ArgT>
Ret proteus::Dispatcher::run ( StringRef  FuncName,
ArgT...  Args 
)
inline

Member Data Documentation

◆ Library

std::unique_ptr<MemoryBuffer> proteus::Dispatcher::Library = nullptr
protected

The documentation for this class was generated from the following files: