Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
proteus::MLIRJitModule Class Reference

#include <MLIRJitModule.h>

Classes

struct  FunctionHandle
 
struct  FunctionHandle< RetT(ArgT...)>
 
struct  KernelHandle
 
struct  KernelHandle< RetT(ArgT...)>
 

Public Member Functions

 MLIRJitModule (TargetModelType TargetModel, const std::string &Code)
 
 MLIRJitModule (const std::string &Target, const std::string &Code)
 
 ~MLIRJitModule ()
 
void compile (bool Verify=false)
 
TargetModelType getTargetModel () const
 
void setFuncAttribute (void *KernelFunc, JitFuncAttribute Attr, int Value)
 
void * getFunctionAddress (const std::string &Name)
 
void * getKernelAddress (const std::string &Name)
 
DispatchResult launch (void *KernelFunc, LaunchDims GridDim, LaunchDims BlockDim, void *KernelArgs[], uint64_t ShmemSize, void *Stream)
 
CompiledLibrarygetLibrary ()
 
template<typename Sig >
FunctionHandle< Sig > getFunction (const std::string &Name)
 
template<typename Sig >
KernelHandle< Sig > getKernel (const std::string &Name)
 

Constructor & Destructor Documentation

◆ MLIRJitModule() [1/2]

proteus::MLIRJitModule::MLIRJitModule ( TargetModelType  TargetModel,
const std::string &  Code 
)
explicit

◆ MLIRJitModule() [2/2]

proteus::MLIRJitModule::MLIRJitModule ( const std::string &  Target,
const std::string &  Code 
)
explicit

◆ ~MLIRJitModule()

proteus::MLIRJitModule::~MLIRJitModule ( )
default

Member Function Documentation

◆ compile()

void proteus::MLIRJitModule::compile ( bool  Verify = false)

◆ getFunction()

template<typename Sig >
FunctionHandle< Sig > proteus::MLIRJitModule::getFunction ( const std::string &  Name)
inline

◆ getFunctionAddress()

void * proteus::MLIRJitModule::getFunctionAddress ( const std::string &  Name)

◆ getKernel()

template<typename Sig >
KernelHandle< Sig > proteus::MLIRJitModule::getKernel ( const std::string &  Name)
inline

◆ getKernelAddress()

void * proteus::MLIRJitModule::getKernelAddress ( const std::string &  Name)
inline

◆ getLibrary()

CompiledLibrary & proteus::MLIRJitModule::getLibrary ( )
inline

◆ getTargetModel()

TargetModelType proteus::MLIRJitModule::getTargetModel ( ) const
inline

◆ launch()

DispatchResult proteus::MLIRJitModule::launch ( void *  KernelFunc,
LaunchDims  GridDim,
LaunchDims  BlockDim,
void *  KernelArgs[],
uint64_t  ShmemSize,
void *  Stream 
)

◆ setFuncAttribute()

void proteus::MLIRJitModule::setFuncAttribute ( void *  KernelFunc,
JitFuncAttribute  Attr,
int  Value 
)

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