Advanced Multi-Physics (AMP)
On-Line Documentation
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
AMP::LinearAlgebra::CSRMatrixCommunicator< Config > Class Template Reference

#include <CSRMatrixCommunicator.h>

Public Types

using allocator_type = typename Config::allocator_type
 
using ConfigHost = typename Config::template set_alloc< alloc::host >::type
 
using gidx_t = typename Config::gidx_t
 
using gidxAllocator_t = typename std::allocator_traits< allocator_type >::template rebind_alloc< gidx_t >
 
using lidx_t = typename Config::lidx_t
 
using lidxAllocator_t = typename std::allocator_traits< allocator_type >::template rebind_alloc< lidx_t >
 
using localmatrixdata_t = CSRLocalMatrixData< Config >
 
using scalar_t = typename Config::scalar_t
 
using scalarAllocator_t = typename std::allocator_traits< allocator_type >::template rebind_alloc< scalar_t >
 

Public Member Functions

 CSRMatrixCommunicator ()
 
 CSRMatrixCommunicator (std::shared_ptr< CommunicationList > comm_list, const bool flip_sendrecv=false)
 
std::map< int, std::shared_ptr< localmatrixdata_t > > recvMatrices (gidx_t first_row, gidx_t last_row, gidx_t first_col, gidx_t last_col)
 
void sendMatrices (const std::map< int, std::shared_ptr< localmatrixdata_t > > &matrices)
 

Protected Member Functions

void countSources (const std::map< int, std::shared_ptr< localmatrixdata_t > > &matrices)
 
std::map< int, std::shared_ptr< localmatrixdata_t > > migrateFromHost (const std::map< int, std::shared_ptr< CSRLocalMatrixData< ConfigHost > > > &matrices)
 
void migrateToHost (const std::map< int, std::shared_ptr< localmatrixdata_t > > &matrices)
 

Protected Attributes

std::vector< int > d_allowed_dest
 
AMP_MPI d_comm
 
std::shared_ptr< CSRMatrixCommunicator< ConfigHost > > d_migrate_comm
 
int d_num_allowed_sources
 
int d_num_sources
 
bool d_send_called
 
std::map< int, std::shared_ptr< CSRLocalMatrixData< ConfigHost > > > d_send_mat_migrate
 
std::vector< AMP_MPI::Requestd_send_requests
 
int d_tag_coeff
 
int d_tag_col
 
int d_tag_row
 
int d_tag_test
 

Static Protected Attributes

static constexpr bool MIGRATE_DEV = false
 

Detailed Description

template<typename Config>
class AMP::LinearAlgebra::CSRMatrixCommunicator< Config >

Definition at line 19 of file CSRMatrixCommunicator.h.

Member Typedef Documentation

◆ allocator_type

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::allocator_type = typename Config::allocator_type

Definition at line 26 of file CSRMatrixCommunicator.h.

◆ ConfigHost

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::ConfigHost = typename Config::template set_alloc<alloc::host>::type

Definition at line 36 of file CSRMatrixCommunicator.h.

◆ gidx_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::gidx_t = typename Config::gidx_t

Definition at line 22 of file CSRMatrixCommunicator.h.

◆ gidxAllocator_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::gidxAllocator_t = typename std::allocator_traits<allocator_type>::template rebind_alloc<gidx_t>

Definition at line 28 of file CSRMatrixCommunicator.h.

◆ lidx_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::lidx_t = typename Config::lidx_t

Definition at line 23 of file CSRMatrixCommunicator.h.

◆ lidxAllocator_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::lidxAllocator_t = typename std::allocator_traits<allocator_type>::template rebind_alloc<lidx_t>

Definition at line 30 of file CSRMatrixCommunicator.h.

◆ localmatrixdata_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::localmatrixdata_t = CSRLocalMatrixData<Config>

Definition at line 25 of file CSRMatrixCommunicator.h.

◆ scalar_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::scalar_t = typename Config::scalar_t

Definition at line 24 of file CSRMatrixCommunicator.h.

◆ scalarAllocator_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::scalarAllocator_t = typename std::allocator_traits<allocator_type>::template rebind_alloc<scalar_t>

Definition at line 32 of file CSRMatrixCommunicator.h.

Constructor & Destructor Documentation

◆ CSRMatrixCommunicator() [1/2]

template<typename Config >
AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::CSRMatrixCommunicator ( )
inline

Definition at line 38 of file CSRMatrixCommunicator.h.

◆ CSRMatrixCommunicator() [2/2]

template<typename Config >
AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::CSRMatrixCommunicator ( std::shared_ptr< CommunicationList comm_list,
const bool  flip_sendrecv = false 
)
inline

Member Function Documentation

◆ countSources()

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::countSources ( const std::map< int, std::shared_ptr< localmatrixdata_t > > &  matrices)
protected

◆ migrateFromHost()

template<typename Config >
std::map< int, std::shared_ptr< localmatrixdata_t > > AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::migrateFromHost ( const std::map< int, std::shared_ptr< CSRLocalMatrixData< ConfigHost > > > &  matrices)
protected

◆ migrateToHost()

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::migrateToHost ( const std::map< int, std::shared_ptr< localmatrixdata_t > > &  matrices)
protected

◆ recvMatrices()

template<typename Config >
std::map< int, std::shared_ptr< localmatrixdata_t > > AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::recvMatrices ( gidx_t  first_row,
gidx_t  last_row,
gidx_t  first_col,
gidx_t  last_col 
)

◆ sendMatrices()

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::sendMatrices ( const std::map< int, std::shared_ptr< localmatrixdata_t > > &  matrices)

Member Data Documentation

◆ d_allowed_dest

template<typename Config >
std::vector<int> AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_allowed_dest
protected

◆ d_comm

template<typename Config >
AMP_MPI AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_comm
protected

◆ d_migrate_comm

template<typename Config >
std::shared_ptr<CSRMatrixCommunicator<ConfigHost> > AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_migrate_comm
protected

◆ d_num_allowed_sources

template<typename Config >
int AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_num_allowed_sources
protected

◆ d_num_sources

template<typename Config >
int AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_num_sources
protected

Definition at line 94 of file CSRMatrixCommunicator.h.

◆ d_send_called

template<typename Config >
bool AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_send_called
protected

Definition at line 93 of file CSRMatrixCommunicator.h.

◆ d_send_mat_migrate

template<typename Config >
std::map<int, std::shared_ptr<CSRLocalMatrixData<ConfigHost> > > AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_send_mat_migrate
protected

Definition at line 101 of file CSRMatrixCommunicator.h.

◆ d_send_requests

template<typename Config >
std::vector<AMP_MPI::Request> AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_send_requests
protected

Definition at line 98 of file CSRMatrixCommunicator.h.

◆ d_tag_coeff

template<typename Config >
int AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_tag_coeff
protected

Definition at line 108 of file CSRMatrixCommunicator.h.

◆ d_tag_col

template<typename Config >
int AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_tag_col
protected

Definition at line 107 of file CSRMatrixCommunicator.h.

◆ d_tag_row

template<typename Config >
int AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_tag_row
protected

Definition at line 106 of file CSRMatrixCommunicator.h.

◆ d_tag_test

template<typename Config >
int AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::d_tag_test
protected

Definition at line 105 of file CSRMatrixCommunicator.h.

◆ MIGRATE_DEV

template<typename Config >
constexpr bool AMP::LinearAlgebra::CSRMatrixCommunicator< Config >::MIGRATE_DEV = false
staticconstexprprotected

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



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:42.
Comments on this page