Commit 4622ede8 authored by Doak, Peter W.'s avatar Doak, Peter W.
Browse files

extensive tests expected to pass pass

parent f2afa19f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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()
+25 −12
Original line number Diff line number Diff line
@@ -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);
  }

@@ -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()) {
@@ -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();
@@ -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
@@ -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();
(28 MiB)

File changed.

No diff preview for this file type.