COMBINATORIAL_BLAS 1.6
Loading...
Searching...
No Matches
combblas::SpParMat3D< IT, NT, DER > Class Template Reference

#include <SpParMat3D.h>

Public Types

typedef DER::LocalIT LocalIT
typedef DER::LocalNT LocalNT
typedef IT GlobalIT
typedef NT GlobalNT
typedef DER::LocalIT LocalIT
typedef DER::LocalNT LocalNT
typedef IT GlobalIT
typedef NT GlobalNT

Public Member Functions

 SpParMat3D (int nlayers)
 SpParMat3D (const SpParMat< IT, NT, DER > &A2D, int nlayers, bool colsplit, bool special=false)
 SpParMat3D (DER *myseq, std::shared_ptr< CommGrid3D > grid3d, bool colsplit, bool special=false)
 SpParMat3D (const SpParMat3D< IT, NT, DER > &A3D, bool colsplit)
 ~SpParMat3D ()
SpParMat< IT, NT, DER > Convert2D ()
float LoadImbalance () const
void FreeMemory ()
void PrintInfo () const
IT getnrow () const
IT getncol () const
IT getnnz () const
std::shared_ptr< SpParMat< IT, NT, DER > > GetLayerMat ()
DER * seqptr () const
bool isSpecial () const
bool isColSplit () const
template<typename LIT>
int Owner (IT total_m, IT total_n, IT grow, IT gcol, LIT &lrow, LIT &lcol) const
void LocalDim (IT total_m, IT total_n, IT &localm, IT &localn) const
void CalculateColSplitDistributionOfLayer (vector< typename DER::LocalIT > &divisions3d)
bool CheckSpParMatCompatibility ()
std::shared_ptr< CommGrid3D > getcommgrid () const
std::shared_ptr< CommGrid3D > getcommgrid3D () const
 SpParMat3D (int nlayers)
 SpParMat3D (const SpParMat< IT, NT, DER > &A2D, int nlayers, bool colsplit, bool special=false)
 SpParMat3D (DER *myseq, std::shared_ptr< CommGrid3D > grid3d, bool colsplit, bool special=false)
 SpParMat3D (const SpParMat3D< IT, NT, DER > &A3D, bool colsplit)
 ~SpParMat3D ()
SpParMat< IT, NT, DER > Convert2D ()
float LoadImbalance () const
void FreeMemory ()
void PrintInfo () const
IT getnrow () const
IT getncol () const
IT getnnz () const
std::shared_ptr< SpParMat< IT, NT, DER > > GetLayerMat ()
DER * seqptr () const
bool isSpecial () const
bool isColSplit () const
template<typename LIT>
int Owner (IT total_m, IT total_n, IT grow, IT gcol, LIT &lrow, LIT &lcol) const
void LocalDim (IT total_m, IT total_n, IT &localm, IT &localn) const
void CalculateColSplitDistributionOfLayer (vector< typename DER::LocalIT > &divisions3d)
bool CheckSpParMatCompatibility ()
std::shared_ptr< CommGrid3D > getcommgrid () const
std::shared_ptr< CommGrid3D > getcommgrid3D () const

Friends

template<typename SR, typename NUO, typename UDERO, typename IU, typename NU1, typename NU2, typename UDER1, typename UDER2>
SpParMat3D< IU, NUO, UDERO > Mult_AnXBn_SUMMA3D (SpParMat3D< IU, NU1, UDER1 > &A, SpParMat3D< IU, NU2, UDER2 > &B)
template<typename SR, typename NUO, typename UDERO, typename IU, typename NU1, typename NU2, typename UDER1, typename UDER2>
SpParMat3D< IU, NUO, UDERO > MemEfficientSpGEMM3D (SpParMat3D< IU, NU1, UDER1 > &A, SpParMat3D< IU, NU2, UDER2 > &B, int phases, NUO hardThreshold, IU selectNum, IU recoverNum, NUO recoverPct, int kselectVersion, int computationKernel, int64_t perProcessMemory)
template<typename SR, typename NUO, typename UDERO, typename IU, typename NU1, typename NU2, typename UDER1, typename UDER2>
SpParMat3D< IU, NUO, UDERO > Mult_AnXBn_SUMMA3D (SpParMat3D< IU, NU1, UDER1 > &A, SpParMat3D< IU, NU2, UDER2 > &B)
template<typename SR, typename NUO, typename UDERO, typename IU, typename NU1, typename NU2, typename UDER1, typename UDER2>
SpParMat3D< IU, NUO, UDERO > MemEfficientSpGEMM3D (SpParMat3D< IU, NU1, UDER1 > &A, SpParMat3D< IU, NU2, UDER2 > &B, int phases, NUO hardThreshold, IU selectNum, IU recoverNum, NUO recoverPct, int kselectVersion, int computationKernel, int64_t perProcessMemory)

Detailed Description

template<class IT, class NT, class DER>
class combblas::SpParMat3D< IT, NT, DER >

Definition at line 35 of file SpParMat3D.h.

Member Typedef Documentation

◆ GlobalIT [1/2]

template<class IT, class NT, class DER>
typedef IT combblas::SpParMat3D< IT, NT, DER >::GlobalIT

Definition at line 39 of file SpParMat3D.h.

◆ GlobalIT [2/2]

template<class IT, class NT, class DER>
typedef IT combblas::SpParMat3D< IT, NT, DER >::GlobalIT

Definition at line 39 of file SpParMat3D.h.

◆ GlobalNT [1/2]

template<class IT, class NT, class DER>
typedef NT combblas::SpParMat3D< IT, NT, DER >::GlobalNT

Definition at line 40 of file SpParMat3D.h.

◆ GlobalNT [2/2]

template<class IT, class NT, class DER>
typedef NT combblas::SpParMat3D< IT, NT, DER >::GlobalNT

Definition at line 40 of file SpParMat3D.h.

◆ LocalIT [1/2]

template<class IT, class NT, class DER>
typedef DER::LocalIT combblas::SpParMat3D< IT, NT, DER >::LocalIT

Definition at line 37 of file SpParMat3D.h.

◆ LocalIT [2/2]

template<class IT, class NT, class DER>
typedef DER::LocalIT combblas::SpParMat3D< IT, NT, DER >::LocalIT

Definition at line 37 of file SpParMat3D.h.

◆ LocalNT [1/2]

template<class IT, class NT, class DER>
typedef DER::LocalNT combblas::SpParMat3D< IT, NT, DER >::LocalNT

Definition at line 38 of file SpParMat3D.h.

◆ LocalNT [2/2]

template<class IT, class NT, class DER>
typedef DER::LocalNT combblas::SpParMat3D< IT, NT, DER >::LocalNT

Definition at line 38 of file SpParMat3D.h.

Constructor & Destructor Documentation

◆ SpParMat3D() [1/8]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::SpParMat3D ( int nlayers)

Definition at line 173 of file SpParMat3D.cpp.

◆ SpParMat3D() [2/8]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::SpParMat3D ( const SpParMat< IT, NT, DER > & A2D,
int nlayers,
bool colsplit,
bool special = false )

Definition at line 187 of file SpParMat3D.cpp.

◆ SpParMat3D() [3/8]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::SpParMat3D ( DER * myseq,
std::shared_ptr< CommGrid3D > grid3d,
bool colsplit,
bool special = false )

Definition at line 180 of file SpParMat3D.cpp.

◆ SpParMat3D() [4/8]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::SpParMat3D ( const SpParMat3D< IT, NT, DER > & A3D,
bool colsplit )

Definition at line 283 of file SpParMat3D.cpp.

◆ ~SpParMat3D() [1/2]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::~SpParMat3D ( )

Definition at line 166 of file SpParMat3D.cpp.

◆ SpParMat3D() [5/8]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::SpParMat3D ( int nlayers)

◆ SpParMat3D() [6/8]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::SpParMat3D ( const SpParMat< IT, NT, DER > & A2D,
int nlayers,
bool colsplit,
bool special = false )

◆ SpParMat3D() [7/8]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::SpParMat3D ( DER * myseq,
std::shared_ptr< CommGrid3D > grid3d,
bool colsplit,
bool special = false )

◆ SpParMat3D() [8/8]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::SpParMat3D ( const SpParMat3D< IT, NT, DER > & A3D,
bool colsplit )

◆ ~SpParMat3D() [2/2]

template<class IT, class NT, class DER>
combblas::SpParMat3D< IT, NT, DER >::~SpParMat3D ( )

Member Function Documentation

◆ CalculateColSplitDistributionOfLayer() [1/2]

template<class IT, class NT, class DER>
void combblas::SpParMat3D< IT, NT, DER >::CalculateColSplitDistributionOfLayer ( vector< typename DER::LocalIT > & divisions3d)

Definition at line 576 of file SpParMat3D.cpp.

◆ CalculateColSplitDistributionOfLayer() [2/2]

template<class IT, class NT, class DER>
void combblas::SpParMat3D< IT, NT, DER >::CalculateColSplitDistributionOfLayer ( vector< typename DER::LocalIT > & divisions3d)

◆ CheckSpParMatCompatibility() [1/2]

template<class IT, class NT, class DER>
bool combblas::SpParMat3D< IT, NT, DER >::CheckSpParMatCompatibility ( )

Definition at line 612 of file SpParMat3D.cpp.

◆ CheckSpParMatCompatibility() [2/2]

template<class IT, class NT, class DER>
bool combblas::SpParMat3D< IT, NT, DER >::CheckSpParMatCompatibility ( )

◆ Convert2D() [1/2]

template<class IT, class NT, class DER>
SpParMat< IT, NT, DER > combblas::SpParMat3D< IT, NT, DER >::Convert2D ( )

Definition at line 441 of file SpParMat3D.cpp.

◆ Convert2D() [2/2]

template<class IT, class NT, class DER>
SpParMat< IT, NT, DER > combblas::SpParMat3D< IT, NT, DER >::Convert2D ( )

◆ FreeMemory() [1/2]

template<class IT, class NT, class DER>
void combblas::SpParMat3D< IT, NT, DER >::FreeMemory ( )

◆ FreeMemory() [2/2]

template<class IT, class NT, class DER>
void combblas::SpParMat3D< IT, NT, DER >::FreeMemory ( )

◆ getcommgrid() [1/2]

template<class IT, class NT, class DER>
std::shared_ptr< CommGrid3D > combblas::SpParMat3D< IT, NT, DER >::getcommgrid ( ) const
inline

Definition at line 72 of file SpParMat3D.h.

◆ getcommgrid() [2/2]

template<class IT, class NT, class DER>
std::shared_ptr< CommGrid3D > combblas::SpParMat3D< IT, NT, DER >::getcommgrid ( ) const
inline

Definition at line 72 of file SpParMat3D.h.

◆ getcommgrid3D() [1/2]

template<class IT, class NT, class DER>
std::shared_ptr< CommGrid3D > combblas::SpParMat3D< IT, NT, DER >::getcommgrid3D ( ) const
inline

Definition at line 73 of file SpParMat3D.h.

◆ getcommgrid3D() [2/2]

template<class IT, class NT, class DER>
std::shared_ptr< CommGrid3D > combblas::SpParMat3D< IT, NT, DER >::getcommgrid3D ( ) const
inline

Definition at line 73 of file SpParMat3D.h.

◆ GetLayerMat() [1/2]

template<class IT, class NT, class DER>
std::shared_ptr< SpParMat< IT, NT, DER > > combblas::SpParMat3D< IT, NT, DER >::GetLayerMat ( )
inline

Definition at line 60 of file SpParMat3D.h.

◆ GetLayerMat() [2/2]

template<class IT, class NT, class DER>
std::shared_ptr< SpParMat< IT, NT, DER > > combblas::SpParMat3D< IT, NT, DER >::GetLayerMat ( )
inline

Definition at line 60 of file SpParMat3D.h.

◆ getncol() [1/2]

template<class IT, class NT, class DER>
IT combblas::SpParMat3D< IT, NT, DER >::getncol ( ) const

Definition at line 653 of file SpParMat3D.cpp.

◆ getncol() [2/2]

template<class IT, class NT, class DER>
IT combblas::SpParMat3D< IT, NT, DER >::getncol ( ) const

◆ getnnz() [1/2]

template<class IT, class NT, class DER>
IT combblas::SpParMat3D< IT, NT, DER >::getnnz ( ) const

Definition at line 663 of file SpParMat3D.cpp.

◆ getnnz() [2/2]

template<class IT, class NT, class DER>
IT combblas::SpParMat3D< IT, NT, DER >::getnnz ( ) const

◆ getnrow() [1/2]

template<class IT, class NT, class DER>
IT combblas::SpParMat3D< IT, NT, DER >::getnrow ( ) const

Definition at line 643 of file SpParMat3D.cpp.

◆ getnrow() [2/2]

template<class IT, class NT, class DER>
IT combblas::SpParMat3D< IT, NT, DER >::getnrow ( ) const

◆ isColSplit() [1/2]

template<class IT, class NT, class DER>
bool combblas::SpParMat3D< IT, NT, DER >::isColSplit ( ) const
inline

Definition at line 63 of file SpParMat3D.h.

◆ isColSplit() [2/2]

template<class IT, class NT, class DER>
bool combblas::SpParMat3D< IT, NT, DER >::isColSplit ( ) const
inline

Definition at line 63 of file SpParMat3D.h.

◆ isSpecial() [1/2]

template<class IT, class NT, class DER>
bool combblas::SpParMat3D< IT, NT, DER >::isSpecial ( ) const
inline

Definition at line 62 of file SpParMat3D.h.

◆ isSpecial() [2/2]

template<class IT, class NT, class DER>
bool combblas::SpParMat3D< IT, NT, DER >::isSpecial ( ) const
inline

Definition at line 62 of file SpParMat3D.h.

◆ LoadImbalance() [1/2]

template<class IT, class NT, class DER>
float combblas::SpParMat3D< IT, NT, DER >::LoadImbalance ( ) const

◆ LoadImbalance() [2/2]

template<class IT, class NT, class DER>
float combblas::SpParMat3D< IT, NT, DER >::LoadImbalance ( ) const

◆ LocalDim() [1/2]

template<class IT, class NT, class DER>
void combblas::SpParMat3D< IT, NT, DER >::LocalDim ( IT total_m,
IT total_n,
IT & localm,
IT & localn ) const

Definition at line 405 of file SpParMat3D.cpp.

◆ LocalDim() [2/2]

template<class IT, class NT, class DER>
void combblas::SpParMat3D< IT, NT, DER >::LocalDim ( IT total_m,
IT total_n,
IT & localm,
IT & localn ) const

◆ Owner() [1/2]

template<class IT, class NT, class DER>
template<typename LIT>
int combblas::SpParMat3D< IT, NT, DER >::Owner ( IT total_m,
IT total_n,
IT grow,
IT gcol,
LIT & lrow,
LIT & lcol ) const

Definition at line 337 of file SpParMat3D.cpp.

◆ Owner() [2/2]

template<class IT, class NT, class DER>
template<typename LIT>
int combblas::SpParMat3D< IT, NT, DER >::Owner ( IT total_m,
IT total_n,
IT grow,
IT gcol,
LIT & lrow,
LIT & lcol ) const

◆ PrintInfo() [1/2]

template<class IT, class NT, class DER>
void combblas::SpParMat3D< IT, NT, DER >::PrintInfo ( ) const

◆ PrintInfo() [2/2]

template<class IT, class NT, class DER>
void combblas::SpParMat3D< IT, NT, DER >::PrintInfo ( ) const

◆ seqptr() [1/2]

template<class IT, class NT, class DER>
DER * combblas::SpParMat3D< IT, NT, DER >::seqptr ( ) const
inline

Definition at line 61 of file SpParMat3D.h.

◆ seqptr() [2/2]

template<class IT, class NT, class DER>
DER * combblas::SpParMat3D< IT, NT, DER >::seqptr ( ) const
inline

Definition at line 61 of file SpParMat3D.h.

◆ MemEfficientSpGEMM3D [1/2]

template<class IT, class NT, class DER>
template<typename SR, typename NUO, typename UDERO, typename IU, typename NU1, typename NU2, typename UDER1, typename UDER2>
SpParMat3D< IU, NUO, UDERO > MemEfficientSpGEMM3D ( SpParMat3D< IU, NU1, UDER1 > & A,
SpParMat3D< IU, NU2, UDER2 > & B,
int phases,
NUO hardThreshold,
IU selectNum,
IU recoverNum,
NUO recoverPct,
int kselectVersion,
int computationKernel,
int64_t perProcessMemory )
friend

◆ MemEfficientSpGEMM3D [2/2]

template<class IT, class NT, class DER>
template<typename SR, typename NUO, typename UDERO, typename IU, typename NU1, typename NU2, typename UDER1, typename UDER2>
SpParMat3D< IU, NUO, UDERO > MemEfficientSpGEMM3D ( SpParMat3D< IU, NU1, UDER1 > & A,
SpParMat3D< IU, NU2, UDER2 > & B,
int phases,
NUO hardThreshold,
IU selectNum,
IU recoverNum,
NUO recoverPct,
int kselectVersion,
int computationKernel,
int64_t perProcessMemory )
friend

◆ Mult_AnXBn_SUMMA3D [1/2]

template<class IT, class NT, class DER>
template<typename SR, typename NUO, typename UDERO, typename IU, typename NU1, typename NU2, typename UDER1, typename UDER2>
SpParMat3D< IU, NUO, UDERO > Mult_AnXBn_SUMMA3D ( SpParMat3D< IU, NU1, UDER1 > & A,
SpParMat3D< IU, NU2, UDER2 > & B )
friend

Definition at line 2919 of file ParFriends.h.

◆ Mult_AnXBn_SUMMA3D [2/2]

template<class IT, class NT, class DER>
template<typename SR, typename NUO, typename UDERO, typename IU, typename NU1, typename NU2, typename UDER1, typename UDER2>
SpParMat3D< IU, NUO, UDERO > Mult_AnXBn_SUMMA3D ( SpParMat3D< IU, NU1, UDER1 > & A,
SpParMat3D< IU, NU2, UDER2 > & B )
friend

Definition at line 2919 of file ParFriends.h.


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