NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
jitify::Kernel Class Reference

#include <jitify.hpp>

Public Member Functions

 Kernel (Program const &program, std::string name, jitify::detail::vector< std::string > options=0)
 
KernelInstantiation instantiate (std::vector< std::string > const &template_args=std::vector< std::string >()) const
 
template<typename... TemplateArgs>
KernelInstantiation instantiate () const
 
template<typename... TemplateArgs>
KernelInstantiation instantiate (TemplateArgs... targs) const
 

Friends

class KernelInstantiation
 

Detailed Description

An object representing a kernel made up of a Program, a name and options.

Constructor & Destructor Documentation

◆ Kernel()

jitify::Kernel::Kernel ( Program const &  program,
std::string  name,
jitify::detail::vector< std::string >  options = 0 
)
inline

Member Function Documentation

◆ instantiate() [1/3]

template<typename... TemplateArgs>
KernelInstantiation jitify::Kernel::instantiate ( ) const
inline

Instantiate the kernel.

Note
The template arguments specified on this function are used to instantiate the kernel. Non-type template arguments must be wrapped with
Template type deduction is not possible, so all types must be explicitly specified.

Referenced by instantiate().

Here is the caller graph for this function:

◆ instantiate() [2/3]

KernelInstantiation jitify::Kernel::instantiate ( std::vector< std::string > const &  template_args = std::vector<std::string>()) const
inline

Instantiate the kernel.

Parameters
template_argsA vector of template arguments represented as code-strings. These can be generated using
jitify::reflection::reflect<type>()
or
Note
Template type deduction is not possible, so all types must be explicitly specified.

References KernelInstantiation.

Referenced by jitify::parallel_for().

Here is the caller graph for this function:

◆ instantiate() [3/3]

template<typename... TemplateArgs>
KernelInstantiation jitify::Kernel::instantiate ( TemplateArgs...  targs) const
inline

Instantiate the kernel.

Parameters
targsThe template arguments for the kernel, represented as values. Types must be wrapped with or
jitify::reflection::type_of(value)
Note
Template type deduction is not possible, so all types must be explicitly specified.

References instantiate(), and jitify::reflection::reflect().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ KernelInstantiation

friend class KernelInstantiation
friend

Referenced by instantiate().


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