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

Go to the source code of this file.

Namespaces

namespace  Opm
 
namespace  Opm::gpuistl
 
namespace  Opm::gpuistl::detail
 
namespace  Opm::gpuistl::detail::ILU0
 

Functions

template<class T , int blocksize>
void Opm::gpuistl::detail::ILU0::solveUpperLevelSet (T *reorderedMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, T *v, int threadBlockSize)
 Perform a upper solve on certain rows in a matrix that can safely be computed in parallel. More...
 
template<class T , int blocksize>
void Opm::gpuistl::detail::ILU0::solveLowerLevelSet (T *reorderedMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const T *d, T *v, int threadBlockSize)
 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::gpuistl::detail::ILU0::solveUpperLevelSetSplit (T *reorderedMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const T *dInv, T *v, int threadBlockSize)
 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::gpuistl::detail::ILU0::solveLowerLevelSetSplit (T *reorderedLowerMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const T *d, T *v, int threadBlockSize)
 Perform an lower solve on certain rows in a matrix that can safely be computed in parallel. More...
 
template<class T , int blocksize>
void Opm::gpuistl::detail::ILU0::LUFactorization (T *reorderedMat, int *rowIndices, int *columnIndices, int *naturalToReordered, int *reorderedToNatual, size_t rowsInLevelSet, int startIdx, int threadBlockSize)
 Computes the ILU Factorization of the input bcsr matrix, which is stored in a reordered way. The diagonal elements store the inverse of the diagonal entries. More...
 
template<class T , int blocksize>
void Opm::gpuistl::detail::ILU0::LUFactorizationSplit (T *reorderedLowerMat, int *lowerRowIndices, int *lowerColIndices, T *reorderedUpperMat, int *upperRowIndices, int *upperColIndices, T *diagonal, int *reorderedToNatural, int *naturalToReordered, int startIdx, int rowsInLevelSet, int threadBlockSize)
 Computes the ILU0 factorization in-place of a bcsr matrix stored in a split format (lower, diagonal and upper triangular part) More...