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

#include <CSRMatrixSpGEMMDevice.h>

Classes

struct  SpGEMMCommInfo
 

Public Types

using allocator_type = typename Config::allocator_type
 
using config_type = Config
 
using gidx_t = typename Config::gidx_t
 
using lidx_t = typename Config::lidx_t
 
using localmatrixdata_t = typename matrixdata_t::localmatrixdata_t
 
using matrixdata_t = CSRMatrixData< Config >
 
using scalar_t = typename Config::scalar_t
 

Public Member Functions

 CSRMatrixSpGEMMDevice ()=default
 
 CSRMatrixSpGEMMDevice (std::shared_ptr< matrixdata_t > A_, std::shared_ptr< matrixdata_t > B_, std::shared_ptr< matrixdata_t > C_)
 
void multiply ()
 
void multiply (std::shared_ptr< localmatrixdata_t > A_data, std::shared_ptr< localmatrixdata_t > B_data, std::shared_ptr< localmatrixdata_t > C_data)
 
 ~CSRMatrixSpGEMMDevice ()=default
 

Protected Member Functions

void endBRemoteComm ()
 
void merge (std::shared_ptr< localmatrixdata_t > inL, std::shared_ptr< localmatrixdata_t > inR, std::shared_ptr< localmatrixdata_t > out)
 
void setupBRemoteComm ()
 
void startBRemoteComm ()
 

Protected Attributes

std::shared_ptr< matrixdata_tA
 
std::shared_ptr< localmatrixdata_tA_diag
 
std::shared_ptr< localmatrixdata_tA_offd
 
std::shared_ptr< matrixdata_tB
 
std::shared_ptr< localmatrixdata_tB_diag
 
std::shared_ptr< localmatrixdata_tB_offd
 
std::shared_ptr< localmatrixdata_tBR_diag
 
std::shared_ptr< localmatrixdata_tBR_offd
 
std::shared_ptr< matrixdata_tC
 
std::shared_ptr< localmatrixdata_tC_diag
 
std::shared_ptr< localmatrixdata_tC_diag_diag
 
std::shared_ptr< localmatrixdata_tC_diag_offd
 
std::shared_ptr< localmatrixdata_tC_offd
 
std::shared_ptr< localmatrixdata_tC_offd_diag
 
std::shared_ptr< localmatrixdata_tC_offd_offd
 
AMP_MPI comm
 
CSRMatrixCommunicator< Config > d_csr_comm
 
std::map< int, SpGEMMCommInfod_dest_info
 
lidx_t d_num_rows
 
std::map< int, std::shared_ptr< localmatrixdata_t > > d_recv_matrices
 
std::map< int, std::shared_ptr< localmatrixdata_t > > d_send_matrices
 
std::map< int, SpGEMMCommInfod_src_info
 

Detailed Description

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

Definition at line 26 of file CSRMatrixSpGEMMDevice.h.

Member Typedef Documentation

◆ allocator_type

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

Definition at line 29 of file CSRMatrixSpGEMMDevice.h.

◆ config_type

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::config_type = Config

Definition at line 30 of file CSRMatrixSpGEMMDevice.h.

◆ gidx_t

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

Definition at line 34 of file CSRMatrixSpGEMMDevice.h.

◆ lidx_t

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

Definition at line 33 of file CSRMatrixSpGEMMDevice.h.

◆ localmatrixdata_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::localmatrixdata_t = typename matrixdata_t::localmatrixdata_t

Definition at line 32 of file CSRMatrixSpGEMMDevice.h.

◆ matrixdata_t

template<typename Config >
using AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::matrixdata_t = CSRMatrixData<Config>

Definition at line 31 of file CSRMatrixSpGEMMDevice.h.

◆ scalar_t

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

Definition at line 35 of file CSRMatrixSpGEMMDevice.h.

Constructor & Destructor Documentation

◆ CSRMatrixSpGEMMDevice() [1/2]

template<typename Config >
AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::CSRMatrixSpGEMMDevice ( )
default

◆ CSRMatrixSpGEMMDevice() [2/2]

template<typename Config >
AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::CSRMatrixSpGEMMDevice ( std::shared_ptr< matrixdata_t A_,
std::shared_ptr< matrixdata_t B_,
std::shared_ptr< matrixdata_t C_ 
)
inline

◆ ~CSRMatrixSpGEMMDevice()

template<typename Config >
AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::~CSRMatrixSpGEMMDevice ( )
default

Member Function Documentation

◆ endBRemoteComm()

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::endBRemoteComm ( )
protected

◆ merge()

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::merge ( std::shared_ptr< localmatrixdata_t inL,
std::shared_ptr< localmatrixdata_t inR,
std::shared_ptr< localmatrixdata_t out 
)
protected

◆ multiply() [1/2]

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::multiply ( )

◆ multiply() [2/2]

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::multiply ( std::shared_ptr< localmatrixdata_t A_data,
std::shared_ptr< localmatrixdata_t B_data,
std::shared_ptr< localmatrixdata_t C_data 
)

◆ setupBRemoteComm()

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::setupBRemoteComm ( )
protected

◆ startBRemoteComm()

template<typename Config >
void AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::startBRemoteComm ( )
protected

Member Data Documentation

◆ A

template<typename Config >
std::shared_ptr<matrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::A
protected

Definition at line 79 of file CSRMatrixSpGEMMDevice.h.

◆ A_diag

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::A_diag
protected

Definition at line 84 of file CSRMatrixSpGEMMDevice.h.

◆ A_offd

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::A_offd
protected

Definition at line 85 of file CSRMatrixSpGEMMDevice.h.

◆ B

template<typename Config >
std::shared_ptr<matrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::B
protected

◆ B_diag

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::B_diag
protected

Definition at line 86 of file CSRMatrixSpGEMMDevice.h.

◆ B_offd

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::B_offd
protected

Definition at line 87 of file CSRMatrixSpGEMMDevice.h.

◆ BR_diag

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::BR_diag
protected

Definition at line 90 of file CSRMatrixSpGEMMDevice.h.

◆ BR_offd

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::BR_offd
protected

Definition at line 91 of file CSRMatrixSpGEMMDevice.h.

◆ C

template<typename Config >
std::shared_ptr<matrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::C
protected

◆ C_diag

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::C_diag
protected

Definition at line 94 of file CSRMatrixSpGEMMDevice.h.

◆ C_diag_diag

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::C_diag_diag
protected

Definition at line 107 of file CSRMatrixSpGEMMDevice.h.

◆ C_diag_offd

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::C_diag_offd
protected

Definition at line 108 of file CSRMatrixSpGEMMDevice.h.

◆ C_offd

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::C_offd
protected

Definition at line 95 of file CSRMatrixSpGEMMDevice.h.

◆ C_offd_diag

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::C_offd_diag
protected

Definition at line 109 of file CSRMatrixSpGEMMDevice.h.

◆ C_offd_offd

template<typename Config >
std::shared_ptr<localmatrixdata_t> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::C_offd_offd
protected

Definition at line 110 of file CSRMatrixSpGEMMDevice.h.

◆ comm

template<typename Config >
AMP_MPI AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::comm
protected

◆ d_csr_comm

template<typename Config >
CSRMatrixCommunicator<Config> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::d_csr_comm
protected

Definition at line 103 of file CSRMatrixSpGEMMDevice.h.

◆ d_dest_info

template<typename Config >
std::map<int, SpGEMMCommInfo> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::d_dest_info
protected

Definition at line 133 of file CSRMatrixSpGEMMDevice.h.

◆ d_num_rows

template<typename Config >
lidx_t AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::d_num_rows
protected

Definition at line 99 of file CSRMatrixSpGEMMDevice.h.

◆ d_recv_matrices

template<typename Config >
std::map<int, std::shared_ptr<localmatrixdata_t> > AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::d_recv_matrices
protected

Definition at line 136 of file CSRMatrixSpGEMMDevice.h.

◆ d_send_matrices

template<typename Config >
std::map<int, std::shared_ptr<localmatrixdata_t> > AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::d_send_matrices
protected

Definition at line 135 of file CSRMatrixSpGEMMDevice.h.

◆ d_src_info

template<typename Config >
std::map<int, SpGEMMCommInfo> AMP::LinearAlgebra::CSRMatrixSpGEMMDevice< Config >::d_src_info
protected

Definition at line 130 of file CSRMatrixSpGEMMDevice.h.


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