12#ifndef _CU_LINEAR_OPERATOR_CU_DENSE_MATRIX_H_
13#define _CU_LINEAR_OPERATOR_CU_DENSE_MATRIX_H_
20#include "../_definitions/types.h"
42template <
typename DataType>
56 const int num_gpu_devices_);
63 const DataType* device_vector,
64 DataType* device_product);
67 const DataType* device_vector,
69 DataType* device_product);
72 const DataType* device_vector,
73 DataType* device_product);
76 const DataType* device_vector,
78 DataType* device_product);
Container for dense matrices.
virtual void transpose_dot_plus(const DataType *device_vector, const DataType alpha, DataType *device_product)
Transposed-matrix vector product written in place.
virtual void transpose_dot(const DataType *device_vector, DataType *device_product)
Transposed-matrix vector product.
virtual FlagType is_identity_matrix() const
Checks whether the matrix is identity.
virtual void dot_plus(const DataType *device_vector, const DataType alpha, DataType *device_product)
Matrix vector product written in place.
cuDenseMatrix()
Default constructor.
virtual void copy_host_to_device()
Copies the member data from the host memory to the device memory.
virtual ~cuDenseMatrix()
Destructor. This function removes data from GPU devices.
const FlagType A_is_row_major
virtual void dot(const DataType *device_vector, DataType *device_product)
Matrix vector product.
Base class for constant matrices.