Automatic Differentiation
 
Loading...
Searching...
No Matches
stan::math::internal::multi_result_kernel_internal< N, T_results >::inner< T_expressions > Struct Template Reference

Detailed Description

template<int N, typename... T_results>
template<typename... T_expressions>
struct stan::math::internal::multi_result_kernel_internal< N, T_results >::inner< T_expressions >

Definition at line 36 of file multi_result_kernel.hpp.

#include <multi_result_kernel.hpp>

Public Types

using next = typename multi_result_kernel_internal< N - 1, T_results... >::template inner< T_expressions... >
 
using T_current_result = std::remove_reference_t< std::tuple_element_t< N, std::tuple< T_results... > > >
 
using T_current_expression = std::remove_reference_t< std::tuple_element_t< N, std::tuple< T_expressions... > > >
 

Static Public Member Functions

static void get_clear_events (std::vector< cl::Event > &events, const std::tuple< std::pair< T_results, T_expressions >... > &assignment_pairs)
 Generates list of all events kernel assigning expressions to results must wait on.
 
static void check_assign_dimensions (int n_rows, int n_cols, const std::tuple< std::pair< T_results, T_expressions >... > &assignment_pairs)
 Assigns the dimensions of expressions to matching results if possible.
 
static kernel_parts generate (std::unordered_map< const void *, const char * > &generated, std::unordered_map< const void *, const char * > &generated_all, name_generator &ng, const std::string &row_index_name, const std::string &col_index_name, const std::tuple< std::pair< T_results, T_expressions >... > &assignment_pairs)
 Generates kernel source for assignment of expressions to results.
 
static void set_args (std::unordered_map< const void *, const char * > &generated, std::unordered_map< const void *, const char * > &generated_all, cl::Kernel &kernel, int &arg_num, const std::tuple< std::pair< T_results, T_expressions >... > &assignment_pairs)
 Sets kernel arguments.
 
static void add_event (cl::Event e, const std::tuple< std::pair< T_results, T_expressions >... > &assignment_pairs)
 Adds event to matrices used in kernel.
 
static void get_unique_matrix_accesses (std::vector< int > &uids, std::unordered_map< const void *, int > &id_map, int &next_id, const std::tuple< std::pair< T_results, T_expressions >... > &assignment_pairs)
 Collects data that is needed beside types to uniqly identify a kernel.
 

Static Public Attributes

static std::map< std::vector< int >, cl::Kernel > kernel_cache_
 

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