#include <cstddef>
#include <cuda.h>
#include <cuda_runtime.h>
#include <opm/simulators/linalg/gpuistl/detail/kernel_enums.hpp>
#include <vector>
Go to the source code of this file.
|
template<class T , int blocksize> |
void | Opm::gpuistl::detail::DILU::solveLowerLevelSet (T *reorderedMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const T *dInv, const T *d, T *v, int threadBlockSize, cudaStream_t stream) |
| Perform a lower solve on certain rows in a matrix that can safely be computed in parallel. More...
|
|
template<int blocksize, class LinearSolverScalar , class MatrixScalar , class DiagonalScalar > |
void | Opm::gpuistl::detail::DILU::solveLowerLevelSetSplit (MatrixScalar *reorderedUpperMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const DiagonalScalar *dInv, const LinearSolverScalar *d, LinearSolverScalar *v, int threadBlockSize, cudaStream_t stream) |
| 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::DILU::solveUpperLevelSet (T *reorderedMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const T *dInv, T *v, int threadBlockSize, cudaStream_t stream) |
| Perform an upper solve on certain rows in a matrix that can safely be computed in parallel. More...
|
|
template<int blocksize, class LinearSolverScalar , class MatrixScalar , class DiagonalScalar > |
void | Opm::gpuistl::detail::DILU::solveUpperLevelSetSplit (MatrixScalar *reorderedUpperMat, int *rowIndices, int *colIndices, int *indexConversion, int startIdx, int rowsInLevelSet, const DiagonalScalar *dInv, LinearSolverScalar *v, int threadBlockSize, cudaStream_t stream) |
| 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::DILU::computeDiluDiagonal (T *reorderedMat, int *rowIndices, int *colIndices, int *reorderedToNatural, int *naturalToReordered, int startIdx, int rowsInLevelSet, T *dInv, int threadBlockSize) |
| Computes the ILU0 of the diagonal elements of the reordered matrix and stores it in a reordered vector containing the diagonal blocks. More...
|
|
template<int blocksize, class InputScalar , class OutputScalar , MatrixStorageMPScheme > |
void | Opm::gpuistl::detail::DILU::computeDiluDiagonalSplit (const InputScalar *srcReorderedLowerMat, int *lowerRowIndices, int *lowerColIndices, const InputScalar *srcReorderedUpperMat, int *upperRowIndices, int *upperColIndices, const InputScalar *srcDiagonal, int *reorderedToNatural, int *naturalToReordered, int startIdx, int rowsInLevelSet, InputScalar *dInv, OutputScalar *dstDiagonal, OutputScalar *dstLowerMat, OutputScalar *dstUpperMat, int threadBlockSize) |
| Computes the ILU0 of the diagonal elements of the split reordered matrix and stores it in a reordered vector containing the diagonal blocks. More...
|
|
|