opm-simulators
Opm::Accelerator::openclBISAI< Scalar, block_size > Class Template Reference

This class implements a Blocked version of the Incomplete Sparse Approximate Inverse (ISAI) preconditioner. More...

#include <openclBISAI.hpp>

Inheritance diagram for Opm::Accelerator::openclBISAI< Scalar, block_size >:
Opm::Accelerator::openclPreconditioner< Scalar, block_size > Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >

Public Member Functions

 openclBISAI (bool opencl_ilu_parallel, int verbosity)
 
void setOpencl (std::shared_ptr< cl::Context > &context, std::shared_ptr< cl::CommandQueue > &queue) override
 
bool analyze_matrix (BlockedMatrix< Scalar > *mat) override
 
bool analyze_matrix (BlockedMatrix< Scalar > *mat, BlockedMatrix< Scalar > *jacMat) override
 
bool create_preconditioner (BlockedMatrix< Scalar > *mat) override
 
bool create_preconditioner (BlockedMatrix< Scalar > *mat, BlockedMatrix< Scalar > *jacMat) override
 
void apply (const cl::Buffer &y, cl::Buffer &x, WellContributions< Scalar > &wellContribs) override
 

Additional Inherited Members

- Static Public Member Functions inherited from Opm::Accelerator::openclPreconditioner< Scalar, block_size >
static std::unique_ptr< openclPreconditioner< Scalar, block_size > > create (PreconditionerType type, int verbosity, bool opencl_ilu_parallel)
 
- Static Public Member Functions inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >
static std::unique_ptr< Preconditionercreate (PreconditionerType type, bool opencl_ilu_parallel, int verbosity)
 
- Protected Member Functions inherited from Opm::Accelerator::openclPreconditioner< Scalar, block_size >
 openclPreconditioner (int verbosity_)
 
- Protected Member Functions inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >
 Preconditioner (int verbosity_)
 
- Protected Attributes inherited from Opm::Accelerator::openclPreconditioner< Scalar, block_size >
std::shared_ptr< cl::Context > context
 
std::shared_ptr< cl::CommandQueue > queue
 
std::vector< cl::Event > events
 
cl_int err
 
- Protected Attributes inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >
int N
 
int Nb
 
int nnz
 
int nnzb
 
int verbosity
 

Detailed Description

template<class Scalar, unsigned int block_size>
class Opm::Accelerator::openclBISAI< Scalar, block_size >

This class implements a Blocked version of the Incomplete Sparse Approximate Inverse (ISAI) preconditioner.

Inspired by the paper "Incomplete Sparse Approximate Inverses for Parallel Preconditioning" by Anzt et. al.


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