Alien  1.3.0
User documentation
Loading...
Searching...
No Matches
Alien::SYCLBEllPackMatrix< ValueT > Class Template Reference

Public Types

typedef BackEnd::tag::sycl TagType
typedef ValueT ValueType
typedef ValueT value_type
typedef SYCLInternal::SYCLDistStructInfo DistStructInfo
typedef SYCLInternal::MatrixInternal< ValueType, PKSIZE > MatrixInternalType
typedef BEllPackStructInfo< PKSIZE, int > ProfileInternalType
typedef BEllPackStructInfo< PKSIZE, int > ProfileType
typedef ProfileType::IndexType IndexType
typedef Alien::StdTimer TimerType
typedef TimerType::Sentry SentryType
using HCSRView = HCSRViewT<SYCLBEllPackMatrix<ValueType>>
Public Types inherited from Alien::IMatrixImpl
typedef Arccore::Real ValueType
 Type of the values stored in the matrix.

Public Member Functions

 SYCLBEllPackMatrix ()
 SYCLBEllPackMatrix (const MultiMatrixImpl *multi_impl)
virtual ~SYCLBEllPackMatrix ()
void setTraceMng (ITraceMng *trace_mng)
ProfileType const & getProfile () const
HCSRView hcsrView (BackEnd::Memory::eType memory, int nrows, int nnz) const
ValueType * getAddressData ()
ValueType * data ()
ValueType const * getAddressData () const
ValueType const * data () const
IMessagePassingMng * getParallelMng ()
bool initMatrix (Arccore::MessagePassing::IMessagePassingMng *parallel_mng, Integer local_offset, Integer global_size, std::size_t nrows, int const *kcol, int const *cols, SimpleCSRInternal::DistStructInfo const &matrix_dist_info, int block_size=1)
SYCLBEllPackMatrixcloneTo (const MultiMatrixImpl *multi) const
bool isParallel () const
Integer getLocalSize () const
Integer getLocalOffset () const
Integer getGlobalSize () const
Integer getGhostSize () const
Integer getAllocSize () const
Integer blockSize () const
void setBlockSize (Integer block_size)
bool setMatrixValues (Arccore::Real const *values, bool only_host)
void copy (SYCLBEllPackMatrix const &matrix)
void notifyChanges ()
void endUpdate ()
void mult (SYCLVector< ValueType > const &x, SYCLVector< ValueType > &y) const
void endDistMult (SYCLVector< ValueType > const &x, SYCLVector< ValueType > &y) const
void addLMult (ValueType alpha, SYCLVector< ValueType > const &x, SYCLVector< ValueType > &y) const
void addUMult (ValueType alpha, SYCLVector< ValueType > const &x, SYCLVector< ValueType > &y) const
void multDiag (SYCLVector< ValueType > const &x, SYCLVector< ValueType > &y) const
void multDiag (SYCLVector< ValueType > &y) const
void computeDiag (SYCLVector< ValueType > &y) const
void multInvDiag (SYCLVector< ValueType > &y) const
void computeInvDiag (SYCLVector< ValueType > &y) const
void scal (SYCLVector< ValueType > const &diag)
const DistStructInfo & getDistStructInfo () const
Alien::SimpleCSRInternal::CommProperty::ePolicyType getSendPolicy () const
Alien::SimpleCSRInternal::CommProperty::ePolicyType getRecvPolicy () const
MatrixInternalType * internal ()
MatrixInternalType const * internal () const
void allocateDevicePointers (std::size_t nrows, std::size_t nnz, IndexType **rows, IndexType **ncols, IndexType **cols, ValueType **values) const
void freeDevicePointers (IndexType *rows, IndexType *ncols, IndexType *cols, ValueType *values) const
void copyDevicePointers (std::size_t nrows, std::size_t nnz, IndexType *rows, IndexType *ncols, IndexType *cols, ValueType *values) const
Public Member Functions inherited from Alien::IMatrixImpl
 IMatrixImpl (const MultiMatrixImpl *multi_impl, BackEndId backend="")
 Constructor.
virtual ~IMatrixImpl () override=default
 Free resources.
 IMatrixImpl (const IMatrixImpl &src)=delete
 IMatrixImpl (IMatrixImpl &&src)=delete
IMatrixImploperator= (const IMatrixImpl &src)=delete
IMatrixImploperator= (IMatrixImpl &&src)=delete
virtual void clear ()
 Wipe out internal data.
virtual const ISpacerowSpace () const
 Get the row space associated to the matrix \ returns The row space.
virtual const ISpacecolSpace () const
 Get the row space associated to the matrix \ returns The row space.
virtual const MatrixDistributiondistribution () const
 Get the distribution of the matrix.
virtual BackEndId backend () const
virtual const Blockblock () const
 Get block datas of the matrix.
virtual const VBlockvblock () const
 Get block datas of the matrix.
virtual const VBlockrowBlock () const
 Get row block datas of the matrix.
virtual const VBlockcolBlock () const
 Get col block datas of the matrix.
const MultiMatrixImplimpls () const
Public Member Functions inherited from Alien::Timestamp
 Timestamp (const TimestampMng *manager)
virtual ~Timestamp ()
 Destructeur de la classe.
virtual Int64 timestamp () const
 Donne la valeur courante du timestamp.
void updateTimestamp ()
 Met à jour le timestamp.
void copyTimestamp (const Timestamp &v)
 Copy un autre timestamp.
void setTimestamp (const TimestampMng *manager, const Int64 timestamp)
Public Member Functions inherited from Alien::ObjectWithTrace
template<typename T>
void alien_info (T &&t) const
template<typename T>
void alien_debug (T &&t) const
template<typename T>
void alien_warning (T &&t) const
template<typename T>
void alien_fatal (T &&t) const
ITraceMng * traceMng () const

Static Public Attributes

static constexpr bool on_host_only = false

Friends

class SYCLInternal::SYCLBEllPackMatrixMultT< ValueType >

Additional Inherited Members

Protected Member Functions inherited from Alien::ObjectWithTrace
TraceMessage cout () const
Protected Attributes inherited from Alien::IMatrixImpl
const MultiMatrixImplm_multi_impl
 Pointer on matrices implementation.
BackEndId m_backend
 Backend id.

Detailed Description

template<typename ValueT>
class Alien::SYCLBEllPackMatrix< ValueT >

Definition at line 72 of file SYCLBEllPackMatrix.h.

Member Typedef Documentation

◆ DistStructInfo

template<typename ValueT>
typedef SYCLInternal::SYCLDistStructInfo Alien::SYCLBEllPackMatrix< ValueT >::DistStructInfo

Definition at line 82 of file SYCLBEllPackMatrix.h.

◆ HCSRView

template<typename ValueT>
using Alien::SYCLBEllPackMatrix< ValueT >::HCSRView = HCSRViewT<SYCLBEllPackMatrix<ValueType>>

Definition at line 94 of file SYCLBEllPackMatrix.h.

◆ IndexType

template<typename ValueT>
typedef ProfileType::IndexType Alien::SYCLBEllPackMatrix< ValueT >::IndexType

Definition at line 88 of file SYCLBEllPackMatrix.h.

◆ MatrixInternalType

template<typename ValueT>
typedef SYCLInternal::MatrixInternal<ValueType,PKSIZE> Alien::SYCLBEllPackMatrix< ValueT >::MatrixInternalType

Definition at line 83 of file SYCLBEllPackMatrix.h.

◆ ProfileInternalType

template<typename ValueT>
typedef BEllPackStructInfo<PKSIZE,int> Alien::SYCLBEllPackMatrix< ValueT >::ProfileInternalType

Definition at line 86 of file SYCLBEllPackMatrix.h.

◆ ProfileType

template<typename ValueT>
typedef BEllPackStructInfo<PKSIZE,int> Alien::SYCLBEllPackMatrix< ValueT >::ProfileType

Definition at line 87 of file SYCLBEllPackMatrix.h.

◆ SentryType

template<typename ValueT>
typedef TimerType::Sentry Alien::SYCLBEllPackMatrix< ValueT >::SentryType

Definition at line 91 of file SYCLBEllPackMatrix.h.

◆ TagType

template<typename ValueT>
typedef BackEnd::tag::sycl Alien::SYCLBEllPackMatrix< ValueT >::TagType

Definition at line 78 of file SYCLBEllPackMatrix.h.

◆ TimerType

template<typename ValueT>
typedef Alien::StdTimer Alien::SYCLBEllPackMatrix< ValueT >::TimerType

Definition at line 90 of file SYCLBEllPackMatrix.h.

◆ value_type

template<typename ValueT>
typedef ValueT Alien::SYCLBEllPackMatrix< ValueT >::value_type

Definition at line 80 of file SYCLBEllPackMatrix.h.

◆ ValueType

template<typename ValueT>
typedef ValueT Alien::SYCLBEllPackMatrix< ValueT >::ValueType

Definition at line 79 of file SYCLBEllPackMatrix.h.

Constructor & Destructor Documentation

◆ SYCLBEllPackMatrix() [1/2]

template<typename ValueT>
Alien::SYCLBEllPackMatrix< ValueT >::SYCLBEllPackMatrix ( )

Constructeur de la classe

Definition at line 3327 of file SYCLBEllPackMatrix.cc.

References Alien::IMatrixImpl::IMatrixImpl(), and SYCLBEllPackMatrix().

Referenced by SYCLBEllPackMatrix().

◆ SYCLBEllPackMatrix() [2/2]

template<typename ValueT>
Alien::SYCLBEllPackMatrix< ValueT >::SYCLBEllPackMatrix ( const MultiMatrixImpl * multi_impl)

Constructeur de la classe

Definition at line 3334 of file SYCLBEllPackMatrix.cc.

References Alien::IMatrixImpl::IMatrixImpl().

◆ ~SYCLBEllPackMatrix()

template<typename ValueT>
Alien::SYCLBEllPackMatrix< ValueT >::~SYCLBEllPackMatrix ( )
virtual

Destructeur de la classe

Definition at line 3341 of file SYCLBEllPackMatrix.cc.

Member Function Documentation

◆ addLMult()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::addLMult ( ValueType alpha,
SYCLVector< ValueType > const & x,
SYCLVector< ValueType > & y ) const

Definition at line 3577 of file SYCLBEllPackMatrix.cc.

◆ addUMult()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::addUMult ( ValueType alpha,
SYCLVector< ValueType > const & x,
SYCLVector< ValueType > & y ) const

Definition at line 3584 of file SYCLBEllPackMatrix.cc.

◆ allocateDevicePointers()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::allocateDevicePointers ( std::size_t nrows,
std::size_t nnz,
IndexType ** rows,
IndexType ** ncols,
IndexType ** cols,
ValueType ** values ) const

Definition at line 3679 of file SYCLBEllPackMatrix.cc.

◆ blockSize()

template<typename ValueT>
Integer Alien::SYCLBEllPackMatrix< ValueT >::blockSize ( ) const
inline

Definition at line 151 of file SYCLBEllPackMatrix.h.

◆ cloneTo()

template<typename ValueT>
SYCLBEllPackMatrix< ValueT > * Alien::SYCLBEllPackMatrix< ValueT >::cloneTo ( const MultiMatrixImpl * multi) const

Definition at line 3501 of file SYCLBEllPackMatrix.cc.

◆ computeDiag()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::computeDiag ( SYCLVector< ValueType > & y) const

Definition at line 3603 of file SYCLBEllPackMatrix.cc.

◆ computeInvDiag()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::computeInvDiag ( SYCLVector< ValueType > & y) const

Definition at line 3621 of file SYCLBEllPackMatrix.cc.

◆ copy()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::copy ( SYCLBEllPackMatrix< ValueT > const & matrix)

Definition at line 3640 of file SYCLBEllPackMatrix.cc.

◆ copyDevicePointers()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::copyDevicePointers ( std::size_t nrows,
std::size_t nnz,
IndexType * rows,
IndexType * ncols,
IndexType * cols,
ValueType * values ) const

Definition at line 3715 of file SYCLBEllPackMatrix.cc.

◆ data() [1/2]

template<typename ValueT>
ValueT * Alien::SYCLBEllPackMatrix< ValueT >::data ( )

Definition at line 3559 of file SYCLBEllPackMatrix.cc.

◆ data() [2/2]

template<typename ValueT>
ValueT const * Alien::SYCLBEllPackMatrix< ValueT >::data ( ) const

Definition at line 3547 of file SYCLBEllPackMatrix.cc.

◆ endDistMult()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::endDistMult ( SYCLVector< ValueType > const & x,
SYCLVector< ValueType > & y ) const

Definition at line 3571 of file SYCLBEllPackMatrix.cc.

◆ endUpdate()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::endUpdate ( )

Definition at line 3532 of file SYCLBEllPackMatrix.cc.

◆ freeDevicePointers()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::freeDevicePointers ( IndexType * rows,
IndexType * ncols,
IndexType * cols,
ValueType * values ) const

Definition at line 3702 of file SYCLBEllPackMatrix.cc.

◆ getAddressData() [1/2]

template<typename ValueT>
ValueT * Alien::SYCLBEllPackMatrix< ValueT >::getAddressData ( )

Definition at line 3553 of file SYCLBEllPackMatrix.cc.

◆ getAddressData() [2/2]

template<typename ValueT>
ValueT const * Alien::SYCLBEllPackMatrix< ValueT >::getAddressData ( ) const

Definition at line 3541 of file SYCLBEllPackMatrix.cc.

◆ getAllocSize()

template<typename ValueT>
Integer Alien::SYCLBEllPackMatrix< ValueT >::getAllocSize ( ) const
inline

Definition at line 149 of file SYCLBEllPackMatrix.h.

◆ getDistStructInfo()

template<typename ValueT>
const DistStructInfo & Alien::SYCLBEllPackMatrix< ValueT >::getDistStructInfo ( ) const
inline

Definition at line 196 of file SYCLBEllPackMatrix.h.

◆ getGhostSize()

template<typename ValueT>
Integer Alien::SYCLBEllPackMatrix< ValueT >::getGhostSize ( ) const
inline

Definition at line 147 of file SYCLBEllPackMatrix.h.

◆ getGlobalSize()

template<typename ValueT>
Integer Alien::SYCLBEllPackMatrix< ValueT >::getGlobalSize ( ) const
inline

Definition at line 145 of file SYCLBEllPackMatrix.h.

◆ getLocalOffset()

template<typename ValueT>
Integer Alien::SYCLBEllPackMatrix< ValueT >::getLocalOffset ( ) const
inline

Definition at line 143 of file SYCLBEllPackMatrix.h.

◆ getLocalSize()

template<typename ValueT>
Integer Alien::SYCLBEllPackMatrix< ValueT >::getLocalSize ( ) const
inline

Definition at line 141 of file SYCLBEllPackMatrix.h.

◆ getParallelMng()

template<typename ValueT>
IMessagePassingMng * Alien::SYCLBEllPackMatrix< ValueT >::getParallelMng ( )
inline

Definition at line 122 of file SYCLBEllPackMatrix.h.

◆ getProfile()

template<typename ValueT>
ProfileType const & Alien::SYCLBEllPackMatrix< ValueT >::getProfile ( ) const
inline

Definition at line 109 of file SYCLBEllPackMatrix.h.

◆ getRecvPolicy()

template<typename ValueT>
Alien::SimpleCSRInternal::CommProperty::ePolicyType Alien::SYCLBEllPackMatrix< ValueT >::getRecvPolicy ( ) const
inline

Definition at line 203 of file SYCLBEllPackMatrix.h.

◆ getSendPolicy()

template<typename ValueT>
Alien::SimpleCSRInternal::CommProperty::ePolicyType Alien::SYCLBEllPackMatrix< ValueT >::getSendPolicy ( ) const
inline

Definition at line 198 of file SYCLBEllPackMatrix.h.

◆ hcsrView()

template<typename ValueT>
SYCLBEllPackMatrix< ValueT >::HCSRView Alien::SYCLBEllPackMatrix< ValueT >::hcsrView ( BackEnd::Memory::eType memory,
int nrows,
int nnz ) const

Definition at line 3729 of file SYCLBEllPackMatrix.cc.

◆ initMatrix()

template<typename ValueT>
bool Alien::SYCLBEllPackMatrix< ValueT >::initMatrix ( Arccore::MessagePassing::IMessagePassingMng * parallel_mng,
Integer local_offset,
Integer global_size,
std::size_t nrows,
int const * kcol,
int const * cols,
SimpleCSRInternal::DistStructInfo const & matrix_dist_info,
int block_size = 1 )

Definition at line 3349 of file SYCLBEllPackMatrix.cc.

◆ internal() [1/2]

template<typename ValueT>
MatrixInternalType * Alien::SYCLBEllPackMatrix< ValueT >::internal ( )
inline

Definition at line 208 of file SYCLBEllPackMatrix.h.

◆ internal() [2/2]

template<typename ValueT>
MatrixInternalType const * Alien::SYCLBEllPackMatrix< ValueT >::internal ( ) const
inline

Definition at line 210 of file SYCLBEllPackMatrix.h.

◆ isParallel()

template<typename ValueT>
bool Alien::SYCLBEllPackMatrix< ValueT >::isParallel ( ) const
inline

Definition at line 139 of file SYCLBEllPackMatrix.h.

◆ mult()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::mult ( SYCLVector< ValueType > const & x,
SYCLVector< ValueType > & y ) const

Definition at line 3565 of file SYCLBEllPackMatrix.cc.

◆ multDiag() [1/2]

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::multDiag ( SYCLVector< ValueType > & y) const

Definition at line 3597 of file SYCLBEllPackMatrix.cc.

◆ multDiag() [2/2]

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::multDiag ( SYCLVector< ValueType > const & x,
SYCLVector< ValueType > & y ) const

Definition at line 3591 of file SYCLBEllPackMatrix.cc.

◆ multInvDiag()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::multInvDiag ( SYCLVector< ValueType > & y) const

Definition at line 3615 of file SYCLBEllPackMatrix.cc.

◆ notifyChanges()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::notifyChanges ( )

Definition at line 3525 of file SYCLBEllPackMatrix.cc.

◆ scal()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::scal ( SYCLVector< ValueType > const & diag)

Definition at line 3633 of file SYCLBEllPackMatrix.cc.

◆ setBlockSize()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::setBlockSize ( Integer block_size)
inline

Definition at line 165 of file SYCLBEllPackMatrix.h.

◆ setMatrixValues()

template<typename ValueT>
bool Alien::SYCLBEllPackMatrix< ValueT >::setMatrixValues ( Arccore::Real const * values,
bool only_host )

Definition at line 3519 of file SYCLBEllPackMatrix.cc.

◆ setTraceMng()

template<typename ValueT>
void Alien::SYCLBEllPackMatrix< ValueT >::setTraceMng ( ITraceMng * trace_mng)
inline

Definition at line 107 of file SYCLBEllPackMatrix.h.

◆ SYCLInternal::SYCLBEllPackMatrixMultT< ValueType >

template<typename ValueT>
friend class SYCLInternal::SYCLBEllPackMatrixMultT< ValueType >
friend

Definition at line 277 of file SYCLBEllPackMatrix.h.

Member Data Documentation

◆ on_host_only

template<typename ValueT>
bool Alien::SYCLBEllPackMatrix< ValueT >::on_host_only = false
staticconstexpr

Definition at line 76 of file SYCLBEllPackMatrix.h.


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