Opm::Accelerator::OpenclKernels Class Reference

#include <openclKernels.hpp>

Static Public Member Functions

static void init (cl::Context *context, cl::CommandQueue *queue, std::vector< cl::Device > &devices, int verbosity)
 
static double dot (cl::Buffer &in1, cl::Buffer &in2, cl::Buffer &out, int N)
 
static double norm (cl::Buffer &in, cl::Buffer &out, int N)
 
static void axpy (cl::Buffer &in, const double a, cl::Buffer &out, int N)
 
static void scale (cl::Buffer &in, const double a, int N)
 
static void vmul (const double alpha, cl::Buffer &in1, cl::Buffer &in2, cl::Buffer &out, int N)
 
static void custom (cl::Buffer &p, cl::Buffer &v, cl::Buffer &r, const double omega, const double beta, int N)
 
static void full_to_pressure_restriction (const cl::Buffer &fine_y, cl::Buffer &weights, cl::Buffer &coarse_y, int Nb)
 
static void add_coarse_pressure_correction (cl::Buffer &coarse_x, cl::Buffer &fine_x, int pressure_idx, int Nb)
 
static void prolongate_vector (const cl::Buffer &in, cl::Buffer &out, const cl::Buffer &cols, int N)
 
static void spmv (cl::Buffer &vals, cl::Buffer &cols, cl::Buffer &rows, const cl::Buffer &x, cl::Buffer &b, int Nb, unsigned int block_size, bool reset=true, bool add=false)
 
static void residual (cl::Buffer &vals, cl::Buffer &cols, cl::Buffer &rows, cl::Buffer &x, const cl::Buffer &rhs, cl::Buffer &out, int Nb, unsigned int block_size)
 
static void ILU_apply1 (cl::Buffer &rowIndices, cl::Buffer &vals, cl::Buffer &cols, cl::Buffer &rows, cl::Buffer &diagIndex, const cl::Buffer &y, cl::Buffer &x, cl::Buffer &rowsPerColor, int color, int Nb, unsigned int block_size)
 
static void ILU_apply2 (cl::Buffer &rowIndices, cl::Buffer &vals, cl::Buffer &cols, cl::Buffer &rows, cl::Buffer &diagIndex, cl::Buffer &invDiagVals, cl::Buffer &x, cl::Buffer &rowsPerColor, int color, int Nb, unsigned int block_size)
 
static void ILU_decomp (int firstRow, int lastRow, cl::Buffer &rowIndices, cl::Buffer &vals, cl::Buffer &cols, cl::Buffer &rows, cl::Buffer &diagIndex, cl::Buffer &invDiagVals, int Nb, unsigned int block_size)
 
static void apply_stdwells (cl::Buffer &d_Cnnzs_ocl, cl::Buffer &d_Dnnzs_ocl, cl::Buffer &d_Bnnzs_ocl, cl::Buffer &d_Ccols_ocl, cl::Buffer &d_Bcols_ocl, cl::Buffer &d_x, cl::Buffer &d_y, int dim, int dim_wells, cl::Buffer &d_val_pointers_ocl, int num_std_wells)
 
static void isaiL (cl::Buffer &diagIndex, cl::Buffer &colPointers, cl::Buffer &mapping, cl::Buffer &nvc, cl::Buffer &luIdxs, cl::Buffer &xxIdxs, cl::Buffer &dxIdxs, cl::Buffer &LUvals, cl::Buffer &invLvals, unsigned int Nb)
 
static void isaiU (cl::Buffer &diagIndex, cl::Buffer &colPointers, cl::Buffer &rowIndices, cl::Buffer &mapping, cl::Buffer &nvc, cl::Buffer &luIdxs, cl::Buffer &xxIdxs, cl::Buffer &dxIdxs, cl::Buffer &LUvals, cl::Buffer &invDiagVals, cl::Buffer &invUvals, unsigned int Nb)
 

Static Public Attributes

static const std::string axpy_str
 
static const std::string scale_str
 
static const std::string vmul_str
 
static const std::string dot_1_str
 
static const std::string norm_str
 
static const std::string custom_str
 
static const std::string full_to_pressure_restriction_str
 
static const std::string add_coarse_pressure_correction_str
 
static const std::string prolongate_vector_str
 
static const std::string spmv_blocked_str
 
static const std::string spmv_blocked_add_str
 
static const std::string spmv_str
 
static const std::string spmv_noreset_str
 
static const std::string residual_blocked_str
 
static const std::string residual_str
 
static const std::string ILU_apply1_fm_str
 
static const std::string ILU_apply2_fm_str
 
static const std::string stdwell_apply_str
 
static const std::string ILU_decomp_str
 
static const std::string isaiL_str
 
static const std::string isaiU_str
 

Member Function Documentation

◆ add_coarse_pressure_correction()

static void Opm::Accelerator::OpenclKernels::add_coarse_pressure_correction ( cl::Buffer &  coarse_x,
cl::Buffer &  fine_x,
int  pressure_idx,
int  Nb 
)
static

◆ apply_stdwells()

static void Opm::Accelerator::OpenclKernels::apply_stdwells ( cl::Buffer &  d_Cnnzs_ocl,
cl::Buffer &  d_Dnnzs_ocl,
cl::Buffer &  d_Bnnzs_ocl,
cl::Buffer &  d_Ccols_ocl,
cl::Buffer &  d_Bcols_ocl,
cl::Buffer &  d_x,
cl::Buffer &  d_y,
int  dim,
int  dim_wells,
cl::Buffer &  d_val_pointers_ocl,
int  num_std_wells 
)
static

◆ axpy()

static void Opm::Accelerator::OpenclKernels::axpy ( cl::Buffer &  in,
const double  a,
cl::Buffer &  out,
int  N 
)
static

◆ custom()

static void Opm::Accelerator::OpenclKernels::custom ( cl::Buffer &  p,
cl::Buffer &  v,
cl::Buffer &  r,
const double  omega,
const double  beta,
int  N 
)
static

◆ dot()

static double Opm::Accelerator::OpenclKernels::dot ( cl::Buffer &  in1,
cl::Buffer &  in2,
cl::Buffer &  out,
int  N 
)
static

◆ full_to_pressure_restriction()

static void Opm::Accelerator::OpenclKernels::full_to_pressure_restriction ( const cl::Buffer &  fine_y,
cl::Buffer &  weights,
cl::Buffer &  coarse_y,
int  Nb 
)
static

◆ ILU_apply1()

static void Opm::Accelerator::OpenclKernels::ILU_apply1 ( cl::Buffer &  rowIndices,
cl::Buffer &  vals,
cl::Buffer &  cols,
cl::Buffer &  rows,
cl::Buffer &  diagIndex,
const cl::Buffer &  y,
cl::Buffer &  x,
cl::Buffer &  rowsPerColor,
int  color,
int  Nb,
unsigned int  block_size 
)
static

◆ ILU_apply2()

static void Opm::Accelerator::OpenclKernels::ILU_apply2 ( cl::Buffer &  rowIndices,
cl::Buffer &  vals,
cl::Buffer &  cols,
cl::Buffer &  rows,
cl::Buffer &  diagIndex,
cl::Buffer &  invDiagVals,
cl::Buffer &  x,
cl::Buffer &  rowsPerColor,
int  color,
int  Nb,
unsigned int  block_size 
)
static

◆ ILU_decomp()

static void Opm::Accelerator::OpenclKernels::ILU_decomp ( int  firstRow,
int  lastRow,
cl::Buffer &  rowIndices,
cl::Buffer &  vals,
cl::Buffer &  cols,
cl::Buffer &  rows,
cl::Buffer &  diagIndex,
cl::Buffer &  invDiagVals,
int  Nb,
unsigned int  block_size 
)
static

◆ init()

static void Opm::Accelerator::OpenclKernels::init ( cl::Context *  context,
cl::CommandQueue *  queue,
std::vector< cl::Device > &  devices,
int  verbosity 
)
static

◆ isaiL()

static void Opm::Accelerator::OpenclKernels::isaiL ( cl::Buffer &  diagIndex,
cl::Buffer &  colPointers,
cl::Buffer &  mapping,
cl::Buffer &  nvc,
cl::Buffer &  luIdxs,
cl::Buffer &  xxIdxs,
cl::Buffer &  dxIdxs,
cl::Buffer &  LUvals,
cl::Buffer &  invLvals,
unsigned int  Nb 
)
static

◆ isaiU()

static void Opm::Accelerator::OpenclKernels::isaiU ( cl::Buffer &  diagIndex,
cl::Buffer &  colPointers,
cl::Buffer &  rowIndices,
cl::Buffer &  mapping,
cl::Buffer &  nvc,
cl::Buffer &  luIdxs,
cl::Buffer &  xxIdxs,
cl::Buffer &  dxIdxs,
cl::Buffer &  LUvals,
cl::Buffer &  invDiagVals,
cl::Buffer &  invUvals,
unsigned int  Nb 
)
static

◆ norm()

static double Opm::Accelerator::OpenclKernels::norm ( cl::Buffer &  in,
cl::Buffer &  out,
int  N 
)
static

◆ prolongate_vector()

static void Opm::Accelerator::OpenclKernels::prolongate_vector ( const cl::Buffer &  in,
cl::Buffer &  out,
const cl::Buffer &  cols,
int  N 
)
static

◆ residual()

static void Opm::Accelerator::OpenclKernels::residual ( cl::Buffer &  vals,
cl::Buffer &  cols,
cl::Buffer &  rows,
cl::Buffer &  x,
const cl::Buffer &  rhs,
cl::Buffer &  out,
int  Nb,
unsigned int  block_size 
)
static

◆ scale()

static void Opm::Accelerator::OpenclKernels::scale ( cl::Buffer &  in,
const double  a,
int  N 
)
static

◆ spmv()

static void Opm::Accelerator::OpenclKernels::spmv ( cl::Buffer &  vals,
cl::Buffer &  cols,
cl::Buffer &  rows,
const cl::Buffer &  x,
cl::Buffer &  b,
int  Nb,
unsigned int  block_size,
bool  reset = true,
bool  add = false 
)
static

◆ vmul()

static void Opm::Accelerator::OpenclKernels::vmul ( const double  alpha,
cl::Buffer &  in1,
cl::Buffer &  in2,
cl::Buffer &  out,
int  N 
)
static

Member Data Documentation

◆ add_coarse_pressure_correction_str

const std::string Opm::Accelerator::OpenclKernels::add_coarse_pressure_correction_str
static

◆ axpy_str

const std::string Opm::Accelerator::OpenclKernels::axpy_str
static

◆ custom_str

const std::string Opm::Accelerator::OpenclKernels::custom_str
static

◆ dot_1_str

const std::string Opm::Accelerator::OpenclKernels::dot_1_str
static

◆ full_to_pressure_restriction_str

const std::string Opm::Accelerator::OpenclKernels::full_to_pressure_restriction_str
static

◆ ILU_apply1_fm_str

const std::string Opm::Accelerator::OpenclKernels::ILU_apply1_fm_str
static

◆ ILU_apply2_fm_str

const std::string Opm::Accelerator::OpenclKernels::ILU_apply2_fm_str
static

◆ ILU_decomp_str

const std::string Opm::Accelerator::OpenclKernels::ILU_decomp_str
static

◆ isaiL_str

const std::string Opm::Accelerator::OpenclKernels::isaiL_str
static

◆ isaiU_str

const std::string Opm::Accelerator::OpenclKernels::isaiU_str
static

◆ norm_str

const std::string Opm::Accelerator::OpenclKernels::norm_str
static

◆ prolongate_vector_str

const std::string Opm::Accelerator::OpenclKernels::prolongate_vector_str
static

◆ residual_blocked_str

const std::string Opm::Accelerator::OpenclKernels::residual_blocked_str
static

◆ residual_str

const std::string Opm::Accelerator::OpenclKernels::residual_str
static

◆ scale_str

const std::string Opm::Accelerator::OpenclKernels::scale_str
static

◆ spmv_blocked_add_str

const std::string Opm::Accelerator::OpenclKernels::spmv_blocked_add_str
static

◆ spmv_blocked_str

const std::string Opm::Accelerator::OpenclKernels::spmv_blocked_str
static

◆ spmv_noreset_str

const std::string Opm::Accelerator::OpenclKernels::spmv_noreset_str
static

◆ spmv_str

const std::string Opm::Accelerator::OpenclKernels::spmv_str
static

◆ stdwell_apply_str

const std::string Opm::Accelerator::OpenclKernels::stdwell_apply_str
static

◆ vmul_str

const std::string Opm::Accelerator::OpenclKernels::vmul_str
static

The documentation for this class was generated from the following file: