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> 42 template <
class T,
int blocksize>
44 const int* srcRowIndices,
47 int* naturalToReordered,
67 template <
class T,
int blocksize>
69 const int* srcRowIndices,
70 const int* srcColumnIndices,
72 int* dstLowerRowIndices,
74 int* dstUpperRowIndices,
76 int* naturalToReordered,
86 GpuBuffer<T*>
getDiagPtrs(GpuSparseMatrixWrapper<T>& matrix);
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...
GpuBuffer< T * > getDiagPtrs(GpuSparseMatrixWrapper< T > &matrix)
Return the pointers to diagonal elements in a GpuBuffer.
Contains wrappers to make the CuBLAS library behave as a modern C++ library with function overlading...
Definition: autotuner.hpp:29
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...