19#ifndef OPM_CUISTL_VECTOR_OPERATIONS_HPP
20#define OPM_CUISTL_VECTOR_OPERATIONS_HPP
58T
innerProductAtIndices(cublasHandle_t cublasHandle,
const T* deviceA,
const T* deviceB, T* buffer,
size_t numberOfElements,
const int* indices);
61void prepareSendBuf(
const T* deviceA, T* buffer,
size_t numberOfElements,
const int* indices);
63void syncFromRecvBuf(T* deviceA, T* buffer,
size_t numberOfElements,
const int* indices);
79 const size_t numberOfRows,
80 const size_t blocksize,
Contains wrappers to make the CuBLAS library behave as a modern C++ library with function overlading.
Definition autotuner.hpp:29
T 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]
void setZeroAtIndexSet(T *deviceData, size_t numberOfElements, const int *indices)
setZeroAtIndexSet sets deviceData to zero in the indices of contained in indices
void setVectorValue(T *deviceData, size_t numberOfElements, const T &value)
setVectorValue sets every element of deviceData to value
void 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,...