GpuSparseMatrix.hpp
Go to the documentation of this file.
92 static GpuSparseMatrix<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 GpuSparseMatrix class simple wrapper class for a CuSparse matrix. Definition: GpuSparseMatrix.hpp:48 GpuSparseMatrix & operator=(const GpuSparseMatrix &)=delete virtual void mv(const GpuVector< T > &x, GpuVector< T > &y) const mv performs matrix vector multiply y = Ax const GpuVector< int > & getRowIndices() const getRowIndices returns the row indices used to represent the BSR structure. Definition: GpuSparseMatrix.hpp:177 const GpuVector< int > & getColumnIndices() const getColumnIndices returns the column indices used to represent the BSR structure. Definition: GpuSparseMatrix.hpp:197 void setNonUnitDiagonal() setNonUnitDiagonal sets the CuSparse flag that this has non-unit diagional. void updateNonzeroValues(const MatrixType &matrix, bool copyNonZeroElementsDirectly=false) updateNonzeroValues updates the non-zero values by using the non-zero values of the supplied matrix detail::GpuSparseMatrixDescription & getDescription() getDescription the cusparse matrix description. Definition: GpuSparseMatrix.hpp:236 GpuVector< int > & getRowIndices() getRowIndices returns the row indices used to represent the BSR structure. Definition: GpuSparseMatrix.hpp:167 const GpuVector< T > & getNonZeroValues() const getNonZeroValues returns the GPU vector containing the non-zero values (ordered by block) Definition: GpuSparseMatrix.hpp:157 size_t nonzeroes() const nonzeroes behaves as the Dune::BCRSMatrix::nonzeros() function and returns the number of non zero blo... Definition: GpuSparseMatrix.hpp:132 size_t blockSize() const blockSize size of the blocks Definition: GpuSparseMatrix.hpp:221 void setUpperTriangular() setUpperTriangular sets the CuSparse flag that this is an upper diagonal (with unit diagonal) matrix. size_t N() const N returns the number of rows (which is equal to the number of columns) Definition: GpuSparseMatrix.hpp:118 virtual void umv(const GpuVector< T > &x, GpuVector< T > &y) const umv computes y=Ax+y virtual ~GpuSparseMatrix() void setLowerTriangular() setLowerTriangular sets the CuSparse flag that this is an lower diagonal (with non-unit diagonal) mat... static GpuSparseMatrix< T > fromMatrix(const MatrixType &matrix, bool copyNonZeroElementsDirectly=false) fromMatrix creates a new matrix with the same block size and values as the given matrix void setUnitDiagonal() setUnitDiagonal sets the CuSparse flag that this has unit diagional. virtual void usmv(T alpha, const GpuVector< T > &x, GpuVector< T > &y) const umv computes y=alpha * Ax + y GpuVector< int > & getColumnIndices() getColumnIndices returns the column indices used to represent the BSR structure. Definition: GpuSparseMatrix.hpp:187 GpuSparseMatrix(const T *nonZeroElements, const int *rowIndices, const int *columnIndices, size_t numberOfNonzeroBlocks, size_t blockSize, size_t numberOfRows) GpuSparseMatrix(const GpuSparseMatrix &)=delete GpuVector< T > & getNonZeroValues() getNonZeroValues returns the GPU vector containing the non-zero values (ordered by block) Definition: GpuSparseMatrix.hpp:147 size_t dim() const dim returns the dimension of the vector space on which this matrix acts Definition: GpuSparseMatrix.hpp:208 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::shared_ptr< CuSparseResource< cusparseMatDescr_t > > GpuSparseMatrixDescriptionPtr Definition: CuMatrixDescription.hpp:35 __host__ __device__ 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:86 Definition: autotuner.hpp:29 |