1 #ifndef PARALUTION_OCL_MATRIX_DENSE_HPP_
2 #define PARALUTION_OCL_MATRIX_DENSE_HPP_
4 #include "../base_matrix.hpp"
5 #include "../base_vector.hpp"
6 #include "../matrix_formats.hpp"
8 #if defined(__APPLE__) && defined(__MACH__)
16 template <
class ValueType>
17 class OCLAcceleratorMatrixDENSE :
public OCLAcceleratorMatrix<ValueType> {
25 virtual void info(
void)
const;
28 virtual void Clear(
void);
61 #endif // PARALUTION_OCL_MATRIX_DENSE_HPP_
virtual void ApplyAdd(const BaseVector< ValueType > &in, const ValueType scalar, BaseVector< ValueType > *out) const
Apply and add the matrix to vector, out = out + scalar*this*in;.
Definition: ocl_matrix_dense.cpp:382
Definition: matrix_formats.hpp:20
virtual bool ExtractRowVector(const int idx, BaseVector< ValueType > *vec) const
Extract values from a row of a matrix to a vector.
Definition: ocl_matrix_dense.cpp:554
virtual void AllocateDENSE(const int nrow, const int ncol)
Allocate DENSE Matrix.
Definition: ocl_matrix_dense.cpp:55
const IndexType idx
Definition: cuda_kernels_coo.hpp:115
virtual bool ConvertFrom(const BaseMatrix< ValueType > &mat)
Convert the matrix from another matrix (with different structure)
Definition: ocl_matrix_dense.cpp:281
Definition: backend_manager.hpp:10
virtual bool ExtractColumnVector(const int idx, BaseVector< ValueType > *vec) const
Extract values from a column of a matrix to a vector.
Definition: ocl_matrix_dense.cpp:500
virtual void CopyToHost(HostMatrix< ValueType > *dst) const
Copy (accelerator matrix) to host matrix.
Definition: ocl_matrix_dense.cpp:143
virtual ~OCLAcceleratorMatrixDENSE()
Definition: ocl_matrix_dense.cpp:38
virtual void info(void) const
Shows simple info about the object.
Definition: ocl_matrix_dense.cpp:48
const IndexType const IndexType const IndexType const ValueType const ValueType scalar
Definition: cuda_kernels_coo.hpp:91
virtual void CopyFromHost(const HostMatrix< ValueType > &src)
Copy (accelerator matrix) from host matrix.
Definition: ocl_matrix_dense.cpp:105
virtual bool ReplaceRowVector(const int idx, const BaseVector< ValueType > &vec)
Replace a column vector of a matrix.
Definition: ocl_matrix_dense.cpp:444
virtual void Clear(void)
Clear (free) the matrix.
Definition: ocl_matrix_dense.cpp:90
virtual unsigned int get_mat_format(void) const
Return the matrix format id (see matrix_formats.hpp)
Definition: ocl_matrix_dense.hpp:26
MatrixDENSE< cl_mem > mat_
Definition: ocl_matrix_dense.hpp:50
Base class for all host/accelerator matrices.
Definition: base_matrix.hpp:92
Definition: backend_manager.cpp:43
virtual void CopyFrom(const BaseMatrix< ValueType > &mat)
Copy from another matrix.
Definition: ocl_matrix_dense.cpp:183
Definition: backend_manager.hpp:14
Definition: base_vector.hpp:19
OCLAcceleratorMatrixDENSE()
Definition: ocl_matrix_dense.cpp:16
Base class for all host/accelerator vectors.
Definition: base_vector.hpp:26
virtual bool ReplaceColumnVector(const int idx, const BaseVector< ValueType > &vec)
Replace a column vector of a matrix.
Definition: ocl_matrix_dense.cpp:390
virtual void Apply(const BaseVector< ValueType > &in, BaseVector< ValueType > *out) const
Apply the matrix to vector, out = this*in;.
Definition: ocl_matrix_dense.cpp:320
virtual void CopyTo(BaseMatrix< ValueType > *mat) const
Copy to another matrix.
Definition: ocl_matrix_dense.cpp:231