Stan Math Library
5.0.0
Automatic Differentiation
|
Definition at line 15 of file arena_matrix_cl.hpp.
#include <arena_matrix_cl.hpp>
Public Types | |
using | Scalar = typename matrix_cl< T >::Scalar |
using | type = typename matrix_cl< T >::type |
Public Member Functions | |
template<typename... Args> | |
arena_matrix_cl_impl (Args &&... args) | |
arena_matrix_cl_impl (const arena_matrix_cl_impl< T > &)=default | |
arena_matrix_cl_impl (arena_matrix_cl_impl< T > &)=default | |
arena_matrix_cl_impl (arena_matrix_cl_impl< T > &&)=default | |
arena_matrix_cl_impl< T > & | operator= (const arena_matrix_cl_impl< T > &)=default |
arena_matrix_cl_impl< T > & | operator= (arena_matrix_cl_impl< T > &&)=default |
template<matrix_cl_view matrix_view = matrix_cl_view::Entire> | |
void | zeros_strict_tri () |
Stores zeros in the strict's triangular part (excluding the diagonal) of a matrix on the OpenCL device. | |
int | rows () const |
int | cols () const |
int | size () const |
const matrix_cl_view & | view () const |
void | view (const matrix_cl_view &view) |
void | clear_write_events () const |
Clear the write events from the event stacks. | |
void | clear_read_events () const |
Clear the read events from the event stacks. | |
void | clear_read_write_events () const |
Clear the write events from the event stacks. | |
const tbb::concurrent_vector< cl::Event > & | write_events () const |
Get the events from the event stacks. | |
const tbb::concurrent_vector< cl::Event > & | read_events () const |
Get the events from the event stacks. | |
const tbb::concurrent_vector< cl::Event > | read_write_events () const |
Get the events from the event stacks. | |
void | add_read_event (cl::Event new_event) const |
Add an event to the read event stack. | |
void | add_write_event (cl::Event new_event) const |
Add an event to the write event stack. | |
void | add_read_write_event (cl::Event new_event) const |
Add an event to the read/write event stack. | |
void | wait_for_write_events () const |
Waits for the write events and clears the read event stack. | |
void | wait_for_read_events () const |
Waits for the read events and clears the read event stack. | |
void | wait_for_read_write_events () const |
Waits for read and write events to finish and clears the read, write, and read/write event stacks. | |
const cl::Buffer & | buffer () const |
cl::Buffer & | buffer () |
const matrix_cl< T > & | eval () const & |
Evaluates this . | |
matrix_cl< T > | eval () && |
void | setZero () |
Set the values of a matrix_cl to zero. | |
Private Member Functions | |
template<bool in_order = false> | |
cl::Event | initialize_buffer (const T *A) |
Initializes the OpenCL buffer of this matrix by copying the data from given buffer. | |
template<bool in_order = false> | |
cl::Event | initialize_buffer (T *A) |
template<bool No_heap, typename U , std::enable_if_t< No_heap > * = nullptr> | |
void | initialize_buffer_no_heap_if (U &&obj) |
Initializes the OpenCL buffer of this matrix by copying the data from given object. | |
template<bool No_heap, typename U , std::enable_if_t<!No_heap > * = nullptr> | |
void | initialize_buffer_no_heap_if (U &&obj) |
void | initialize_buffer_cl (const matrix_cl< T > &A) |
Initializes the OpenCL buffer of this matrix by copying the data from given matrix_cl. | |
Static Private Member Functions | |
template<typename U > | |
static void | delete_it_event (cl_event e, cl_int status, void *container) |
Deletes the container. | |
template<typename U > | |
static void | delete_it_destructor (cl_mem buff, void *container) |
Deletes the container. | |
Private Attributes | |
cl::Buffer | buffer_cl_ |
int | rows_ {0} |
int | cols_ {0} |
matrix_cl_view | view_ {matrix_cl_view::Entire} |
tbb::concurrent_vector< cl::Event > | write_events_ |
tbb::concurrent_vector< cl::Event > | read_events_ |