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

Classes

struct  CommInfo

Public Member Functions

 SimpleCSRDistributor (const RedistributorCommPlan *commPlan, const VectorDistribution &source_distribution, const Alien::SimpleCSRInternal::CSRStructInfo *src_profile)
template<typename NumT>
void distribute (const SimpleCSRMatrix< NumT > &src, SimpleCSRMatrix< NumT > &dst)
template<typename NumT>
void distribute (const SimpleCSRVector< NumT > &src, SimpleCSRVector< NumT > &dst)
std::shared_ptr< const Alien::SimpleCSRInternal::CSRStructInfogetDstProfile () const

Private Member Functions

template<typename T>
std::optional< T > _owner (const std::vector< T > &offset, T global_row_id)
template<typename T>
void _distribute (const int bb, const T *src, T *dst)
template<typename T>
void _resizeBuffers (const int bb)
void _finishExchange ()
std::optional< int > _dstMe (int) const

Private Attributes

const RedistributorCommPlanm_comm_plan = nullptr
const Alien::SimpleCSRInternal::CSRStructInfom_src_profile = nullptr
std::shared_ptr< Alien::SimpleCSRInternal::CSRStructInfom_dst_profile
std::map< int, CommInfom_send_comm_info
std::map< int, CommInfom_recv_comm_info
std::vector< std::pair< Integer, Integer > > m_src2dst_row_list

Detailed Description

Definition at line 19 of file SimpleCSRDistributor.h.

Constructor & Destructor Documentation

◆ SimpleCSRDistributor()

Alien::SimpleCSRDistributor::SimpleCSRDistributor ( const RedistributorCommPlan * commPlan,
const VectorDistribution & source_distribution,
const Alien::SimpleCSRInternal::CSRStructInfo * src_profile )

Definition at line 17 of file SimpleCSRDistributorImpl.h.

Member Function Documentation

◆ _distribute()

template<typename T>
void Alien::SimpleCSRDistributor::_distribute ( const int bb,
const T * src,
T * dst )
private

Definition at line 179 of file SimpleCSRDistributorImpl.h.

◆ _dstMe()

std::optional< int > Alien::SimpleCSRDistributor::_dstMe ( int ) const
private

Definition at line 346 of file SimpleCSRDistributorImpl.h.

◆ _finishExchange()

void Alien::SimpleCSRDistributor::_finishExchange ( )
private

Definition at line 313 of file SimpleCSRDistributorImpl.h.

◆ _owner()

template<typename T>
std::optional< T > Alien::SimpleCSRDistributor::_owner ( const std::vector< T > & offset,
T global_row_id )
private

Definition at line 326 of file SimpleCSRDistributorImpl.h.

◆ _resizeBuffers()

template<typename T>
void Alien::SimpleCSRDistributor::_resizeBuffers ( const int bb)
private

Definition at line 301 of file SimpleCSRDistributorImpl.h.

◆ distribute() [1/2]

template<typename NumT>
void Alien::SimpleCSRDistributor::distribute ( const SimpleCSRMatrix< NumT > & src,
SimpleCSRMatrix< NumT > & dst )

Definition at line 238 of file SimpleCSRDistributorImpl.h.

◆ distribute() [2/2]

template<typename NumT>
void Alien::SimpleCSRDistributor::distribute ( const SimpleCSRVector< NumT > & src,
SimpleCSRVector< NumT > & dst )

Definition at line 295 of file SimpleCSRDistributorImpl.h.

◆ getDstProfile()

std::shared_ptr< const Alien::SimpleCSRInternal::CSRStructInfo > Alien::SimpleCSRDistributor::getDstProfile ( ) const
inlinenodiscard

Definition at line 33 of file SimpleCSRDistributor.h.

Member Data Documentation

◆ m_comm_plan

const RedistributorCommPlan* Alien::SimpleCSRDistributor::m_comm_plan = nullptr
private

Definition at line 58 of file SimpleCSRDistributor.h.

◆ m_dst_profile

std::shared_ptr<Alien::SimpleCSRInternal::CSRStructInfo> Alien::SimpleCSRDistributor::m_dst_profile
private

Definition at line 61 of file SimpleCSRDistributor.h.

◆ m_recv_comm_info

std::map<int, CommInfo> Alien::SimpleCSRDistributor::m_recv_comm_info
private

Definition at line 65 of file SimpleCSRDistributor.h.

◆ m_send_comm_info

std::map<int, CommInfo> Alien::SimpleCSRDistributor::m_send_comm_info
private

Definition at line 64 of file SimpleCSRDistributor.h.

◆ m_src2dst_row_list

std::vector<std::pair<Integer, Integer> > Alien::SimpleCSRDistributor::m_src2dst_row_list
private

Definition at line 68 of file SimpleCSRDistributor.h.

◆ m_src_profile

const Alien::SimpleCSRInternal::CSRStructInfo* Alien::SimpleCSRDistributor::m_src_profile = nullptr
private

Definition at line 60 of file SimpleCSRDistributor.h.


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