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

This class implements a Blocked ILU0 preconditioner The decomposition is done on GPU, using exact decomposition, or ChowPatel decomposition The preconditioner is applied via two exact triangular solves. More...

#include <openclBILU0.hpp>

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

Public Member Functions

 openclBILU0 (bool opencl_ilu_parallel, int verbosity)
 
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
 
std::tuple< std::vector< int >, std::vector< int >, std::vector< int > > get_preconditioner_structure ()
 
std::pair< cl::Buffer, cl::Buffer > get_preconditioner_data ()
 
- Public Member Functions inherited from Opm::Accelerator::openclPreconditioner< Scalar, block_size >
virtual void setOpencl (std::shared_ptr< cl::Context > &context, std::shared_ptr< cl::CommandQueue > &queue)
 

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::openclBILU0< Scalar, block_size >

This class implements a Blocked ILU0 preconditioner The decomposition is done on GPU, using exact decomposition, or ChowPatel decomposition The preconditioner is applied via two exact triangular solves.


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