DPsim
Loading...
Searching...
No Matches
DPsim::GpuSparseAdapter Class Reference
Inheritance diagram for DPsim::GpuSparseAdapter:
[legend]
Collaboration diagram for DPsim::GpuSparseAdapter:
[legend]

Public Member Functions

 GpuSparseAdapter ()
 Constructor.
 
virtual ~GpuSparseAdapter ()
 Destructor.
 
virtual void preprocessing (SparseMatrix &systemMatrix, std::vector< std::pair< UInt, UInt > > &listVariableSystemMatrixEntries) override
 preprocessing function pre-ordering and scaling the matrix
 
virtual void factorize (SparseMatrix &systemMatrix) override
 factorization function with partial pivoting
 
virtual void refactorize (SparseMatrix &systemMatrix) override
 refactorization without partial pivoting
 
virtual void partialRefactorize (SparseMatrix &systemMatrix, std::vector< std::pair< UInt, UInt > > &listVariableSystemMatrixEntries) override
 partial refactorization withouth partial pivoting
 
virtual Matrix solve (Matrix &rightSideVector) override
 solution function for a right hand side
 
 DirectLinearSolver ()=default
 Constructor with logging.
 
 DirectLinearSolver (const DirectLinearSolver &)=default
 Constructor with logging.
 
 DirectLinearSolver (DirectLinearSolver &&)=default
 Constructor with logging.
 
 DirectLinearSolver (CPS::Logger::Log log)
 Constructor with logging.
 
- Public Member Functions inherited from DPsim::DirectLinearSolver
 DirectLinearSolver ()=default
 Constructor.
 
virtual ~DirectLinearSolver ()=default
 Destructor.
 
 DirectLinearSolver (const DirectLinearSolver &)=default
 Copy Constructor.
 
DirectLinearSolveroperator= (const DirectLinearSolver &)=default
 Copy Assignment Operator.
 
 DirectLinearSolver (DirectLinearSolver &&)=default
 Move Constructor.
 
DirectLinearSolveroperator= (DirectLinearSolver &&)=default
 Move Assignment Operator.
 
 DirectLinearSolver (CPS::Logger::Log log)
 Constructor with Logger.
 
virtual void setConfiguration (DirectLinearSolverConfiguration &configuration)
 

Protected Member Functions

void iluPreconditioner ()
 
void performFactorization (SparseMatrix &systemMatrix)
 
- Protected Member Functions inherited from DPsim::DirectLinearSolver
virtual void applyConfiguration ()
 

Protected Attributes

cusparseHandle_t mCusparsehandle = nullptr
 Solver-Handle.
 
cusolverSpHandle_t mCusolverhandle = nullptr
 
std::unique_ptr< cuda::CudaMatrix< double, int > > mSysMat = nullptr
 Systemmatrix on Device.
 
std::unique_ptr< Eigen::PermutationMatrix< Eigen::Dynamic > > mTransp = nullptr
 
cuda::Vector< double > mGpuRhsVec = 0
 RHS-Vector.
 
cuda::Vector< double > mGpuLhsVec = 0
 LHS-Vector.
 
cuda::Vector< double > mGpuIntermediateVec = 0
 Intermediate Vector.
 
- Protected Attributes inherited from DPsim::DirectLinearSolver
CPS::Logger::Log mSLog
 Stores logger of solver class.
 
DirectLinearSolverConfiguration mConfiguration
 Object that carries configuration options.
 

Detailed Description

Definition at line 26 of file GpuSparseAdapter.h.

Constructor & Destructor Documentation

◆ GpuSparseAdapter()

DPsim::GpuSparseAdapter::GpuSparseAdapter ( )

Constructor.

Definition at line 17 of file GpuSparseAdapter.cpp.

◆ ~GpuSparseAdapter()

DPsim::GpuSparseAdapter::~GpuSparseAdapter ( )
virtual

Destructor.

Definition at line 19 of file GpuSparseAdapter.cpp.

Member Function Documentation

◆ DirectLinearSolver()

DPsim::DirectLinearSolver::DirectLinearSolver ( CPS::Logger::Log log)
inline

Constructor with logging.

Definition at line 44 of file DirectLinearSolver.h.

◆ factorize()

void DPsim::GpuSparseAdapter::factorize ( SparseMatrix & systemMatrix)
overridevirtual

factorization function with partial pivoting

Implements DPsim::DirectLinearSolver.

Definition at line 216 of file GpuSparseAdapter.cpp.

◆ partialRefactorize()

void DPsim::GpuSparseAdapter::partialRefactorize ( SparseMatrix & systemMatrix,
std::vector< std::pair< UInt, UInt > > & listVariableSystemMatrixEntries )
overridevirtual

partial refactorization withouth partial pivoting

Implements DPsim::DirectLinearSolver.

Definition at line 224 of file GpuSparseAdapter.cpp.

◆ performFactorization()

void DPsim::GpuSparseAdapter::performFactorization ( SparseMatrix & systemMatrix)
protected

Definition at line 41 of file GpuSparseAdapter.cpp.

◆ preprocessing()

void DPsim::GpuSparseAdapter::preprocessing ( SparseMatrix & systemMatrix,
std::vector< std::pair< UInt, UInt > > & listVariableSystemMatrixEntries )
overridevirtual

preprocessing function pre-ordering and scaling the matrix

Implements DPsim::DirectLinearSolver.

Definition at line 210 of file GpuSparseAdapter.cpp.

◆ refactorize()

void DPsim::GpuSparseAdapter::refactorize ( SparseMatrix & systemMatrix)
overridevirtual

refactorization without partial pivoting

Implements DPsim::DirectLinearSolver.

Definition at line 220 of file GpuSparseAdapter.cpp.

◆ solve()

Matrix DPsim::GpuSparseAdapter::solve ( Matrix & rightSideVector)
overridevirtual

solution function for a right hand side

Implements DPsim::DirectLinearSolver.

Definition at line 230 of file GpuSparseAdapter.cpp.

Member Data Documentation

◆ mCusolverhandle

cusolverSpHandle_t DPsim::GpuSparseAdapter::mCusolverhandle = nullptr
protected

Definition at line 31 of file GpuSparseAdapter.h.

◆ mCusparsehandle

cusparseHandle_t DPsim::GpuSparseAdapter::mCusparsehandle = nullptr
protected

Solver-Handle.

Definition at line 30 of file GpuSparseAdapter.h.

◆ mGpuIntermediateVec

cuda::Vector<double> DPsim::GpuSparseAdapter::mGpuIntermediateVec = 0
protected

Intermediate Vector.

Definition at line 42 of file GpuSparseAdapter.h.

◆ mGpuLhsVec

cuda::Vector<double> DPsim::GpuSparseAdapter::mGpuLhsVec = 0
protected

LHS-Vector.

Definition at line 40 of file GpuSparseAdapter.h.

◆ mGpuRhsVec

cuda::Vector<double> DPsim::GpuSparseAdapter::mGpuRhsVec = 0
protected

RHS-Vector.

Definition at line 38 of file GpuSparseAdapter.h.

◆ mSysMat

std::unique_ptr<cuda::CudaMatrix<double, int> > DPsim::GpuSparseAdapter::mSysMat = nullptr
protected

Systemmatrix on Device.

Definition at line 34 of file GpuSparseAdapter.h.

◆ mTransp

std::unique_ptr<Eigen::PermutationMatrix<Eigen::Dynamic> > DPsim::GpuSparseAdapter::mTransp = nullptr
protected

Definition at line 35 of file GpuSparseAdapter.h.


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