Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::SYCLInternalLinearAlgebraExpr Class Reference
Inheritance diagram for Alien::SYCLInternalLinearAlgebraExpr:
Collaboration diagram for Alien::SYCLInternalLinearAlgebraExpr:

Public Member Functions

Real norm0 (const Vector &x) const
Real norm1 (const Vector &x) const
Real norm2 (const Vector &x) const
Real normInf (const Vector &x) const
void mult (const Matrix &a, const Vector &x, Vector &r) const
void axpy (Real alpha, const Vector &x, Vector &r) const
void aypx (Real alpha, Vector &y, const Vector &x) const
void copy (const Vector &x, Vector &r) const
Real dot (const Vector &x, const Vector &y) const
void scal (Real alpha, Vector &x) const
void diagonal (const Matrix &a, Vector &x) const
void reciprocal (Vector &x) const
void pointwiseMult (const Vector &x, const Vector &y, Vector &w) const
Real norm2 (const Matrix &x) const
void copy (const Matrix &a, Matrix &r) const
void add (const Matrix &a, Matrix &r) const
void scal (Real alpha, Matrix &a) const
void mult (const Matrix &a, const UniqueArray< Real > &x, UniqueArray< Real > &r) const
void axpy (Real alpha, UniqueArray< Real > const &x, UniqueArray< Real > &r) const
void aypx (Real alpha, UniqueArray< Real > &y, UniqueArray< Real > const &x) const
void copy (const UniqueArray< Real > &x, UniqueArray< Real > &r) const
Real dot (Integer local_size, const UniqueArray< Real > &x, const UniqueArray< Real > &y) const
void scal (Real alpha, UniqueArray< Real > &x) const
Public Member Functions inherited from Alien::IInternalLinearAlgebraExpr< SYCLMatrixType, SYCLVectorType >
virtual ~IInternalLinearAlgebraExpr ()
 Free resources.
virtual Real norm0 (const Vector &x) const=0
 Compute L0 norm of a vector.
virtual Real norm1 (const Vector &x) const=0
 Compute L1 norm of a vector.
virtual Real norm2 (const Vector &x) const=0
 Compute L2 norm of a vector.
virtual Real normInf (const Vector &x) const=0
 Compute LInf norm of a vector.
virtual void mult (const Matrix &a, const Vector &x, Vector &r) const=0
 Compute a matrix vector product.
virtual void axpy (Real alpha, const Vector &x, Vector &y) const=0
 Scale a vector by a factor and adds the result to another vector.
virtual void aypx (Real alpha, Vector &y, const Vector &x) const=0
 Scale a vector by a factor and adds the result to another vector.
virtual void copy (const Vector &x, Vector &r) const=0
 Copy a vector in another one.
virtual void add (const Matrix &a, Matrix &r) const=0
 Add a matrix to another one.
virtual Real dot (const Vector &x, const Vector &y) const=0
 Compute the dot product of two vectors.
virtual void scal (Real alpha, Vector &x) const=0
 Scale a vector by a factor.
virtual void diagonal (const Matrix &a, Vector &x) const=0
 Extract the diagonal of a matrix in a vector.
virtual void reciprocal (Vector &x) const=0
 Compute the reciprocal of a vector.
virtual void pointwiseMult (const Vector &x, const Vector &y, Vector &w) const=0
 Compute the point wise multiplication of two vectors and store the result in another one.
virtual void dump (Matrix const &a, std::string const &filename) const
 Dumps a matrix to a file.

Private Attributes

std::unique_ptr< SYCLInternal::KernelInternalm_internal

Additional Inherited Members

Public Types inherited from Alien::IInternalLinearAlgebraExpr< SYCLMatrixType, SYCLVectorType >
typedef SYCLMatrixType Matrix
 Type of the matrix used.
typedef SYCLVectorType Vector
 Type of the vector used.
typedef IInternalLinearAlgebraExpr< Matrix, Vector > *(* Factory) ()
 Type of the the linear algebra.

Detailed Description

Definition at line 147 of file SYCLInternalLinearAlgebra.h.

Constructor & Destructor Documentation

◆ SYCLInternalLinearAlgebraExpr()

Alien::SYCLInternalLinearAlgebraExpr::SYCLInternalLinearAlgebraExpr ( )

Definition at line 393 of file SYCLInternalLinearAlgebra.cc.

◆ ~SYCLInternalLinearAlgebraExpr()

Alien::SYCLInternalLinearAlgebraExpr::~SYCLInternalLinearAlgebraExpr ( )
virtual

Definition at line 401 of file SYCLInternalLinearAlgebra.cc.

Member Function Documentation

◆ add()

void Alien::SYCLInternalLinearAlgebraExpr::add ( const Matrix & a,
Matrix & r ) const

Definition at line 521 of file SYCLInternalLinearAlgebra.cc.

◆ axpy()

void Alien::SYCLInternalLinearAlgebraExpr::axpy ( Real alpha,
UniqueArray< Real > const & x,
UniqueArray< Real > & r ) const

Definition at line 453 of file SYCLInternalLinearAlgebra.cc.

◆ aypx()

void Alien::SYCLInternalLinearAlgebraExpr::aypx ( Real alpha,
UniqueArray< Real > & y,
UniqueArray< Real > const & x ) const

Definition at line 468 of file SYCLInternalLinearAlgebra.cc.

◆ copy()

void Alien::SYCLInternalLinearAlgebraExpr::copy ( const UniqueArray< Real > & x,
UniqueArray< Real > & r ) const

Definition at line 483 of file SYCLInternalLinearAlgebra.cc.

◆ diagonal()

void Alien::SYCLInternalLinearAlgebraExpr::diagonal ( const Matrix & a,
Vector & x ) const

Definition at line 545 of file SYCLInternalLinearAlgebra.cc.

◆ dot()

Real Alien::SYCLInternalLinearAlgebraExpr::dot ( Integer local_size,
const UniqueArray< Real > & x,
const UniqueArray< Real > & y ) const

Definition at line 497 of file SYCLInternalLinearAlgebra.cc.

◆ norm0()

Real Alien::SYCLInternalLinearAlgebraExpr::norm0 ( const Vector & x) const

Definition at line 406 of file SYCLInternalLinearAlgebra.cc.

◆ norm1()

Real Alien::SYCLInternalLinearAlgebraExpr::norm1 ( const Vector & x) const

Definition at line 415 of file SYCLInternalLinearAlgebra.cc.

◆ normInf()

Real Alien::SYCLInternalLinearAlgebraExpr::normInf ( const Vector & x) const

Definition at line 429 of file SYCLInternalLinearAlgebra.cc.

◆ pointwiseMult()

void Alien::SYCLInternalLinearAlgebraExpr::pointwiseMult ( const Vector & x,
const Vector & y,
Vector & w ) const

Definition at line 558 of file SYCLInternalLinearAlgebra.cc.

◆ reciprocal()

void Alien::SYCLInternalLinearAlgebraExpr::reciprocal ( Vector & x) const

Definition at line 552 of file SYCLInternalLinearAlgebra.cc.

Member Data Documentation

◆ m_internal

std::unique_ptr<SYCLInternal::KernelInternal> Alien::SYCLInternalLinearAlgebraExpr::m_internal
private

Definition at line 187 of file SYCLInternalLinearAlgebra.h.


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