ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Macros | Functions
test_diago_hs_para.cpp File Reference
#include <gtest/gtest.h>
#include <vector>
#include <complex>
#include <random>
#include <mpi.h>
#include <chrono>
#include <fstream>
#include "../diag_hs_para.h"
#include "source_hsolver/kernels/dngvd_op.h"
Include dependency graph for test_diago_hs_para.cpp:

Macros

#define TEST_DIAGO_PXXXGVX_H
 

Functions

template<typename T >
std::enable_if< std::is_same< T, double >::value||std::is_same< T, float >::value >::type generate_random_hs_impl (int d, std::mt19937 &gen, std::uniform_real_distribution< typename GetTypeReal< T >::type > &dis, std::vector< T > &h_mat, std::vector< T > &s_mat)
 
template<typename T >
std::enable_if< std::is_same< T, std::complex< double > >::value||std::is_same< T, std::complex< float > >::value >::type generate_random_hs_impl (int d, std::mt19937 &gen, std::uniform_real_distribution< typename GetTypeReal< T >::type > &dis, std::vector< T > &h_mat, std::vector< T > &s_mat)
 
template<typename T >
void generate_random_hs (int d, int random_seed, std::vector< T > &h_mat, std::vector< T > &s_mat)
 
template<typename T >
std::enable_if< std::is_same< T, double >::value||std::is_same< T, float >::value >::type verify_results (const std::vector< T > &h_psi, const std::vector< T > &s_psi, const std::vector< typename GetTypeReal< T >::type > &ekb, int lda, int nbands, double threshold)
 
template<typename T >
std::enable_if< std::is_same< T, std::complex< double > >::value||std::is_same< T, std::complex< float > >::value >::type verify_results (const std::vector< T > &h_psi, const std::vector< T > &s_psi, const std::vector< typename GetTypeReal< T >::type > &ekb, int lda, int nbands, double threshold)
 
template<typename T >
void test_diago_hs (int lda, int nb, int random_seed, int nbands, int diag_type, MPI_Comm comm)
 
template<typename T >
void test_performance (int lda, int nb, int nbands, MPI_Comm comm, int case_numb, int loop_numb)
 
 TEST (DiagoPxxxgvxElpaTest, Double)
 
 TEST (DiagoPxxxgvxElpaTest, ComplexDouble)
 
 TEST (DiagoPxxxgvxScalapackTest, Double)
 
 TEST (DiagoPxxxgvxScalapackTest, ComplexDouble)
 
 TEST (DiagoPxxxgvxScalapackTest, Float)
 
 TEST (DiagoPxxxgvxScalapackTest, ComplexFloat)
 
int main (int argc, char **argv)
 

Macro Definition Documentation

◆ TEST_DIAGO_PXXXGVX_H

#define TEST_DIAGO_PXXXGVX_H

Function Documentation

◆ generate_random_hs()

template<typename T >
void generate_random_hs ( int  d,
int  random_seed,
std::vector< T > &  h_mat,
std::vector< T > &  s_mat 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_random_hs_impl() [1/2]

template<typename T >
std::enable_if< std::is_same< T, double >::value||std::is_same< T, float >::value >::type generate_random_hs_impl ( int  d,
std::mt19937 &  gen,
std::uniform_real_distribution< typename GetTypeReal< T >::type > &  dis,
std::vector< T > &  h_mat,
std::vector< T > &  s_mat 
)
Here is the caller graph for this function:

◆ generate_random_hs_impl() [2/2]

template<typename T >
std::enable_if< std::is_same< T, std::complex< double > >::value||std::is_same< T, std::complex< float > >::value >::type generate_random_hs_impl ( int  d,
std::mt19937 &  gen,
std::uniform_real_distribution< typename GetTypeReal< T >::type > &  dis,
std::vector< T > &  h_mat,
std::vector< T > &  s_mat 
)

◆ main()

int main ( int  argc,
char **  argv 
)

◆ TEST() [1/6]

TEST ( DiagoPxxxgvxElpaTest  ,
ComplexDouble   
)

◆ TEST() [2/6]

TEST ( DiagoPxxxgvxElpaTest  ,
Double   
)

◆ TEST() [3/6]

TEST ( DiagoPxxxgvxScalapackTest  ,
ComplexDouble   
)

◆ TEST() [4/6]

TEST ( DiagoPxxxgvxScalapackTest  ,
ComplexFloat   
)

◆ TEST() [5/6]

TEST ( DiagoPxxxgvxScalapackTest  ,
Double   
)

◆ TEST() [6/6]

TEST ( DiagoPxxxgvxScalapackTest  ,
Float   
)

◆ test_diago_hs()

template<typename T >
void test_diago_hs ( int  lda,
int  nb,
int  random_seed,
int  nbands,
int  diag_type,
MPI_Comm  comm 
)
Here is the call graph for this function:

◆ test_performance()

template<typename T >
void test_performance ( int  lda,
int  nb,
int  nbands,
MPI_Comm  comm,
int  case_numb,
int  loop_numb 
)
Here is the call graph for this function:

◆ verify_results() [1/2]

template<typename T >
std::enable_if< std::is_same< T, double >::value||std::is_same< T, float >::value >::type verify_results ( const std::vector< T > &  h_psi,
const std::vector< T > &  s_psi,
const std::vector< typename GetTypeReal< T >::type > &  ekb,
int  lda,
int  nbands,
double  threshold 
)

◆ verify_results() [2/2]

template<typename T >
std::enable_if< std::is_same< T, std::complex< double > >::value||std::is_same< T, std::complex< float > >::value >::type verify_results ( const std::vector< T > &  h_psi,
const std::vector< T > &  s_psi,
const std::vector< typename GetTypeReal< T >::type > &  ekb,
int  lda,
int  nbands,
double  threshold 
)