Template Numerical Library version\ main:9e7b0f4
Loading...
Searching...
No Matches
TNL::Matrices::DistributedMatrix< Matrix > Class Template Reference
Collaboration diagram for TNL::Matrices::DistributedMatrix< Matrix >:

Public Types

using ConstMatrixRow = typename Matrix::ConstRowView
using DeviceType = typename Matrix::DeviceType
using IndexType = typename Matrix::IndexType
using LocalRangeType = Containers::Subrange< typename Matrix::IndexType >
using MatrixRow = typename Matrix::RowView
using MatrixType = Matrix
using RealType = typename Matrix::RealType
using RowCapacitiesType = Containers::DistributedVector< IndexType, DeviceType, IndexType >
template<typename _Real = RealType, typename _Device = DeviceType, typename _Index = IndexType>
using Self = DistributedMatrix< typename MatrixType::template Self< _Real, _Device, _Index > >

Public Member Functions

 DistributedMatrix (DistributedMatrix &)=default
 DistributedMatrix (LocalRangeType localRowRange, IndexType rows, IndexType columns, const MPI::Comm &communicator)
template<typename Function>
void forAllElements (Function &&function)
template<typename Function>
void forAllElements (Function &&function) const
template<typename Function>
void forAllRows (Function &&function)
template<typename Function>
void forAllRows (Function &&function) const
template<typename Function>
void forElements (IndexType begin, IndexType end, Function &&function)
template<typename Function>
void forElements (IndexType begin, IndexType end, Function &&function) const
template<typename Function>
void forRows (IndexType begin, IndexType end, Function &&function)
template<typename Function>
void forRows (IndexType begin, IndexType end, Function &&function) const
IndexType getColumns () const
const MPI::CommgetCommunicator () const
template<typename Vector>
void getCompressedRowLengths (Vector &rowLengths) const
RealType getElement (IndexType row, IndexType column) const
RealType getElementFast (IndexType row, IndexType column) const
Matrix & getLocalMatrix ()
const Matrix & getLocalMatrix () const
const LocalRangeTypegetLocalRowRange () const
MatrixRow getRow (IndexType row)
ConstMatrixRow getRow (IndexType row) const
IndexType getRowCapacity (IndexType row) const
IndexType getRows () const
DistributedMatrixoperator= (const DistributedMatrix &matrix)
template<typename MatrixT>
DistributedMatrixoperator= (const MatrixT &matrix)
template<typename MatrixT>
DistributedMatrix< Matrix > & operator= (const MatrixT &matrix)
template<typename Fetch, typename Reduce, typename Keep, typename FetchReal>
void reduceAllRows (Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity)
template<typename Fetch, typename Reduce, typename Keep, typename FetchReal>
void reduceAllRows (Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity) const
template<typename Fetch, typename Reduce, typename Keep, typename FetchReal>
void reduceRows (IndexType begin, IndexType end, Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity)
template<typename Fetch, typename Reduce, typename Keep, typename FetchReal>
void reduceRows (IndexType begin, IndexType end, Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity) const
void reset ()
void setDistribution (LocalRangeType localRowRange, IndexType rows, IndexType columns, const MPI::Comm &communicator)
void setElement (IndexType row, IndexType column, RealType value)
template<typename MatrixT>
void setLike (const MatrixT &matrix)
template<typename RowCapacitiesVector>
void setRowCapacities (const RowCapacitiesVector &rowCapacities)
void updateVectorProductCommunicationPattern ()
template<typename InVector, typename OutVector>
std::enable_if_t< ! HasGetCommunicatorMethod< InVector >::value > vectorProduct (const InVector &inVector, OutVector &outVector) const
template<typename InVector, typename OutVector>
std::enable_if_t< HasGetCommunicatorMethod< InVector >::value > vectorProduct (const InVector &inVector, OutVector &outVector) const

Protected Attributes

MPI::Comm communicator = MPI_COMM_NULL
Matrix localMatrix
LocalRangeType localRowRange
IndexType rows = 0

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