cusparse_matrix_operations.hpp File Reference
#include <cstddef>
#include <vector>
Include dependency graph for cusparse_matrix_operations.hpp:

Go to the source code of this file.

Namespaces

namespace  Opm
 
namespace  Opm::cuistl
 
namespace  Opm::cuistl::detail
 

Functions

template<class T , int blocksize>
void Opm::cuistl::detail::invertDiagonalAndFlatten (T *mat, int *rowIndices, int *colIndices, size_t numberOfRows, T *vec)
 This function receives a matrix, and the inverse of the matrix containing only its diagonal is stored in d_vec. More...
 
template<class T , int blocksize>
void Opm::cuistl::detail::computeLowerSolveLevelSet (T *reorderedMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const T *dInv, const T *d, T *v)
 Perform a lower solve on certain rows in a matrix that can safely be computed in parallel. More...
 
template<class T , int blocksize>
void Opm::cuistl::detail::computeUpperSolveLevelSet (T *reorderedMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const T *dInv, T *v)
 Perform an upper solve on certain rows in a matrix that can safely be computed in parallel. More...
 
template<class T , int blocksize>
void Opm::cuistl::detail::computeDiluDiagonal (T *reorderedMat, int *rowIndices, int *colIndices, int *reorderedToNatural, int *naturalToReordered, int startIdx, int rowsInLevelSet, T *dInv)
 Computes the ILU0 of the diagonal elements of the reordered matrix and stores it in a reordered vector containing the diagonal blocks. More...
 
template<class T , int blocksize>
void Opm::cuistl::detail::copyMatDataToReordered (T *srcMatrix, int *srcRowIndices, T *dstMatrix, int *dstRowIndices, int *naturalToReordered, size_t numberOfRows)
 Reorders the elements of a matrix by copying them from one matrix to another using a permutation list. More...