Loading cmake/dca_testing.cmake +1 −1 Original line number Diff line number Diff line Loading @@ -184,7 +184,7 @@ function(dca_add_gtest name) add_test(NAME ${name} COMMAND ${TEST_RUNNER} ${MPIEXEC_NUMPROC_FLAG} ${DCA_ADD_GTEST_MPI_NUMPROC} ${MPIEXEC_PREFLAGS} ${SMPIARGS_FLAG_MPI} ${CVD_LAUNCHER} "$<TARGET_FILE:${name}>" ${MPIEXEC_PREFLAGS} ${SMPIARGS_FLAG_MPI} ${MPIEXEC_POSTFLAGS} ${CVD_LAUNCHER} "$<TARGET_FILE:${name}>" ${DCA_TESTING_FLAGS}) target_link_libraries(${name} PRIVATE ${MPI_C_LIBRARIES}) else() Loading test/integration/statistical_tests/rashba_lattice/test_rashba_lattice.cpp +25 −12 Original line number Diff line number Diff line Loading @@ -80,10 +80,10 @@ struct RashbaLatticeIntegrationTest : public ::testing::Test { using SCALAR = std::complex<double>; template <DeviceType DEVICE> using IntegrationSetupBare = dca::testing::IntegrationSetupBare<SCALAR, DEVICE, dca::testing::DcaMpiTestEnvironment::ConcurrencyType, dca::testing::LatticeRashba, dca::ClusterSolverId::CT_AUX>; dca::testing::IntegrationSetupBare<SCALAR, DEVICE, dca::testing::DcaMpiTestEnvironment::ConcurrencyType, dca::testing::LatticeRashba, dca::ClusterSolverId::CT_AUX>; virtual void reallySetUp(Concurrency* concurrency) { host_setup = std::make_unique<IntegrationSetupBare<dca::linalg::CPU>>(concurrency); cpu_setup = std::make_unique<IntegrationSetupBare<dca::linalg::CPU>>(concurrency); gpu_setup = std::make_unique<IntegrationSetupBare<dca::linalg::GPU>>(concurrency); } Loading @@ -92,11 +92,10 @@ struct RashbaLatticeIntegrationTest : public ::testing::Test { using CPUSetup = IntegrationSetupBare<dca::linalg::CPU>; using GPUSetup = IntegrationSetupBare<dca::linalg::GPU>; std::unique_ptr<CPUSetup> host_setup; std::unique_ptr<CPUSetup> cpu_setup; std::unique_ptr<GPUSetup> gpu_setup; }; TEST_F(RashbaLatticeIntegrationTest, SelfEnergy) { auto& concurrency = dca_test_env->concurrency; if (concurrency.id() == concurrency.first()) { Loading @@ -113,6 +112,7 @@ TEST_F(RashbaLatticeIntegrationTest, SelfEnergy) { // Do one QMC iteration using QMCSolverGPU = typename RashbaLatticeIntegrationTest::GPUSetup::ThreadedSolver; QMCSolverGPU qmc_solver_gpu(this->gpu_setup->parameters_, *(this->gpu_setup->data_), nullptr); qmc_solver_gpu.initialize(0); qmc_solver_gpu.integrate(); Loading @@ -122,9 +122,22 @@ TEST_F(RashbaLatticeIntegrationTest, SelfEnergy) { using KDmnDCA = RashbaLatticeIntegrationTest::GPUSetup::KDmnDCA; using WDmn = RashbaLatticeIntegrationTest::GPUSetup::WDmn; dca::func::function<std::complex<double>, dca::func::dmn_variadic<NuDmn, NuDmn, KDmnDCA, WDmn>> Sigma_QMC( this->gpu_setup->data_->Sigma); dca::func::function<std::complex<double>, dca::func::dmn_variadic<NuDmn, NuDmn, KDmnDCA, WDmn>> Sigma_QMC_gpu(this->gpu_setup->data_->Sigma); dca::phys::DcaLoopData<decltype(this->cpu_setup->parameters_)> dca_loop_data_cpu; using QMCSolverCPU = typename RashbaLatticeIntegrationTest::CPUSetup::ThreadedSolver; QMCSolverCPU qmc_solver_cpu(this->cpu_setup->parameters_, *(this->cpu_setup->data_), nullptr); qmc_solver_cpu.initialize(0); qmc_solver_cpu.integrate(); qmc_solver_cpu.finalize(dca_loop_data_cpu); dca::func::function<std::complex<double>, dca::func::dmn_variadic<NuDmn, NuDmn, KDmnDCA, WDmn>> Sigma_QMC_cpu(this->cpu_setup->data_->Sigma); auto diff = dca::func::util::difference(Sigma_QMC_gpu, Sigma_QMC_cpu); EXPECT_LT(diff.l_inf, 1E-10); // // Read QMC self-energy from check_data file and compare it with the newly // // computed QMC self-energy. // const std::string filename = DCA_SOURCE_DIR Loading Loading @@ -170,8 +183,8 @@ int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); dca::parallel::MPIConcurrency concurrency(argc, argv); dca_test_env = new dca::testing::DcaMpiTestEnvironment( concurrency, "rashba_lattice_stat_test.json"); dca_test_env = new dca::testing::DcaMpiTestEnvironment(concurrency, "rashba_lattice_stat_test.json"); testing::AddGlobalTestEnvironment(dca_test_env); dca::linalg::util::initializeMagma(); Loading test/unit/phys/dca_step/cluster_solver/shared_tools/accumulation/tp/tp_accumulator_test_baseline.hdf5 (28 MiB) File changed.No diff preview for this file type. View original file View changed file Loading
cmake/dca_testing.cmake +1 −1 Original line number Diff line number Diff line Loading @@ -184,7 +184,7 @@ function(dca_add_gtest name) add_test(NAME ${name} COMMAND ${TEST_RUNNER} ${MPIEXEC_NUMPROC_FLAG} ${DCA_ADD_GTEST_MPI_NUMPROC} ${MPIEXEC_PREFLAGS} ${SMPIARGS_FLAG_MPI} ${CVD_LAUNCHER} "$<TARGET_FILE:${name}>" ${MPIEXEC_PREFLAGS} ${SMPIARGS_FLAG_MPI} ${MPIEXEC_POSTFLAGS} ${CVD_LAUNCHER} "$<TARGET_FILE:${name}>" ${DCA_TESTING_FLAGS}) target_link_libraries(${name} PRIVATE ${MPI_C_LIBRARIES}) else() Loading
test/integration/statistical_tests/rashba_lattice/test_rashba_lattice.cpp +25 −12 Original line number Diff line number Diff line Loading @@ -80,10 +80,10 @@ struct RashbaLatticeIntegrationTest : public ::testing::Test { using SCALAR = std::complex<double>; template <DeviceType DEVICE> using IntegrationSetupBare = dca::testing::IntegrationSetupBare<SCALAR, DEVICE, dca::testing::DcaMpiTestEnvironment::ConcurrencyType, dca::testing::LatticeRashba, dca::ClusterSolverId::CT_AUX>; dca::testing::IntegrationSetupBare<SCALAR, DEVICE, dca::testing::DcaMpiTestEnvironment::ConcurrencyType, dca::testing::LatticeRashba, dca::ClusterSolverId::CT_AUX>; virtual void reallySetUp(Concurrency* concurrency) { host_setup = std::make_unique<IntegrationSetupBare<dca::linalg::CPU>>(concurrency); cpu_setup = std::make_unique<IntegrationSetupBare<dca::linalg::CPU>>(concurrency); gpu_setup = std::make_unique<IntegrationSetupBare<dca::linalg::GPU>>(concurrency); } Loading @@ -92,11 +92,10 @@ struct RashbaLatticeIntegrationTest : public ::testing::Test { using CPUSetup = IntegrationSetupBare<dca::linalg::CPU>; using GPUSetup = IntegrationSetupBare<dca::linalg::GPU>; std::unique_ptr<CPUSetup> host_setup; std::unique_ptr<CPUSetup> cpu_setup; std::unique_ptr<GPUSetup> gpu_setup; }; TEST_F(RashbaLatticeIntegrationTest, SelfEnergy) { auto& concurrency = dca_test_env->concurrency; if (concurrency.id() == concurrency.first()) { Loading @@ -113,6 +112,7 @@ TEST_F(RashbaLatticeIntegrationTest, SelfEnergy) { // Do one QMC iteration using QMCSolverGPU = typename RashbaLatticeIntegrationTest::GPUSetup::ThreadedSolver; QMCSolverGPU qmc_solver_gpu(this->gpu_setup->parameters_, *(this->gpu_setup->data_), nullptr); qmc_solver_gpu.initialize(0); qmc_solver_gpu.integrate(); Loading @@ -122,9 +122,22 @@ TEST_F(RashbaLatticeIntegrationTest, SelfEnergy) { using KDmnDCA = RashbaLatticeIntegrationTest::GPUSetup::KDmnDCA; using WDmn = RashbaLatticeIntegrationTest::GPUSetup::WDmn; dca::func::function<std::complex<double>, dca::func::dmn_variadic<NuDmn, NuDmn, KDmnDCA, WDmn>> Sigma_QMC( this->gpu_setup->data_->Sigma); dca::func::function<std::complex<double>, dca::func::dmn_variadic<NuDmn, NuDmn, KDmnDCA, WDmn>> Sigma_QMC_gpu(this->gpu_setup->data_->Sigma); dca::phys::DcaLoopData<decltype(this->cpu_setup->parameters_)> dca_loop_data_cpu; using QMCSolverCPU = typename RashbaLatticeIntegrationTest::CPUSetup::ThreadedSolver; QMCSolverCPU qmc_solver_cpu(this->cpu_setup->parameters_, *(this->cpu_setup->data_), nullptr); qmc_solver_cpu.initialize(0); qmc_solver_cpu.integrate(); qmc_solver_cpu.finalize(dca_loop_data_cpu); dca::func::function<std::complex<double>, dca::func::dmn_variadic<NuDmn, NuDmn, KDmnDCA, WDmn>> Sigma_QMC_cpu(this->cpu_setup->data_->Sigma); auto diff = dca::func::util::difference(Sigma_QMC_gpu, Sigma_QMC_cpu); EXPECT_LT(diff.l_inf, 1E-10); // // Read QMC self-energy from check_data file and compare it with the newly // // computed QMC self-energy. // const std::string filename = DCA_SOURCE_DIR Loading Loading @@ -170,8 +183,8 @@ int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); dca::parallel::MPIConcurrency concurrency(argc, argv); dca_test_env = new dca::testing::DcaMpiTestEnvironment( concurrency, "rashba_lattice_stat_test.json"); dca_test_env = new dca::testing::DcaMpiTestEnvironment(concurrency, "rashba_lattice_stat_test.json"); testing::AddGlobalTestEnvironment(dca_test_env); dca::linalg::util::initializeMagma(); Loading
test/unit/phys/dca_step/cluster_solver/shared_tools/accumulation/tp/tp_accumulator_test_baseline.hdf5 (28 MiB) File changed.No diff preview for this file type. View original file View changed file