Classes | |
| class | NullValueException |
Public Types | |
| typedef BackEnd::tag::sycl | BackEndType |
| typedef std::tuple< VectorDistribution const *, Integer > | ResourceType |
| typedef SYCLInternal::Future< Real > | FutureType |
| typedef Alien::StdTimer | TimerType |
| typedef TimerType::Sentry | SentryType |
| Public Types inherited from Alien::IInternalLinearAlgebra< SYCLMatrixType, SYCLVectorType > | |
| typedef SYCLMatrixType | Matrix |
| Type of the matrix used. | |
| typedef SYCLVectorType | Vector |
| Type of the vector used. | |
| typedef IInternalLinearAlgebra< Matrix, Vector > *(* | Factory) () |
| Type of the the linear algebra. | |
| using | MatrixType |
| using | VectorType |
| using | ValueType |
Public Member Functions | |
| void | setDotAlgo (int dot_algo) |
| 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 | addLMult (Real alpha, const Matrix &A, const Vector &x, Vector &y) const |
| void | addUMult (Real alpha, const Matrix &A, const Vector &x, Vector &y) const |
| void | multDiag (const Matrix &A, Vector const &y, Vector &z) const |
| void | multDiag (const Vector &diag, Vector const &y, Vector &z) const |
| void | multInvDiag (const Matrix &A, Vector &y) const |
| void | computeInvDiag (const Matrix &a, Vector &inv_diag) 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 |
| void | axpy (Real alpha, const Vector &x, Integer stride_x, Vector &r, Integer stride_r) const |
| void | aypx (Real alpha, Vector &y, Integer stride_y, const Vector &x, Integer stride_x) const |
| void | copy (const Vector &x, Integer stride_x, Vector &r, Integer stride_r) const |
| Real | dot (const Vector &x, const Vector &y) const |
| void | dot (const Vector &x, const Vector &y, SYCLInternal::Future< Real > &res) const |
| void | scal (Real alpha, Vector &x) const |
| void | scal (const Vector &x, Matrix &a) 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 |
| void | assign (Vector &x, Real alpha) const |
| template<typename LambdaT> | |
| void | assign (Vector &x, LambdaT const &lambda) const |
| template<typename PrecondT> | |
| void | exec (PrecondT &precond, Vector const &x, Vector &y) |
| Integer | computeCxr (const Matrix &a, Matrix &cxr_a) const |
| Integer | computeCxr (const Matrix &a, Vector const &diag_scal, Matrix &cxr_a) const |
| void | allocate (ResourceType resource, Vector &v) |
| template<typename T0, typename... T> | |
| void | allocate (ResourceType resource, T0 &v0, T &... args) |
| void | free (Vector &v) |
| template<typename T0, typename... T> | |
| void | free (T0 &v0, T &... args) |
| Public Member Functions inherited from Alien::IInternalLinearAlgebra< SYCLMatrixType, SYCLVectorType > | |
| virtual | ~IInternalLinearAlgebra () |
| 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 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. | |
Static Public Member Functions | |
| static ResourceType | resource (Matrix const &A) |
Definition at line 37 of file SYCLInternalLinearAlgebra.h.
| typedef BackEnd::tag::sycl Alien::SYCLInternalLinearAlgebra::BackEndType |
Definition at line 41 of file SYCLInternalLinearAlgebra.h.
| typedef SYCLInternal::Future<Real> Alien::SYCLInternalLinearAlgebra::FutureType |
Definition at line 57 of file SYCLInternalLinearAlgebra.h.
| typedef std::tuple<VectorDistribution const*,Integer> Alien::SYCLInternalLinearAlgebra::ResourceType |
Definition at line 44 of file SYCLInternalLinearAlgebra.h.
| typedef TimerType::Sentry Alien::SYCLInternalLinearAlgebra::SentryType |
Definition at line 60 of file SYCLInternalLinearAlgebra.h.
| typedef Alien::StdTimer Alien::SYCLInternalLinearAlgebra::TimerType |
Definition at line 59 of file SYCLInternalLinearAlgebra.h.
| Alien::SYCLInternalLinearAlgebra::SYCLInternalLinearAlgebra | ( | ) |
Definition at line 65 of file SYCLInternalLinearAlgebra.cc.
|
virtual |
Definition at line 73 of file SYCLInternalLinearAlgebra.cc.
| void Alien::SYCLInternalLinearAlgebra::addLMult | ( | Real | alpha, |
| const Matrix & | A, | ||
| const Vector & | x, | ||
| Vector & | y ) const |
Definition at line 148 of file SYCLInternalLinearAlgebra.cc.
| void Alien::SYCLInternalLinearAlgebra::addUMult | ( | Real | alpha, |
| const Matrix & | A, | ||
| const Vector & | x, | ||
| Vector & | y ) const |
Definition at line 159 of file SYCLInternalLinearAlgebra.cc.
|
inline |
Definition at line 125 of file SYCLInternalLinearAlgebra.h.
| void Alien::SYCLInternalLinearAlgebra::allocate | ( | ResourceType | resource, |
| Vector & | v ) |
Definition at line 93 of file SYCLInternalLinearAlgebra.cc.
|
inline |
Definition at line 105 of file SYCLInternalLinearAlgebra.h.
Definition at line 373 of file SYCLInternalLinearAlgebra.cc.
| Integer Alien::SYCLInternalLinearAlgebra::computeCxr | ( | const Matrix & | a, |
| Vector const & | diag_scal, | ||
| Matrix & | cxr_a ) const |
Definition at line 381 of file SYCLInternalLinearAlgebra.cc.
Definition at line 203 of file SYCLInternalLinearAlgebra.cc.
Definition at line 357 of file SYCLInternalLinearAlgebra.cc.
|
inline |
Definition at line 112 of file SYCLInternalLinearAlgebra.h.
|
inline |
Definition at line 134 of file SYCLInternalLinearAlgebra.h.
| void Alien::SYCLInternalLinearAlgebra::free | ( | Vector & | v | ) |
Definition at line 98 of file SYCLInternalLinearAlgebra.cc.
| void Alien::SYCLInternalLinearAlgebra::mult | ( | const Matrix & | a, |
| const Vector & | x, | ||
| Vector & | r ) const |
Definition at line 138 of file SYCLInternalLinearAlgebra.cc.
Definition at line 193 of file SYCLInternalLinearAlgebra.cc.
| Real Alien::SYCLInternalLinearAlgebra::norm0 | ( | const Vector & | x | ) | const |
Definition at line 103 of file SYCLInternalLinearAlgebra.cc.
| Real Alien::SYCLInternalLinearAlgebra::norm1 | ( | const Vector & | x | ) | const |
Definition at line 112 of file SYCLInternalLinearAlgebra.cc.
| Real Alien::SYCLInternalLinearAlgebra::norm2 | ( | const Vector & | x | ) | const |
Definition at line 120 of file SYCLInternalLinearAlgebra.cc.
| Real Alien::SYCLInternalLinearAlgebra::normInf | ( | const Vector & | x | ) | const |
Definition at line 128 of file SYCLInternalLinearAlgebra.cc.
| void Alien::SYCLInternalLinearAlgebra::pointwiseMult | ( | const Vector & | x, |
| const Vector & | y, | ||
| Vector & | w ) const |
Definition at line 339 of file SYCLInternalLinearAlgebra.cc.
| void Alien::SYCLInternalLinearAlgebra::reciprocal | ( | Vector & | x | ) | const |
Definition at line 366 of file SYCLInternalLinearAlgebra.cc.
|
static |
Definition at line 88 of file SYCLInternalLinearAlgebra.cc.
| void Alien::SYCLInternalLinearAlgebra::setDotAlgo | ( | int | dot_algo | ) |
Definition at line 80 of file SYCLInternalLinearAlgebra.cc.