vector_operations.hpp File Reference
#include <cstddef>
#include <cublas_v2.h>
Include dependency graph for vector_operations.hpp:

Go to the source code of this file.

Namespaces

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

Functions

template<class T >
void Opm::cuistl::detail::setVectorValue (T *deviceData, size_t numberOfElements, const T &value)
 setVectorValue sets every element of deviceData to value More...
 
template<class T >
void Opm::cuistl::detail::setZeroAtIndexSet (T *deviceData, size_t numberOfElements, const int *indices)
 setZeroAtIndexSet sets deviceData to zero in the indices of contained in indices More...
 
template<class T >
Opm::cuistl::detail::innerProductAtIndices (cublasHandle_t cublasHandle, const T *deviceA, const T *deviceB, T *buffer, size_t numberOfElements, const int *indices)
 innerProductAtIndices computes the inner product between deviceA[indices] and deviceB[indices] More...
 
template<class T >
void Opm::cuistl::detail::prepareSendBuf (const T *deviceA, T *buffer, size_t numberOfElements, const int *indices)
 
template<class T >
void Opm::cuistl::detail::syncFromRecvBuf (T *deviceA, T *buffer, size_t numberOfElements, const int *indices)
 
template<class T >
void Opm::cuistl::detail::weightedDiagMV (const T *squareBlockVector, const size_t numberOfRows, const size_t blocksize, T relaxationFactor, const T *srcVec, T *dstVec)
 Compue the weighted matrix vector product where the matrix is diagonal, the diagonal is a vector, meaning we compute the Hadamard product. More...