ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
test_para_gemm.cpp File Reference
#include "../kernels/math_kernel_op.h"
#include "../para_gemm.h"
#include <gtest/gtest.h>
#include <iostream>
#include <mpi.h>
#include <vector>
Include dependency graph for test_para_gemm.cpp:

Classes

class  PgemmTest< T >
 

Typedefs

typedef ::testing::Types< double, std::complex< double > > MyTypes
 

Functions

void random_data (std::vector< double > &A_global, std::vector< double > &B_global, std::vector< double > &Cref_global, std::vector< double > &C_global, double &alpha, double &beta)
 
void random_data (std::vector< std::complex< double > > &A_global, std::vector< std::complex< double > > &B_global, std::vector< std::complex< double > > &Cref_global, std::vector< std::complex< double > > &C_global, std::complex< double > &alpha, std::complex< double > &beta)
 
double get_double (std::complex< double > &val)
 
double get_double (double &val)
 
void scatterv_data (const double *sendbuf, const int *sendcounts, const int *displs, double *recvbuf, const int recvcount, MPI_Comm comm)
 
void scatterv_data (const std::complex< double > *sendbuf, const int *sendcounts, const int *displs, std::complex< double > *recvbuf, const int recvcount, MPI_Comm comm)
 
 TYPED_TEST_SUITE (PgemmTest, MyTypes)
 
 TYPED_TEST (PgemmTest, even_case)
 
 TYPED_TEST (PgemmTest, odd_case)
 
 TYPED_TEST (PgemmTest, row_parallel)
 
 TYPED_TEST (PgemmTest, col_parallel)
 
 TYPED_TEST (PgemmTest, divide_col)
 
 TYPED_TEST (PgemmTest, divide_row)
 
int main (int argc, char **argv)
 

Typedef Documentation

◆ MyTypes

typedef ::testing::Types<double, std::complex<double> > MyTypes

Function Documentation

◆ get_double() [1/2]

double get_double ( double &  val)

◆ get_double() [2/2]

double get_double ( std::complex< double > &  val)
Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char **  argv 
)

◆ random_data() [1/2]

void random_data ( std::vector< double > &  A_global,
std::vector< double > &  B_global,
std::vector< double > &  Cref_global,
std::vector< double > &  C_global,
double &  alpha,
double &  beta 
)
Here is the caller graph for this function:

◆ random_data() [2/2]

void random_data ( std::vector< std::complex< double > > &  A_global,
std::vector< std::complex< double > > &  B_global,
std::vector< std::complex< double > > &  Cref_global,
std::vector< std::complex< double > > &  C_global,
std::complex< double > &  alpha,
std::complex< double > &  beta 
)

◆ scatterv_data() [1/2]

void scatterv_data ( const double *  sendbuf,
const int *  sendcounts,
const int *  displs,
double *  recvbuf,
const int  recvcount,
MPI_Comm  comm 
)
Here is the caller graph for this function:

◆ scatterv_data() [2/2]

void scatterv_data ( const std::complex< double > *  sendbuf,
const int *  sendcounts,
const int *  displs,
std::complex< double > *  recvbuf,
const int  recvcount,
MPI_Comm  comm 
)

◆ TYPED_TEST() [1/6]

TYPED_TEST ( PgemmTest  ,
col_parallel   
)

◆ TYPED_TEST() [2/6]

TYPED_TEST ( PgemmTest  ,
divide_col   
)
Here is the call graph for this function:

◆ TYPED_TEST() [3/6]

TYPED_TEST ( PgemmTest  ,
divide_row   
)
Here is the call graph for this function:

◆ TYPED_TEST() [4/6]

TYPED_TEST ( PgemmTest  ,
even_case   
)

◆ TYPED_TEST() [5/6]

TYPED_TEST ( PgemmTest  ,
odd_case   
)

◆ TYPED_TEST() [6/6]

TYPED_TEST ( PgemmTest  ,
row_parallel   
)

◆ TYPED_TEST_SUITE()

TYPED_TEST_SUITE ( PgemmTest  ,
MyTypes   
)