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

#include <JitFrontend.hpp>

Public Member Functions

 JitModule (StringRef Target="host")
 
 JitModule (const JitModule &)=delete
 
JitModuleoperator= (const JitModule &)=delete
 
 JitModule (JitModule &&)=delete
 
JitModuleoperator= (JitModule &&)=delete
 
template<typename RetT , typename... ArgT>
FuncaddFunction (StringRef Name)
 
const Module & getModule () const
 
template<typename... ArgT>
KernelHandle< ArgT... > addKernel (StringRef Name)
 
void compile (bool Verify=false)
 
template<typename Ret , typename... ArgT>
Ret run (Func &F, ArgT... Args)
 
template<typename... ArgT>
KernelHandle< ArgT... > getKernelHandle (StringRef Name)
 
auto launch (Func &F, LaunchDims GridDim, LaunchDims BlockDim, ArrayRef< void * > KernelArgs, uint64_t ShmemSize, void *Stream)
 
auto launch (StringRef KernelName, LaunchDims GridDim, LaunchDims BlockDim, ArrayRef< void * > KernelArgs, uint64_t ShmemSize, void *Stream)
 
void print ()
 

Constructor & Destructor Documentation

◆ JitModule() [1/3]

proteus::JitModule::JitModule ( StringRef  Target = "host")
inline

◆ JitModule() [2/3]

proteus::JitModule::JitModule ( const JitModule )
delete

◆ JitModule() [3/3]

proteus::JitModule::JitModule ( JitModule &&  )
delete

Member Function Documentation

◆ addFunction()

template<typename RetT , typename... ArgT>
Func & proteus::JitModule::addFunction ( StringRef  Name)
inline

◆ addKernel()

template<typename... ArgT>
KernelHandle< ArgT... > proteus::JitModule::addKernel ( StringRef  Name)
inline

◆ compile()

void proteus::JitModule::compile ( bool  Verify = false)
inline

◆ getKernelHandle()

template<typename... ArgT>
KernelHandle< ArgT... > proteus::JitModule::getKernelHandle ( StringRef  Name)
inline

◆ getModule()

const Module & proteus::JitModule::getModule ( ) const
inline

◆ launch() [1/2]

auto proteus::JitModule::launch ( Func F,
LaunchDims  GridDim,
LaunchDims  BlockDim,
ArrayRef< void * >  KernelArgs,
uint64_t  ShmemSize,
void *  Stream 
)
inline

◆ launch() [2/2]

auto proteus::JitModule::launch ( StringRef  KernelName,
LaunchDims  GridDim,
LaunchDims  BlockDim,
ArrayRef< void * >  KernelArgs,
uint64_t  ShmemSize,
void *  Stream 
)
inline

◆ operator=() [1/2]

JitModule & proteus::JitModule::operator= ( const JitModule )
delete

◆ operator=() [2/2]

JitModule & proteus::JitModule::operator= ( JitModule &&  )
delete

◆ print()

void proteus::JitModule::print ( )
inline

◆ run()

template<typename Ret , typename... ArgT>
Ret proteus::JitModule::run ( Func F,
ArgT...  Args 
)
inline

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