My Project
Opm::Accelerator::BISAI< block_size > Class Template Reference

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

#include <BISAI.hpp>

Inheritance diagram for Opm::Accelerator::BISAI< block_size >:
Opm::Accelerator::Preconditioner< block_size >

Public Member Functions

 BISAI (ILUReorder opencl_ilu_reorder, int verbosity)
 
void setOpencl (std::shared_ptr< cl::Context > &context, std::shared_ptr< cl::CommandQueue > &queue) override
 
bool analyze_matrix (BlockedMatrix *mat) override
 
bool create_preconditioner (BlockedMatrix *mat) override
 
void apply (const cl::Buffer &y, cl::Buffer &x) override
 
int * getToOrder () override
 
int * getFromOrder () override
 
BlockedMatrixgetRMat () override
 

Additional Inherited Members

- Public Types inherited from Opm::Accelerator::Preconditioner< block_size >
enum  PreconditionerType { BILU0 , CPR , BISAI }
 
- Static Public Member Functions inherited from Opm::Accelerator::Preconditioner< block_size >
static std::unique_ptr< Preconditionercreate (PreconditionerType type, int verbosity, ILUReorder opencl_ilu_reorder)
 
- Protected Member Functions inherited from Opm::Accelerator::Preconditioner< block_size >
 Preconditioner (int verbosity_)
 
- Protected Attributes inherited from Opm::Accelerator::Preconditioner< block_size >
int N = 0
 
int Nb = 0
 
int nnz = 0
 
int nnzb = 0
 
int verbosity = 0
 
std::shared_ptr< cl::Context > context
 
std::shared_ptr< cl::CommandQueue > queue
 
std::vector< cl::Event > events
 
cl_int err
 

Detailed Description

template<unsigned int block_size>
class Opm::Accelerator::BISAI< 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: