Stan Math Library  2.20.0
reverse mode automatic differentiation
Classes | Namespaces | Macros | Functions
kernel_cl.hpp File Reference
#include <stan/math/opencl/opencl_context.hpp>
#include <stan/math/opencl/kernels/helpers.hpp>
#include <stan/math/opencl/matrix_cl.hpp>
#include <stan/math/opencl/buffer_types.hpp>
#include <stan/math/opencl/err/check_opencl.hpp>
#include <stan/math/prim/arr/fun/vec_concat.hpp>
#include <CL/cl.hpp>
#include <string>
#include <algorithm>
#include <map>
#include <vector>
#include <utility>

Go to the source code of this file.

Classes

class  stan::math::opencl_kernels::kernel_functor< Args >
 Functor used for compiling kernels. More...
 
struct  stan::math::opencl_kernels::kernel_cl< Args >
 Creates functor for kernels. More...
 

Namespaces

 stan
 
 stan::math
 Matrices and templated mathematical functions.
 
 stan::math::opencl_kernels
 
 stan::math::opencl_kernels::internal
 

Macros

#define STRINGIFY(src)   #src
 

Functions

template<typename T >
const T & stan::math::opencl_kernels::internal::get_kernel_args (const T &t)
 Extracts the kernel's arguments, used in the global and local kernel constructor. More...
 
const cl::Buffer & stan::math::opencl_kernels::internal::get_kernel_args (const stan::math::matrix_cl &m)
 
template<typename T >
void stan::math::opencl_kernels::internal::assign_event (const cl::Event &, to_const_matrix_cl_t< T > &)
 
template<>
void stan::math::opencl_kernels::internal::assign_event< in_buffer > (const cl::Event &e, const stan::math::matrix_cl &m)
 
template<>
void stan::math::opencl_kernels::internal::assign_event< out_buffer > (const cl::Event &e, const stan::math::matrix_cl &m)
 
template<>
void stan::math::opencl_kernels::internal::assign_event< in_out_buffer > (const cl::Event &e, const stan::math::matrix_cl &m)
 
template<typename T , typename std::enable_if_t< std::is_same< T, cl::Event >::value, int > = 0>
void stan::math::opencl_kernels::internal::assign_events (const T &)
 
template<typename Arg , typename... Args>
void stan::math::opencl_kernels::internal::assign_events (const cl::Event &new_event, to_const_matrix_cl_t< Arg > &m, to_const_matrix_cl_t< Args > &... args)
 Adds the event to any matrices in the arguments in the event vector specified by the buffer directionality. More...
 
template<typename T >
const std::vector< cl::Event > stan::math::opencl_kernels::internal::select_events (to_const_matrix_cl_t< T > &t)
 
template<>
const std::vector< cl::Event > stan::math::opencl_kernels::internal::select_events< in_buffer > (const stan::math::matrix_cl &m)
 
template<>
const std::vector< cl::Event > stan::math::opencl_kernels::internal::select_events< out_buffer > (const stan::math::matrix_cl &m)
 
template<>
const std::vector< cl::Event > stan::math::opencl_kernels::internal::select_events< in_out_buffer > (const stan::math::matrix_cl &m)
 
auto stan::math::opencl_kernels::compile_kernel (const char *name, const std::vector< const char *> &sources, std::map< const char *, int > &options)
 Compile an OpenCL kernel. More...
 

Macro Definition Documentation

◆ STRINGIFY

#define STRINGIFY (   src)    #src

Definition at line 22 of file kernel_cl.hpp.


     [ Stan Home Page ] © 2011–2018, Stan Development Team.