Stan Math Library
4.9.0
Automatic Differentiation
|
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_ |