Automatic Differentiation
 
Loading...
Searching...
No Matches
stan::math::opencl_kernels::internal Namespace Reference

Classes

struct  to_buffer
 kernel_executor_opencl More...
 
struct  to_buffer< in_buffer >
 
struct  to_buffer< in_out_buffer >
 
struct  to_buffer< out_buffer >
 

Typedefs

template<typename T >
using to_const_buffer_t = const typename internal::to_buffer< T >::type
 kernel_executor_opencl Alias for making const cl::Buffer argument types
 

Functions

template<typename T , require_not_matrix_cl_t< T > * = nullptr>
const T & get_kernel_args (const T &t)
 Extracts the kernel's arguments, used in the global and local kernel constructor.
 
template<typename K , require_matrix_cl_t< K > * = nullptr>
const cl::Buffer & get_kernel_args (const K &m)
 Extracts the kernel's arguments, used in the global and local kernel constructor.
 
template<typename T , require_not_matrix_cl_t< T > * = nullptr>
void assign_event (const cl::Event &e, const T &)
 Assigns the event to a matrix_cl.
 
template<typename T , typename K , require_matrix_cl_t< K > * = nullptr, require_same_t< T, in_buffer > * = nullptr>
void assign_event (const cl::Event &e, const K &m)
 
template<typename T , typename K , require_matrix_cl_t< K > * = nullptr, require_same_t< T, out_buffer > * = nullptr>
void assign_event (const cl::Event &e, K &m)
 
template<typename T , require_same_t< T, cl::Event > * = nullptr>
void assign_events (const T &)
 Adds the event to any matrix_cls in the arguments depending on whether they are in_buffer, out_buffer, or in_out_buffers.
 
template<typename Arg , typename... Args, typename CallArg , typename... CallArgs>
void assign_events (const cl::Event &new_event, CallArg &m, CallArgs &... args)
 
template<typename T , require_not_matrix_cl_t< T > * = nullptr>
tbb::concurrent_vector< cl::Event > select_events (const T &m)
 Select events from kernel arguments.
 
template<typename T , typename K , require_matrix_cl_t< K > * = nullptr, require_same_t< T, in_buffer > * = nullptr>
const tbb::concurrent_vector< cl::Event > & select_events (const K &m)
 
template<typename T , typename K , require_matrix_cl_t< K > * = nullptr, require_any_same_t< T, out_buffer, in_out_buffer > * = nullptr>
tbb::concurrent_vector< cl::Event > select_events (K &m)