ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
PgemmTest< T > Class Template Reference
Inheritance diagram for PgemmTest< T >:
Collaboration diagram for PgemmTest< T >:

Public Member Functions

void decide_ngroup (const int &willing_ncolgroup, const int &willing_nrowgroup)
 
void randomize_initialization ()
 
void prepare (const int &ncolA_global, const int &ncolB_global, const int &nrow_global, const int &LDA_global, const int &LDB_global, const int &LDC_global)
 
void getncol_and_row (const int &ncolA_global, const int &ncolB_global, const int &nrow_global)
 
void scatter_matrix (const int &ncolA_global, const int &ncolB_global, const int &nrow_global, const int &LDA_global, const int &LDB_global)
 
void compare_result (const int &nrowC_global, const int &ncolC_global, const int &LDC_global)
 

Public Attributes

int rank = 0
 
int nproc = 0
 
T alpha = 0
 
T beta = 0
 
std::vector< TA_global
 
std::vector< TB_global
 
std::vector< TCref_global
 
std::vector< TC_global
 
std::vector< TA_local
 
std::vector< TB_local
 
int ncolA = 0
 
int ncolB = 0
 
int nrow = 0
 
int LDA = 0
 
int LDB = 0
 
int ncolgroup = 1
 
int nrowgroup = 1
 
int rank_col = 0
 
int rank_row = 0
 
int nproc_col = 0
 
int nproc_row = 0
 
ModuleBase::PGemmCN< Tpgemm
 
MPI_Comm col_world
 
MPI_Comm row_world
 
std::vector< int > ncolA_ip
 
std::vector< int > ncolB_ip
 
std::vector< int > nrow_ip
 

Protected Member Functions

void SetUp () override
 
void TearDown () override
 

Member Function Documentation

◆ compare_result()

template<typename T >
void PgemmTest< T >::compare_result ( const int &  nrowC_global,
const int &  ncolC_global,
const int &  LDC_global 
)
inline
Here is the call graph for this function:

◆ decide_ngroup()

template<typename T >
void PgemmTest< T >::decide_ngroup ( const int &  willing_ncolgroup,
const int &  willing_nrowgroup 
)
inline

◆ getncol_and_row()

template<typename T >
void PgemmTest< T >::getncol_and_row ( const int &  ncolA_global,
const int &  ncolB_global,
const int &  nrow_global 
)
inline
Here is the caller graph for this function:

◆ prepare()

template<typename T >
void PgemmTest< T >::prepare ( const int &  ncolA_global,
const int &  ncolB_global,
const int &  nrow_global,
const int &  LDA_global,
const int &  LDB_global,
const int &  LDC_global 
)
inline
Here is the call graph for this function:

◆ randomize_initialization()

template<typename T >
void PgemmTest< T >::randomize_initialization ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ scatter_matrix()

template<typename T >
void PgemmTest< T >::scatter_matrix ( const int &  ncolA_global,
const int &  ncolB_global,
const int &  nrow_global,
const int &  LDA_global,
const int &  LDB_global 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetUp()

template<typename T >
void PgemmTest< T >::SetUp ( )
inlineoverrideprotected

◆ TearDown()

template<typename T >
void PgemmTest< T >::TearDown ( )
inlineoverrideprotected

Member Data Documentation

◆ A_global

template<typename T >
std::vector<T> PgemmTest< T >::A_global

◆ A_local

template<typename T >
std::vector<T> PgemmTest< T >::A_local

◆ alpha

template<typename T >
T PgemmTest< T >::alpha = 0

◆ B_global

template<typename T >
std::vector<T> PgemmTest< T >::B_global

◆ B_local

template<typename T >
std::vector<T> PgemmTest< T >::B_local

◆ beta

template<typename T >
T PgemmTest< T >::beta = 0

◆ C_global

template<typename T >
std::vector<T> PgemmTest< T >::C_global

◆ col_world

template<typename T >
MPI_Comm PgemmTest< T >::col_world

◆ Cref_global

template<typename T >
std::vector<T> PgemmTest< T >::Cref_global

◆ LDA

template<typename T >
int PgemmTest< T >::LDA = 0

◆ LDB

template<typename T >
int PgemmTest< T >::LDB = 0

◆ ncolA

template<typename T >
int PgemmTest< T >::ncolA = 0

◆ ncolA_ip

template<typename T >
std::vector<int> PgemmTest< T >::ncolA_ip

◆ ncolB

template<typename T >
int PgemmTest< T >::ncolB = 0

◆ ncolB_ip

template<typename T >
std::vector<int> PgemmTest< T >::ncolB_ip

◆ ncolgroup

template<typename T >
int PgemmTest< T >::ncolgroup = 1

◆ nproc

template<typename T >
int PgemmTest< T >::nproc = 0

◆ nproc_col

template<typename T >
int PgemmTest< T >::nproc_col = 0

◆ nproc_row

template<typename T >
int PgemmTest< T >::nproc_row = 0

◆ nrow

template<typename T >
int PgemmTest< T >::nrow = 0

◆ nrow_ip

template<typename T >
std::vector<int> PgemmTest< T >::nrow_ip

◆ nrowgroup

template<typename T >
int PgemmTest< T >::nrowgroup = 1

◆ pgemm

template<typename T >
ModuleBase::PGemmCN<T> PgemmTest< T >::pgemm

◆ rank

template<typename T >
int PgemmTest< T >::rank = 0

◆ rank_col

template<typename T >
int PgemmTest< T >::rank_col = 0

◆ rank_row

template<typename T >
int PgemmTest< T >::rank_row = 0

◆ row_world

template<typename T >
MPI_Comm PgemmTest< T >::row_world

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