20 #ifndef WELLCONTRIBUTIONS_CUDA_HEADER_INCLUDED 21 #define WELLCONTRIBUTIONS_CUDA_HEADER_INCLUDED 23 #include <opm/simulators/linalg/gpubridge/WellContributions.hpp> 25 #include <cuda_runtime.h> 30 template<
class Scalar>
44 void apply(Scalar* d_x, Scalar* d_y);
58 Scalar* values,
unsigned int val_size)
override;
63 Scalar* d_Cnnzs =
nullptr;
64 Scalar* d_Dnnzs =
nullptr;
65 Scalar* d_Bnnzs =
nullptr;
66 int* d_Ccols =
nullptr;
67 int* d_Bcols =
nullptr;
68 Scalar* d_z1 =
nullptr;
69 Scalar* d_z2 =
nullptr;
70 unsigned int *d_val_pointers =
nullptr;
71 Scalar* h_x =
nullptr;
72 Scalar* h_y =
nullptr;
Definition: cuWellContributions.hpp:31
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45
This class serves to eliminate the need to include the WellContributions into the matrix (with –matr...
Definition: GpuBridge.hpp:30
void setCudaStream(cudaStream_t stream)
Set a cudaStream to be used.
MatrixType
StandardWell has C, D and B matrices that need to be copied.
Definition: WellContributions.hpp:57
void apply(Scalar *d_x, Scalar *d_y)
Apply all Wells in this object performs y -= (C^T * (D^-1 * (B*x))) for all Wells.
void APIaddMatrix(MatrixType type, int *colIndices, Scalar *values, unsigned int val_size) override
Store a matrix in this object, in blocked csr format, can only be called after alloc() is called...
void APIalloc() override
Allocate memory for the StandardWells.