Loading...
Searching...
No Matches
Opm::Accelerator::rocsparsePreconditioner< Scalar, block_size > Class Template Referenceabstract
Inheritance diagram for Opm::Accelerator::rocsparsePreconditioner< Scalar, block_size >:

## Public Member Functions

virtual bool | initialize (std::shared_ptr< BlockedMatrix< Scalar > > matrix, std::shared_ptr< BlockedMatrix< Scalar > > jacMatrix, rocsparse_int *d_Arows, rocsparse_int *d_Acols)=0
virtual void | copy_system_to_gpu (Scalar *b)=0
virtual void | update_system_on_gpu (Scalar *vals, Scalar *b)=0
| Update linear system to GPU.
void | set_matrix_analysis (rocsparse_mat_descr descr_L, rocsparse_mat_descr descr_U)
void | set_context (rocsparse_handle handle, rocblas_handle blas_handle, rocsparse_direction dir, rocsparse_operation operation, hipStream_t stream)
void | setJacMat (const BlockedMatrix< Scalar > &jacMat)
Public Member Functions inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >
virtual void | apply (const ApplyScalar &y, ApplyScalar &x, WellContributions< Scalar > &wellContribs)=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< rocsparsePreconditioner< Scalar, block_size > > | create (PreconditionerType type, int verbosity)
Static Public Member Functions inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >
static std::unique_ptr< Preconditioner > | create (PreconditionerType type, bool opencl_ilu_parallel, int verbosity)

## Public Attributes

int | nnzbs_prec = 0
bool | useJacMatrix = false
std::shared_ptr< BlockedMatrix< Scalar > > | jacMat {}

## Protected Member Functions

| rocsparsePreconditioner (int verbosity_)
Protected Member Functions inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >
| Preconditioner (int verbosity_)

## Protected Attributes

rocsparse_handle | handle
rocblas_handle | blas_handle
rocsparse_direction | dir = rocsparse_direction_row
rocsparse_operation | operation = rocsparse_operation_none
rocsparse_mat_descr | descr_L
rocsparse_mat_descr | descr_U
hipStream_t | stream
Protected Attributes inherited from Opm::Accelerator::Preconditioner< Scalar, block_size, ApplyScalar >
int | N = 0
int | Nb = 0
int | nnz = 0
int | nnzb = 0
int | verbosity = 0

## Member Function Documentation

## copy_system_to_gpu()

template<class Scalar, unsigned int block_size>

virtual void Opm::Accelerator::rocsparsePreconditioner< Scalar, block_size >::copy_system_to_gpu | ( | Scalar * | b | ) |

pure virtual

Implemented in Opm::Accelerator::rocsparseBILU0< Scalar, block_size >, and Opm::Accelerator::rocsparseCPR< Scalar, block_size >.

## initialize()

template<class Scalar, unsigned int block_size>

virtual bool Opm::Accelerator::rocsparsePreconditioner< Scalar, block_size >::initialize | ( | std::shared_ptr< BlockedMatrix< Scalar > > | matrix,
|  | std::shared_ptr< BlockedMatrix< Scalar > > | jacMatrix,
|  | rocsparse_int * | d_Arows,
|  | rocsparse_int * | d_Acols )

pure virtual

Implemented in Opm::Accelerator::rocsparseBILU0< Scalar, block_size >, and Opm::Accelerator::rocsparseCPR< Scalar, block_size >.

## update_system_on_gpu()

template<class Scalar, unsigned int block_size>

virtual void Opm::Accelerator::rocsparsePreconditioner< Scalar, block_size >::update_system_on_gpu | ( | Scalar * | vals,
|  | Scalar * | b )

pure virtual

Update linear system to GPU.

Parameters

  [in] | vals | Matrix values
  [in] | b | input vector, contains N values

Implemented in Opm::Accelerator::rocsparseBILU0< Scalar, block_size >, and Opm::Accelerator::rocsparseCPR< Scalar, block_size >.

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

- opm/simulators/linalg/gpubridge/rocm/rocsparsePreconditioner.hpp
- opm/simulators/linalg/gpubridge/rocm/rocsparsePreconditioner.cpp