|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#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/hegvd_op.h"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) |
| #define TEST_DIAGO_PXXXGVX_H |
| void generate_random_hs | ( | int | d, |
| int | random_seed, | ||
| std::vector< T > & | h_mat, | ||
| std::vector< T > & | s_mat | ||
| ) |
| 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 | ||
| ) |
| 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 | ||
| ) |
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
| TEST | ( | DiagoPxxxgvxElpaTest | , |
| ComplexDouble | |||
| ) |
| TEST | ( | DiagoPxxxgvxElpaTest | , |
| Double | |||
| ) |
| TEST | ( | DiagoPxxxgvxScalapackTest | , |
| ComplexDouble | |||
| ) |
| TEST | ( | DiagoPxxxgvxScalapackTest | , |
| ComplexFloat | |||
| ) |
| TEST | ( | DiagoPxxxgvxScalapackTest | , |
| Double | |||
| ) |
| TEST | ( | DiagoPxxxgvxScalapackTest | , |
| Float | |||
| ) |
| void test_diago_hs | ( | int | lda, |
| int | nb, | ||
| int | random_seed, | ||
| int | nbands, | ||
| int | diag_type, | ||
| MPI_Comm | comm | ||
| ) |
| void test_performance | ( | int | lda, |
| int | nb, | ||
| int | nbands, | ||
| MPI_Comm | comm, | ||
| int | case_numb, | ||
| int | loop_numb | ||
| ) |
| 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 | ||
| ) |
| 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 | ||
| ) |