19#ifndef OPM_GPUISTL_GPUSPARSE_MATRIX_OPERATIONS_HPP
20#define OPM_GPUISTL_GPUSPARSE_MATRIX_OPERATIONS_HPP
23#include <opm/simulators/linalg/gpuistl/GpuBuffer.hpp>
24#include <opm/simulators/linalg/gpuistl/GpuSparseMatrixWrapper.hpp>
25#include <opm/simulators/linalg/gpuistl/detail/gpuThreadUtils.hpp>
27#include <cuda_runtime.h>
42template <
class T,
int blocksize>
44 const int* srcRowIndices,
47 int* naturalToReordered,
67template <
class T,
int blocksize>
69 const int* srcRowIndices,
70 const int* srcColumnIndices,
72 int* dstLowerRowIndices,
74 int* dstUpperRowIndices,
76 int* naturalToReordered,
The GpuSparseMatrixWrapper Checks CUDA/HIP version and dispatches a version either using the old or t...
Definition GpuSparseMatrixWrapper.hpp:62
Contains wrappers to make the CuBLAS library behave as a modern C++ library with function overlading.
Definition autotuner.hpp:30
void copyMatDataToReorderedSplit(const T *srcMatrix, const int *srcRowIndices, const int *srcColumnIndices, T *dstLowerMatrix, int *dstLowerRowIndices, T *dstUpperMatrix, int *dstUpperRowIndices, T *dstDiag, int *naturalToReordered, size_t numberOfRows, int threadBlockSize)
Reorders the elements of a matrix by copying them from one matrix to a split matrix using a permutati...
void copyMatDataToReordered(const T *srcMatrix, const int *srcRowIndices, T *dstMatrix, int *dstRowIndices, int *naturalToReordered, size_t numberOfRows, int threadBlockSize)
Reorders the elements of a matrix by copying them from one matrix to another using a permutation list...
GpuBuffer< T * > getDiagPtrs(GpuSparseMatrixWrapper< T > &matrix)
Return the pointers to diagonal elements in a GpuBuffer.