Data Structures | Namespaces | Functions

/data/development/ViennaCL/dev/viennacl/matrix.hpp File Reference

Implementation of the dense matrix class. More...

#include "viennacl/forwards.h"
#include "viennacl/ocl/backend.hpp"
#include "viennacl/scalar.hpp"
#include "viennacl/vector.hpp"
#include "viennacl/linalg/matrix_operations.hpp"
#include "viennacl/tools/tools.hpp"
#include "viennacl/tools/matrix_size_deducer.hpp"
#include "viennacl/tools/matrix_kernel_class_deducer.hpp"
#include "viennacl/meta/result_of.hpp"

Go to the source code of this file.

Data Structures

struct  row_major
 A tag for row-major storage of a dense matrix. More...
struct  column_major
class  matrix_expression< LHS, RHS, OP >
struct  row_iteration
 A tag indicating iteration along increasing row index of a matrix. More...
struct  col_iteration
 A tag indicating iteration along increasing columns index of a matrix. More...
class  matrix_iterator< ROWCOL, MATRIXTYPE >
class  matrix< SCALARTYPE, F, ALIGNMENT >
 A dense matrix class. More...

Namespaces

namespace  viennacl

Functions

template<class SCALARTYPE , typename F , unsigned int ALIGNMENT>
std::ostream & operator<< (std::ostream &s, const matrix< SCALARTYPE, F, ALIGNMENT > &gpu_matrix)
 Prints the matrix. Output is compatible to boost::numeric::ublas.
template<typename LHS , typename RHS , typename OP >
std::ostream & operator<< (std::ostream &s, const matrix_expression< LHS, RHS, OP > &expr)
 Prints the matrix. Output is compatible to boost::numeric::ublas.
template<class SCALARTYPE , typename F , unsigned int ALIGNMENT>
matrix_expression< const
matrix< SCALARTYPE, F,
ALIGNMENT >, const matrix
< SCALARTYPE, F, ALIGNMENT >
, op_trans > 
trans (const matrix< SCALARTYPE, F, ALIGNMENT > &mat)
 Returns an expression template class representing a transposed matrix.
template<typename CPU_MATRIX , typename SCALARTYPE , typename F , unsigned int ALIGNMENT>
void copy (const CPU_MATRIX &cpu_matrix, matrix< SCALARTYPE, F, ALIGNMENT > &gpu_matrix)
 Copies a dense matrix from the host (CPU) to the OpenCL device (GPU or multi-core CPU).
template<typename SCALARTYPE , typename A1 , typename A2 , typename F , unsigned int ALIGNMENT>
void copy (const std::vector< std::vector< SCALARTYPE, A1 >, A2 > &cpu_matrix, matrix< SCALARTYPE, F, ALIGNMENT > &gpu_matrix)
 Copies a dense STL-type matrix from the host (CPU) to the OpenCL device (GPU or multi-core CPU).
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT>
void fast_copy (SCALARTYPE *cpu_matrix_begin, SCALARTYPE *cpu_matrix_end, matrix< SCALARTYPE, F, ALIGNMENT > &gpu_matrix)
 Copies a dense matrix from the host (CPU) to the OpenCL device (GPU or multi-core CPU) without temporary. Matrix-Layout on CPU must be equal to the matrix-layout on the GPU.
template<typename CPU_MATRIX , typename SCALARTYPE , typename F , unsigned int ALIGNMENT>
void copy (const matrix< SCALARTYPE, F, ALIGNMENT > &gpu_matrix, CPU_MATRIX &cpu_matrix)
 Copies a dense matrix from the OpenCL device (GPU or multi-core CPU) to the host (CPU).
template<typename SCALARTYPE , typename A1 , typename A2 , typename F , unsigned int ALIGNMENT>
void copy (const matrix< SCALARTYPE, F, ALIGNMENT > &gpu_matrix, std::vector< std::vector< SCALARTYPE, A1 >, A2 > &cpu_matrix)
 Copies a dense matrix from the OpenCL device (GPU or multi-core CPU) to the host (CPU).
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT>
void fast_copy (const matrix< SCALARTYPE, F, ALIGNMENT > &gpu_matrix, SCALARTYPE *cpu_matrix_begin)
 Copies a dense matrix from the OpenCL device (GPU or multi-core CPU) to the host (CPU).
template<typename CPU_SCALAR , typename SCALARTYPE , unsigned int VECTOR_ALIGNMENT>
viennacl::matrix_expression
< const
viennacl::matrix_expression
< const viennacl::vector
< SCALARTYPE, VECTOR_ALIGNMENT >
, const viennacl::vector
< SCALARTYPE, VECTOR_ALIGNMENT >
, op_prod >, const SCALARTYPE,
op_prod > 
operator* (const viennacl::matrix_expression< const viennacl::vector< SCALARTYPE, VECTOR_ALIGNMENT >, const viennacl::vector< SCALARTYPE, VECTOR_ALIGNMENT >, op_prod > &proxy, CPU_SCALAR const &val)
template<typename CPU_SCALAR , typename SCALARTYPE , unsigned int VA1, unsigned int VA2>
viennacl::matrix_expression
< const
viennacl::matrix_expression
< const viennacl::vector
< SCALARTYPE, VA1 >, const
viennacl::vector< SCALARTYPE,
VA2 >, op_prod >, const
SCALARTYPE, op_prod > 
operator* (CPU_SCALAR const &val, viennacl::matrix_expression< const viennacl::vector< SCALARTYPE, VA1 >, const viennacl::vector< SCALARTYPE, VA2 >, op_prod > const &proxy)

Detailed Description

Implementation of the dense matrix class.