yacx-YetAnotherCudaExecutor  0.6.2
wrapper to easily compile and execute cuda kernels
Public Member Functions | List of all members
yacx::Program Class Reference

Class to instantiate and compile Source (kernel strings) More...

#include <Program.hpp>

Inheritance diagram for yacx::Program:
yacx::JNIHandle

Public Member Functions

 Program (std::string kernel_name, std::shared_ptr< nvrtcProgram > prog)
 
template<typename T >
Programinstantiate (T type)
 
template<typename T , typename... TS>
Programinstantiate (T type, TS... types)
 
Kernel compile (const Options &options=Options())
 
std::string log () const
 

Detailed Description

Class to instantiate and compile Source (kernel strings)

Constructor & Destructor Documentation

◆ Program()

Program::Program ( std::string  kernel_name,
std::shared_ptr< nvrtcProgram >  prog 
)
Parameters
function_namefunction name in kernel string
prog

Member Function Documentation

◆ compile()

Kernel Program::compile ( const Options options = Options())

compile Program to Kernel

Parameters
optionssee NVRTC documentation for supported Options
Returns
a compiled Kernel

◆ instantiate() [1/2]

template<typename T >
Program & yacx::Program::instantiate ( type)

instantiate template parameter

Template Parameters
T
Parameters
type
Returns

◆ instantiate() [2/2]

template<typename T , typename... TS>
Program & yacx::Program::instantiate ( type,
TS...  types 
)

instantiate template parameters

Template Parameters
T
TS
Parameters
type
types
Returns

◆ log()

std::string yacx::Program::log ( ) const
inline
Returns
log of compilation

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