![]() |
imate
C++/CUDA Reference
|
Base class for constant matrices. More...
#include <cu_matrix.h>


Public Member Functions | |
| cuMatrix () | |
| Default constructor. | |
| cuMatrix (const FlagType A_is_symmetric_) | |
| Constructor. | |
| virtual | ~cuMatrix () |
| Destructor. | |
| virtual void | copy_host_to_device ()=0 |
| DataType | get_eigenvalue (const DataType *known_parameters, const DataType known_eigenvalue, const DataType *inquiry_parameters) const |
| This virtual function is implemented from its pure virtual function of the base class. In this class, this functio has no use and was only implemented so that this class be able to be instantiated (due to the pure virtual function). | |
| virtual FlagType | is_identity_matrix () const =0 |
| virtual void | set_symmetry (const FlagType symmetric) |
| Specify whether the matrix is symmetic or non-symmetric. | |
| virtual void | dot_plus (const DataType *vector, const DataType alpha, DataType *product)=0 |
| virtual void | transpose_dot_plus (const DataType *vector, const DataType alpha, DataType *product)=0 |
Public Member Functions inherited from cuLinearOperator< DataType > | |
| cuLinearOperator () | |
| Default constructor. | |
| cuLinearOperator (const int num_gpu_devices_) | |
Constructor with setting num_rows and num_columns. | |
| virtual | ~cuLinearOperator () |
| Destructor. | |
| cublasHandle_t | get_cublas_handle () const |
This function returns a reference to the cublasHandle_t object. The object will be created, if it is not created already. | |
| void | set_parameters (DataType *parameters_) |
Sets the scalar parameter this->parameters. Parameter is initialized to NULL. However, before calling dot or transpose_dot functions, the parameters must be set. | |
| virtual void | dot (const DataType *vector, DataType *product)=0 |
| virtual void | transpose_dot (const DataType *vector, DataType *product)=0 |
Public Member Functions inherited from cLinearOperatorBase | |
| cLinearOperatorBase () | |
| Default constructor. | |
| cLinearOperatorBase (const LongIndexType num_rows_, const LongIndexType num_columns_) | |
Constructor with setting num_rows and num_columns. | |
| virtual | ~cLinearOperatorBase () |
| Destructor. | |
| LongIndexType | get_num_rows () const |
| Returns the number of rows of the matrix. | |
| LongIndexType | get_num_columns () const |
| Returns the number of columns of the matrix. | |
| IndexType | get_num_parameters () const |
| Returns the number of parameters of the linear operator. | |
| FlagType | is_eigenvalue_relation_known () const |
| Returns a flag that determines whether a relation between the parameters of the operator and its eigenvalue(s) is known. | |
Protected Attributes | |
| FlagType | A_is_symmetric |
Protected Attributes inherited from cuLinearOperator< DataType > | |
| int | num_gpu_devices |
| bool | copied_host_to_device |
| cublasHandle_t * | cublas_handle |
| cusparseHandle_t * | cusparse_handle |
| DataType * | parameters |
Protected Attributes inherited from cLinearOperatorBase | |
| const LongIndexType | num_rows |
| const LongIndexType | num_columns |
| FlagType | eigenvalue_relation_known |
| IndexType | num_parameters |
Additional Inherited Members | |
Protected Member Functions inherited from cuLinearOperator< DataType > | |
| int | query_gpu_devices () const |
| Before any numerical computation, this method chechs if any gpu device is available on the machine, or notifies the user if nothing was found. | |
| void | initialize_cublas_handle () |
Creates a cublasHandle_t object, if not created already. | |
| void | initialize_cusparse_handle () |
Creates a cusparseHandle_t object, if not created already. | |
Base class for constant matrices.
The prefix c in this class's name (and its derivatves), stands for the cpp code, intrast to the cu prefix, which stands for the cuda code. Most derived classes have a cuda counterpart.
Definition at line 44 of file cu_matrix.h.
| cuMatrix< DataType >::cuMatrix | ( | ) |
Default constructor.
Definition at line 30 of file cu_matrix.cu.
|
explicit |
Constructor.
| [in] | A_is_symmetric_ | If 1, it is assumed that the matrix is symmetric, otherwise set to 0. |
Definition at line 49 of file cu_matrix.cu.
|
pure virtual |
Implemented in cuCSCMatrix< DataType >, cuCSRMatrix< DataType >, and cuDenseMatrix< DataType >.
|
pure virtual |
Implemented in cuCSCMatrix< DataType >, cuCSRMatrix< DataType >, and cuDenseMatrix< DataType >.
|
virtual |
This virtual function is implemented from its pure virtual function of the base class. In this class, this functio has no use and was only implemented so that this class be able to be instantiated (due to the pure virtual function).
| [in] | known_parameters | A set of parameters of the operator where the corresponding eigenvalue of the parameter is known for. |
| [in] | known_eigenvalue | The known eigenvalue of the operator for the known parameters. |
| [in] | inquiry_parameters | A set of inquiry parameters of the operator where the corresponding eigenvalue of the operator is sought. |
Implements cuLinearOperator< DataType >.
Definition at line 118 of file cu_matrix.cu.
|
pure virtual |
Implemented in cuCSCMatrix< DataType >, cuCSRMatrix< DataType >, and cuDenseMatrix< DataType >.
|
virtual |
Specify whether the matrix is symmetic or non-symmetric.
This function overwrites the symmetry status that has been set by the constructor.
| [in] | symmetric | Boolean. If set to 1, the matrix is assumed to be symmetric. Otherwiese non-symmetric. |
Implements cLinearOperatorBase.
Definition at line 84 of file cu_matrix.cu.
|
pure virtual |
Implemented in cuCSCMatrix< DataType >, cuCSRMatrix< DataType >, and cuDenseMatrix< DataType >.
Definition at line 79 of file cu_matrix.h.