CuSparseMatrix.hpp
Go to the documentation of this file.
92 static CuSparseMatrix<T> fromMatrix(const MatrixType& matrix, bool copyNonZeroElementsDirectly = false);
123 // We don't believe this will yield any performance penality (it's used too far away from the inner loop),
137 // We don't believe this will yield any performance penality (it's used too far away from the inner loop),
213 // We don't believe this will yield any performance penality (it's used too far away from the inner loop),
226 // We don't believe this will yield any performance penality (it's used too far away from the inner loop),
The CuSparseMatrix class simple wrapper class for a CuSparse matrix. Definition: CuSparseMatrix.hpp:48 const CuVector< T > & getNonZeroValues() const getNonZeroValues returns the GPU vector containing the non-zero values (ordered by block) Definition: CuSparseMatrix.hpp:157 size_t nonzeroes() const nonzeroes behaves as the Dune::BCRSMatrix::nonzeros() function and returns the number of non zero blo... Definition: CuSparseMatrix.hpp:132 detail::CuSparseMatrixDescription & getDescription() getDescription the cusparse matrix description. Definition: CuSparseMatrix.hpp:236 size_t N() const N returns the number of rows (which is equal to the number of columns) Definition: CuSparseMatrix.hpp:118 CuVector< int > & getColumnIndices() getColumnIndices returns the column indices used to represent the BSR structure. Definition: CuSparseMatrix.hpp:187 virtual void umv(const CuVector< T > &x, CuVector< T > &y) const umv computes y=Ax+y const CuVector< int > & getRowIndices() const getRowIndices returns the row indices used to represent the BSR structure. Definition: CuSparseMatrix.hpp:177 void setNonUnitDiagonal() setNonUnitDiagonal sets the CuSparse flag that this has non-unit diagional. static CuSparseMatrix< T > fromMatrix(const MatrixType &matrix, bool copyNonZeroElementsDirectly=false) fromMatrix creates a new matrix with the same block size and values as the given matrix CuSparseMatrix(const T *nonZeroElements, const int *rowIndices, const int *columnIndices, size_t numberOfNonzeroBlocks, size_t blockSize, size_t numberOfRows) CuSparseMatrix(const CuSparseMatrix &)=delete CuSparseMatrix & operator=(const CuSparseMatrix &)=delete size_t dim() const dim returns the dimension of the vector space on which this matrix acts Definition: CuSparseMatrix.hpp:208 virtual void mv(const CuVector< T > &x, CuVector< T > &y) const mv performs matrix vector multiply y = Ax void setLowerTriangular() setLowerTriangular sets the CuSparse flag that this is an lower diagonal (with non-unit diagonal) mat... void updateNonzeroValues(const MatrixType &matrix, bool copyNonZeroElementsDirectly=false) updateNonzeroValues updates the non-zero values by using the non-zero values of the supplied matrix void setUnitDiagonal() setUnitDiagonal sets the CuSparse flag that this has unit diagional. size_t blockSize() const blockSize size of the blocks Definition: CuSparseMatrix.hpp:221 const CuVector< int > & getColumnIndices() const getColumnIndices returns the column indices used to represent the BSR structure. Definition: CuSparseMatrix.hpp:197 CuVector< T > & getNonZeroValues() getNonZeroValues returns the GPU vector containing the non-zero values (ordered by block) Definition: CuSparseMatrix.hpp:147 void setUpperTriangular() setUpperTriangular sets the CuSparse flag that this is an upper diagonal (with unit diagonal) matrix. virtual void usmv(T alpha, const CuVector< T > &x, CuVector< T > &y) const umv computes y=alpha * Ax + y CuVector< int > & getRowIndices() getRowIndices returns the row indices used to represent the BSR structure. Definition: CuSparseMatrix.hpp:167 virtual ~CuSparseMatrix() The CuSparseHandle class provides a singleton for the simulator universal cuSparseHandle. Definition: CuSparseHandle.hpp:41 The CuSparseResource class wraps a CuSparse resource in a proper RAII pattern. Definition: CuSparseResource.hpp:55 std::size_t to_size_t(int i) to_size_t converts a (on most relevant platforms) a 32 bit signed int to a 64 bits unsigned int Definition: safe_conversion.hpp:85 std::shared_ptr< CuSparseResource< cusparseMatDescr_t > > CuSparseMatrixDescriptionPtr Definition: CuMatrixDescription.hpp:35 Definition: CuBlockPreconditioner.hpp:29 |