Opm::Accelerator::openclPreconditioner< Scalar, block_size > Class Template Referenceabstract

#include <openclPreconditioner.hpp>

Inheritance diagram for Opm::Accelerator::openclPreconditioner< Scalar, block_size >:
Inheritance graph

Public Member Functions

virtual void setOpencl (std::shared_ptr< cl::Context > &context, std::shared_ptr< cl::CommandQueue > &queue)
 
virtual void apply (const cl::Buffer &y, cl::Buffer &x)=0
 
virtual bool analyze_matrix (BlockedMatrix< Scalar > *mat)=0
 
virtual bool analyze_matrix (BlockedMatrix< Scalar > *mat, BlockedMatrix< Scalar > *jacMat)=0
 
virtual bool create_preconditioner (BlockedMatrix< Scalar > *mat)=0
 
virtual bool create_preconditioner (BlockedMatrix< Scalar > *mat, BlockedMatrix< Scalar > *jacMat)=0
 

Static Public Member Functions

static std::unique_ptr< openclPreconditioner< Scalar, block_size > > create (PreconditionerType type, int verbosity, bool opencl_ilu_parallel)
 
static std::unique_ptr< Preconditionercreate (PreconditionerType type, bool opencl_ilu_parallel, int verbosity)
 

Protected Member Functions

 openclPreconditioner (int verbosity_)
 

Protected Attributes

std::shared_ptr< cl::Context > context
 
std::shared_ptr< cl::CommandQueue > queue
 
std::vector< cl::Event > events
 
cl_int err
 
int N
 
int Nb
 
int nnz
 
int nnzb
 
int verbosity
 

Constructor & Destructor Documentation

◆ openclPreconditioner()

template<class Scalar , unsigned int block_size>
Opm::Accelerator::openclPreconditioner< Scalar, block_size >::openclPreconditioner ( int  verbosity_)
inlineprotected

Member Function Documentation

◆ analyze_matrix() [1/2]

virtual bool Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::analyze_matrix ( BlockedMatrix< Scalar > *  mat)
pure virtualinherited

◆ analyze_matrix() [2/2]

virtual bool Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::analyze_matrix ( BlockedMatrix< Scalar > *  mat,
BlockedMatrix< Scalar > *  jacMat 
)
pure virtualinherited

◆ apply()

virtual void Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::apply ( const cl::Buffer &  y,
cl::Buffer &  x 
)
pure virtualinherited

◆ create() [1/2]

static std::unique_ptr< Preconditioner > Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::create ( PreconditionerType  type,
bool  opencl_ilu_parallel,
int  verbosity 
)
staticinherited

◆ create() [2/2]

template<class Scalar , unsigned int block_size>
static std::unique_ptr< openclPreconditioner< Scalar, block_size > > Opm::Accelerator::openclPreconditioner< Scalar, block_size >::create ( PreconditionerType  type,
int  verbosity,
bool  opencl_ilu_parallel 
)
static

◆ create_preconditioner() [1/2]

virtual bool Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::create_preconditioner ( BlockedMatrix< Scalar > *  mat)
pure virtualinherited

◆ create_preconditioner() [2/2]

virtual bool Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::create_preconditioner ( BlockedMatrix< Scalar > *  mat,
BlockedMatrix< Scalar > *  jacMat 
)
pure virtualinherited

◆ setOpencl()

template<class Scalar , unsigned int block_size>
virtual void Opm::Accelerator::openclPreconditioner< Scalar, block_size >::setOpencl ( std::shared_ptr< cl::Context > &  context,
std::shared_ptr< cl::CommandQueue > &  queue 
)
virtual

Member Data Documentation

◆ context

template<class Scalar , unsigned int block_size>
std::shared_ptr<cl::Context> Opm::Accelerator::openclPreconditioner< Scalar, block_size >::context
protected

◆ err

template<class Scalar , unsigned int block_size>
cl_int Opm::Accelerator::openclPreconditioner< Scalar, block_size >::err
protected

◆ events

template<class Scalar , unsigned int block_size>
std::vector<cl::Event> Opm::Accelerator::openclPreconditioner< Scalar, block_size >::events
protected

◆ N

int Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::N
protectedinherited

◆ Nb

int Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::Nb
protectedinherited

◆ nnz

int Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::nnz
protectedinherited

◆ nnzb

int Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::nnzb
protectedinherited

◆ queue

template<class Scalar , unsigned int block_size>
std::shared_ptr<cl::CommandQueue> Opm::Accelerator::openclPreconditioner< Scalar, block_size >::queue
protected

◆ verbosity

int Opm::Accelerator::Preconditioner< Scalar, block_size, cl::Buffer >::verbosity
protectedinherited

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