remora::dense_matrix_adaptor< T, Orientation, gpu_tag > Class Template Reference

#include <shark/LinAlg/BLAS/gpu/matrix_proxy_classes.hpp>

+ Inheritance diagram for remora::dense_matrix_adaptor< T, Orientation, gpu_tag >:

Public Types

typedef value_type const & const_reference
 
typedef T & reference
 
typedef Orientation orientation
 
typedef elementwise< dense_tag > evaluation_category
 
typedef boost::compute::strided_iterator< boost::compute::buffer_iterator< T > > row_iterator
 
typedef boost::compute::strided_iterator< boost::compute::buffer_iterator< T > > column_iterator
 
typedef boost::compute::strided_iterator< boost::compute::buffer_iterator< T const > > const_row_iterator
 
typedef boost::compute::strided_iterator< boost::compute::buffer_iterator< T const > > const_column_iterator
 

Public Member Functions

 dense_matrix_adaptor (dense_matrix_adaptor< value_type, Orientation > const &expression)
 
 dense_matrix_adaptor (storage_type storage, boost::compute::command_queue &queue, size_type size1, size_type size2)
 Constructor of a vector proxy from a block of memory. More...
 
template<class E >
 dense_matrix_adaptor (vector_expression< E, gpu_tag > const &expression, std::size_t size1, std::size_t size2)
 
template<class E >
 dense_matrix_adaptor (vector_expression< E, gpu_tag > &expression, std::size_t size1, std::size_t size2)
 
dense_matrix_adaptoroperator= (dense_matrix_adaptor const &e)
 
template<class E >
dense_matrix_adaptoroperator= (matrix_expression< E, gpu_tag > const &e)
 
size_type size1 () const
 Returns the number of rows of the matrix. More...
 
size_type size2 () const
 Returns the number of columns of the matrix. More...
 
boost::compute::command_queue & queue () const
 
storage_type raw_storage ()
 Returns the underlying storage structure for low level access. More...
 
const_storage_type raw_storage () const
 Returns the underlying storage structure for low level access. More...
 
template<class IndexExpr1 , class IndexExpr2 >
auto operator() (IndexExpr1 const &i, IndexExpr2 const &j) const -> decltype(std::declval< dense_matrix_adaptor const &>().get_element(i, j, orientation()))
 
const_row_iterator row_begin (size_type i) const
 
const_row_iterator row_end (size_type i) const
 
const_row_iterator column_begin (size_type j) const
 
const_column_iterator column_end (size_type j) const
 
row_iterator row_begin (size_type i)
 
row_iterator row_end (size_type i)
 
row_iterator column_begin (size_type j)
 
column_iterator column_end (size_type j)
 
- Public Member Functions inherited from remora::matrix_expression< dense_matrix_adaptor< T, Orientation, gpu_tag >, gpu_tag >
const expression_type & operator() () const
 
expression_type & operator() ()
 

Detailed Description

template<class T, class Orientation>
class remora::dense_matrix_adaptor< T, Orientation, gpu_tag >

Definition at line 58 of file matrix_proxy_classes.hpp.

Member Typedef Documentation

◆ column_iterator

template<class T , class Orientation >
typedef boost::compute::strided_iterator<boost::compute::buffer_iterator<T> > remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::column_iterator

Definition at line 187 of file matrix_proxy_classes.hpp.

◆ const_column_iterator

template<class T , class Orientation >
typedef boost::compute::strided_iterator<boost::compute::buffer_iterator<T const> > remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::const_column_iterator

Definition at line 189 of file matrix_proxy_classes.hpp.

◆ const_reference

template<class T , class Orientation >
typedef value_type const& remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::const_reference

Definition at line 77 of file matrix_proxy_classes.hpp.

◆ const_row_iterator

template<class T , class Orientation >
typedef boost::compute::strided_iterator<boost::compute::buffer_iterator<T const> > remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::const_row_iterator

Definition at line 188 of file matrix_proxy_classes.hpp.

◆ evaluation_category

template<class T , class Orientation >
typedef elementwise<dense_tag> remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::evaluation_category

Definition at line 85 of file matrix_proxy_classes.hpp.

◆ orientation

template<class T , class Orientation >
typedef Orientation remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::orientation

Definition at line 84 of file matrix_proxy_classes.hpp.

◆ reference

template<class T , class Orientation >
typedef T& remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::reference

Definition at line 78 of file matrix_proxy_classes.hpp.

◆ row_iterator

template<class T , class Orientation >
typedef boost::compute::strided_iterator<boost::compute::buffer_iterator<T> > remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::row_iterator

Definition at line 186 of file matrix_proxy_classes.hpp.

Constructor & Destructor Documentation

◆ dense_matrix_adaptor() [1/4]

template<class T , class Orientation >
remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::dense_matrix_adaptor ( dense_matrix_adaptor< value_type, Orientation > const &  expression)
inline

Definition at line 89 of file matrix_proxy_classes.hpp.

◆ dense_matrix_adaptor() [2/4]

template<class T , class Orientation >
remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::dense_matrix_adaptor ( storage_type  storage,
boost::compute::command_queue &  queue,
size_type  size1,
size_type  size2 
)
inline

Constructor of a vector proxy from a block of memory.

Parameters
valuesthe block of memory used
size1size in 1st direction
size2size in 2nd direction
stride1distance in 1st direction between elements of the dense_matrix_adaptor in memory
stride2distance in 2nd direction between elements of the dense_matrix_adaptor in memory

Definition at line 102 of file matrix_proxy_classes.hpp.

◆ dense_matrix_adaptor() [3/4]

template<class T , class Orientation >
template<class E >
remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::dense_matrix_adaptor ( vector_expression< E, gpu_tag > const &  expression,
std::size_t  size1,
std::size_t  size2 
)
inline

◆ dense_matrix_adaptor() [4/4]

template<class T , class Orientation >
template<class E >
remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::dense_matrix_adaptor ( vector_expression< E, gpu_tag > &  expression,
std::size_t  size1,
std::size_t  size2 
)
inline

Member Function Documentation

◆ column_begin() [1/2]

template<class T , class Orientation >
const_row_iterator remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::column_begin ( size_type  j) const
inline

Definition at line 198 of file matrix_proxy_classes.hpp.

◆ column_begin() [2/2]

template<class T , class Orientation >
row_iterator remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::column_begin ( size_type  j)
inline

Definition at line 212 of file matrix_proxy_classes.hpp.

◆ column_end() [1/2]

template<class T , class Orientation >
const_column_iterator remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::column_end ( size_type  j) const
inline

Definition at line 201 of file matrix_proxy_classes.hpp.

◆ column_end() [2/2]

template<class T , class Orientation >
column_iterator remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::column_end ( size_type  j)
inline

Definition at line 215 of file matrix_proxy_classes.hpp.

◆ operator()()

template<class T , class Orientation >
template<class IndexExpr1 , class IndexExpr2 >
auto remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::operator() ( IndexExpr1 const &  i,
IndexExpr2 const &  j 
) const -> decltype(std::declval<dense_matrix_adaptor const&>().get_element(i,j,orientation()))
inline

Definition at line 181 of file matrix_proxy_classes.hpp.

◆ operator=() [1/2]

template<class T , class Orientation >
dense_matrix_adaptor& remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::operator= ( dense_matrix_adaptor< T, Orientation, gpu_tag > const &  e)
inline

Definition at line 141 of file matrix_proxy_classes.hpp.

References remora::detail::assign().

◆ operator=() [2/2]

template<class T , class Orientation >
template<class E >
dense_matrix_adaptor& remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::operator= ( matrix_expression< E, gpu_tag > const &  e)
inline

Definition at line 147 of file matrix_proxy_classes.hpp.

References remora::detail::assign().

◆ queue()

template<class T , class Orientation >
boost::compute::command_queue& remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::queue ( ) const
inline

Definition at line 166 of file matrix_proxy_classes.hpp.

◆ raw_storage() [1/2]

template<class T , class Orientation >
storage_type remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::raw_storage ( )
inline

Returns the underlying storage structure for low level access.

Definition at line 170 of file matrix_proxy_classes.hpp.

References remora::gpu::dense_matrix_storage< T >::buffer.

◆ raw_storage() [2/2]

template<class T , class Orientation >
const_storage_type remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::raw_storage ( ) const
inline

Returns the underlying storage structure for low level access.

Definition at line 175 of file matrix_proxy_classes.hpp.

References remora::gpu::dense_matrix_storage< T >::buffer.

◆ row_begin() [1/2]

template<class T , class Orientation >
const_row_iterator remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::row_begin ( size_type  i) const
inline

Definition at line 191 of file matrix_proxy_classes.hpp.

◆ row_begin() [2/2]

template<class T , class Orientation >
row_iterator remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::row_begin ( size_type  i)
inline

Definition at line 205 of file matrix_proxy_classes.hpp.

◆ row_end() [1/2]

template<class T , class Orientation >
const_row_iterator remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::row_end ( size_type  i) const
inline

Definition at line 194 of file matrix_proxy_classes.hpp.

◆ row_end() [2/2]

template<class T , class Orientation >
row_iterator remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::row_end ( size_type  i)
inline

Definition at line 208 of file matrix_proxy_classes.hpp.

◆ size1()

template<class T , class Orientation >
size_type remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::size1 ( ) const
inline

Returns the number of rows of the matrix.

Definition at line 158 of file matrix_proxy_classes.hpp.

◆ size2()

template<class T , class Orientation >
size_type remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::size2 ( ) const
inline

Returns the number of columns of the matrix.

Definition at line 162 of file matrix_proxy_classes.hpp.


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