20#ifndef CHOW_PATEL_ILU_HEADER_INCLUDED
21#define CHOW_PATEL_ILU_HEADER_INCLUDED
26#include <opm/simulators/linalg/bda/opencl/opencl.hpp>
55template <
unsigned int block_size>
59 cl::Buffer d_Ut_vals, d_L_vals, d_LU_vals;
60 cl::Buffer d_Ut_ptrs, d_Ut_idxs;
61 cl::Buffer d_L_rows, d_L_cols;
62 cl::Buffer d_LU_rows, d_LU_cols;
63 cl::Buffer d_Ltmp, d_Utmp;
66 std::vector<cl::Event> events;
68 std::once_flag initialize_flag;
69 std::once_flag pattern_uploaded;
72 std::unique_ptr<cl::KernelFunctor<cl::Buffer&, cl::Buffer&, cl::Buffer&,
73 cl::Buffer&, cl::Buffer&, cl::Buffer&,
74 cl::Buffer&, cl::Buffer&, cl::Buffer&,
75 cl::Buffer&, cl::Buffer&,
76 const int, cl::LocalSpaceArg, cl::LocalSpaceArg> > chow_patel_ilu_sweep_k;
84 cl::CommandQueue *queue, cl::Context *context,
85 BlockedMatrix *LUmat, BlockedMatrix *Lmat, BlockedMatrix *Umat,
86 double *invDiagVals, std::vector<int>& diagIndex,
87 cl::Buffer& d_diagIndex, cl::Buffer& d_invDiagVals,
88 cl::Buffer& d_Lvals, cl::Buffer& d_Lcols, cl::Buffer& d_Lrows,
89 cl::Buffer& d_Uvals, cl::Buffer& d_Ucols, cl::Buffer& d_Urows);
110 void gpu_decomposition(
111 cl::CommandQueue *queue, cl::Context *context,
112 int *Ut_ptrs,
int *Ut_idxs,
double *Ut_vals,
int Ut_nnzbs,
113 int *L_rows,
int *L_cols,
double *L_vals,
int L_nnzbs,
114 int *LU_rows,
int *LU_cols,
double *LU_vals,
int LU_nnzbs,
115 int Nb,
int num_sweeps);
118 void setVerbosity(
int verbosity_) {
119 this->verbosity = verbosity_;
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition BlackoilPhases.hpp:27