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

Namespaces

 experimental
 
 reflection
 

Classes

struct  ProgramConfig
 
class  JitCache_impl
 
class  Program_impl
 
class  Kernel_impl
 
class  KernelInstantiation_impl
 
class  KernelLauncher_impl
 
class  KernelLauncher
 
class  KernelInstantiation
 
class  Kernel
 
class  Program
 
class  JitCache
 
struct  ExecutionPolicy
 
class  Lambda
 
class  Capture
 

Typedefs

typedef std::istream *(* file_callback_type) (std::string filename, std::iostream &tmp_stream)
 

Enumerations

enum  Location { HOST , DEVICE }
 

Functions

std::ostream & operator<< (std::ostream &stream, dim3 d)
 
template<typename T >
Lambda< T > make_Lambda (Capture const &capture, std::string func, T lambda)
 
template<typename IndexType , class Func >
CUresult parallel_for (ExecutionPolicy policy, IndexType begin, IndexType end, Lambda< Func > const &lambda)
 

Detailed Description

Jitify library namespace

Typedef Documentation

◆ file_callback_type

typedef std::istream*(* jitify::file_callback_type) (std::string filename, std::iostream &tmp_stream)

Source-file load callback.

Parameters
filenameThe name of the requested source file.
tmp_streamA temporary stream that can be used to hold source code.
Returns
A pointer to an input stream containing the source code, or NULL to defer loading of the file to Jitify's file-loading mechanisms.

Enumeration Type Documentation

◆ Location

Enumerator
HOST 
DEVICE 

Function Documentation

◆ make_Lambda()

template<typename T >
Lambda<T> jitify::make_Lambda ( Capture const &  capture,
std::string  func,
lambda 
)
inline

◆ operator<<()

std::ostream& jitify::operator<< ( std::ostream &  stream,
dim3  d 
)
inline

◆ parallel_for()

template<typename IndexType , class Func >
CUresult jitify::parallel_for ( ExecutionPolicy  policy,
IndexType  begin,
IndexType  end,
Lambda< Func > const &  lambda 
)

Call a function for a range of indices

Parameters
policyDetermines the location and device parameters for execution of the parallel_for.
beginThe starting index.
endThe ending index.
lambdaA Lambda object created using the JITIFY_LAMBDA() macro.
char const* in;
float* out;
parallel_for(0, 100, JITIFY_LAMBDA( (in, out), {char x = in[i]; out[i] =
x*x; } );

References jitify::Capture::_arg_decls, jitify::Capture::_arg_ptrs, jitify::Lambda< Func >::_capture, jitify::Lambda< Func >::_func, jitify::Lambda< Func >::_func_string, jitify::ExecutionPolicy::block_size, jitify::ExecutionPolicy::cache_size, jitify::ExecutionPolicy::device, jitify::ExecutionPolicy::file_callback, jitify::ExecutionPolicy::headers, HOST, jitify::Kernel::instantiate(), jitify::Program::kernel(), jitify::ExecutionPolicy::location, magic_enum::detail::n(), jitify::ExecutionPolicy::options, and jitify::ExecutionPolicy::stream.

Here is the call graph for this function: