From 05e486afeccb80ca51467cec26160e946537dc9e Mon Sep 17 00:00:00 2001 From: haozhihan Date: Thu, 16 Jan 2025 23:22:04 -0800 Subject: [PATCH] remove Constructor 1-1 --- .../test/ao_to_mo_test.cpp | 72 +++++++++---------- .../module_lr/dm_trans/test/dm_trans_test.cpp | 48 ++++++------- source/module_psi/psi.cpp | 62 ++++++++-------- source/module_psi/psi.h | 4 +- source/module_psi/test/psi_test.cpp | 10 +-- 5 files changed, 98 insertions(+), 98 deletions(-) diff --git a/source/module_lr/ao_to_mo_transformer/test/ao_to_mo_test.cpp b/source/module_lr/ao_to_mo_transformer/test/ao_to_mo_test.cpp index 5601ad451d..8bcb88b525 100644 --- a/source/module_lr/ao_to_mo_transformer/test/ao_to_mo_test.cpp +++ b/source/module_lr/ao_to_mo_transformer/test/ao_to_mo_test.cpp @@ -64,18 +64,18 @@ TEST_F(AO2MOTest, DoubleSerial) { for (auto s : this->sizes) { - psi::Psi vo_for(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); - psi::Psi vo_blas(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); - psi::Psi oo_for(s.nks, nstate, s.nocc * s.nocc, nullptr, false); - psi::Psi oo_blas(s.nks, nstate, s.nocc * s.nocc, nullptr, false); - psi::Psi vv_for(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); - psi::Psi vv_blas(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); + psi::Psi vo_for(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); + psi::Psi vo_blas(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); + psi::Psi oo_for(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); + psi::Psi oo_blas(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); + psi::Psi vv_for(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); + psi::Psi vv_blas(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); int size_c = s.nks * (s.nocc + s.nvirt) * s.naos; int size_v = s.naos * s.naos; for (int istate = 0;istate < nstate;++istate) { std::vector temp(s.nks, s.naos); - psi::Psi c(s.nks, s.nocc + s.nvirt, s.naos, temp.data(), true); + psi::Psi c(s.nks, s.nocc + s.nvirt, s.naos, temp, true); std::vector V(s.nks, container::Tensor(DAT::DT_DOUBLE, DEV::CpuDevice, { s.naos, s.naos })); set_rand(&c(0, 0, 0), size_c); for (auto& v : V) { set_rand(v.data(), size_v); } @@ -96,18 +96,18 @@ TEST_F(AO2MOTest, ComplexSerial) { for (auto s : this->sizes) { - psi::Psi> vo_for(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); - psi::Psi> vo_blas(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); - psi::Psi> oo_for(s.nks, nstate, s.nocc * s.nocc, nullptr, false); - psi::Psi> oo_blas(s.nks, nstate, s.nocc * s.nocc, nullptr, false); - psi::Psi> vv_for(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); - psi::Psi> vv_blas(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); + psi::Psi> vo_for(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); + psi::Psi> vo_blas(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); + psi::Psi> oo_for(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); + psi::Psi> oo_blas(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); + psi::Psi> vv_for(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); + psi::Psi> vv_blas(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); int size_c = s.nks * (s.nocc + s.nvirt) * s.naos; int size_v = s.naos * s.naos; for (int istate = 0;istate < nstate;++istate) { std::vector temp(s.nks, s.naos); - psi::Psi> c(s.nks, s.nocc + s.nvirt, s.naos, temp.data(), true); + psi::Psi> c(s.nks, s.nocc + s.nvirt, s.naos, temp, true); std::vector V(s.nks, container::Tensor(DAT::DT_COMPLEX_DOUBLE, DEV::CpuDevice, { s.naos, s.naos })); set_rand(&c(0, 0, 0), size_c); for (auto& v : V) { set_rand(v.data>(), size_v); } @@ -137,7 +137,7 @@ TEST_F(AO2MOTest, DoubleParallel) LR_Util::setup_2d_division(pc, s.nb, s.naos, s.nocc + s.nvirt, pV.blacs_ctxt); std::vector ngk_temp(s.nks, pc.get_row_size()); - psi::Psi c(s.nks, pc.get_col_size(), pc.get_row_size(), ngk_temp.data(), true); + psi::Psi c(s.nks, pc.get_col_size(), pc.get_row_size(), ngk_temp, true); Parallel_2D pvo, poo, pvv; LR_Util::setup_2d_division(pvo, s.nb, s.nvirt, s.nocc, pV.blacs_ctxt); LR_Util::setup_2d_division(poo, s.nb, s.nocc, s.nocc, pV.blacs_ctxt); @@ -148,12 +148,12 @@ TEST_F(AO2MOTest, DoubleParallel) EXPECT_GE(s.nvirt, pvo.dim0); EXPECT_GE(s.nocc, pvo.dim1); EXPECT_GE(s.naos, pc.dim0); - psi::Psi vo_pblas_loc(s.nks, nstate, pvo.get_local_size(), nullptr, false); - psi::Psi vo_gather(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); - psi::Psi oo_pblas_loc(s.nks, nstate, poo.get_local_size(), nullptr, false); - psi::Psi oo_gather(s.nks, nstate, s.nocc * s.nocc, nullptr, false); - psi::Psi vv_pblas_loc(s.nks, nstate, pvv.get_local_size(), nullptr, false); - psi::Psi vv_gather(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); + psi::Psi vo_pblas_loc(s.nks, nstate, pvo.get_local_size(), pvo.get_local_size(), false); + psi::Psi vo_gather(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); + psi::Psi oo_pblas_loc(s.nks, nstate, poo.get_local_size(), poo.get_local_size(), false); + psi::Psi oo_gather(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); + psi::Psi vv_pblas_loc(s.nks, nstate, pvv.get_local_size(), pvv.get_local_size(), false); + psi::Psi vv_gather(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); for (int istate = 0;istate < nstate;++istate) { for (int isk = 0;isk < s.nks;++isk) @@ -174,7 +174,7 @@ TEST_F(AO2MOTest, DoubleParallel) // compare to global AX std::vector V_full(s.nks, container::Tensor(DAT::DT_DOUBLE, DEV::CpuDevice, { s.naos, s.naos })); std::vector ngk_temp_1(s.nks, s.naos); - psi::Psi c_full(s.nks, s.nocc + s.nvirt, s.naos, ngk_temp_1.data(), true); + psi::Psi c_full(s.nks, s.nocc + s.nvirt, s.naos, ngk_temp_1, true); for (int isk = 0;isk < s.nks;++isk) { LR_Util::gather_2d_to_full(pV, V.at(isk).data(), V_full.at(isk).data(), false, s.naos, s.naos); @@ -182,13 +182,13 @@ TEST_F(AO2MOTest, DoubleParallel) } if (my_rank == 0) { - psi::Psi vo_full_istate(s.nks, 1, s.nocc * s.nvirt, nullptr, false); + psi::Psi vo_full_istate(s.nks, 1, s.nocc * s.nvirt, s.nocc * s.nvirt, false); LR::ao_to_mo_blas(V_full, c_full, s.nocc, s.nvirt, &vo_full_istate(0, 0, 0), false); check_eq(&vo_full_istate(0, 0, 0), &vo_gather(istate, 0, 0), s.nks * s.nocc * s.nvirt); - psi::Psi oo_full_istate(s.nks, 1, s.nocc * s.nocc, nullptr, false); + psi::Psi oo_full_istate(s.nks, 1, s.nocc * s.nocc, s.nocc * s.nocc, false); LR::ao_to_mo_blas(V_full, c_full, s.nocc, s.nvirt, &oo_full_istate(0, 0, 0), false, LR::MO_TYPE::OO); check_eq(&oo_full_istate(0, 0, 0), &oo_gather(istate, 0, 0), s.nks * s.nocc * s.nocc); - psi::Psi vv_full_istate(s.nks, 1, s.nvirt * s.nvirt, nullptr, false); + psi::Psi vv_full_istate(s.nks, 1, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); LR::ao_to_mo_blas(V_full, c_full, s.nocc, s.nvirt, &vv_full_istate(0, 0, 0), false, LR::MO_TYPE::VV); check_eq(&vv_full_istate(0, 0, 0), &vv_gather(istate, 0, 0), s.nks * s.nvirt * s.nvirt); } @@ -208,18 +208,18 @@ TEST_F(AO2MOTest, ComplexParallel) LR_Util::setup_2d_division(pc, s.nb, s.naos, s.nocc + s.nvirt, pV.blacs_ctxt); std::vector ngk_temp_1(s.nks, pc.get_row_size()); - psi::Psi> c(s.nks, pc.get_col_size(), pc.get_row_size(), ngk_temp_1.data(), true); + psi::Psi> c(s.nks, pc.get_col_size(), pc.get_row_size(), ngk_temp_1, true); Parallel_2D pvo, poo, pvv; LR_Util::setup_2d_division(pvo, s.nb, s.nvirt, s.nocc, pV.blacs_ctxt); LR_Util::setup_2d_division(poo, s.nb, s.nocc, s.nocc, pV.blacs_ctxt); LR_Util::setup_2d_division(pvv, s.nb, s.nvirt, s.nvirt, pV.blacs_ctxt); - psi::Psi> vo_pblas_loc(s.nks, nstate, pvo.get_local_size(), nullptr, false); - psi::Psi> vo_gather(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); - psi::Psi> oo_pblas_loc(s.nks, nstate, poo.get_local_size(), nullptr, false); - psi::Psi> oo_gather(s.nks, nstate, s.nocc * s.nocc, nullptr, false); - psi::Psi> vv_pblas_loc(s.nks, nstate, pvv.get_local_size(), nullptr, false); - psi::Psi> vv_gather(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); + psi::Psi> vo_pblas_loc(s.nks, nstate, pvo.get_local_size(), pvo.get_local_size(), false); + psi::Psi> vo_gather(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); + psi::Psi> oo_pblas_loc(s.nks, nstate, poo.get_local_size(), poo.get_local_size(), false); + psi::Psi> oo_gather(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); + psi::Psi> vv_pblas_loc(s.nks, nstate, pvv.get_local_size(), pvv.get_local_size(), false); + psi::Psi> vv_gather(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); for (int istate = 0;istate < nstate;++istate) { for (int isk = 0;isk < s.nks;++isk) @@ -241,7 +241,7 @@ TEST_F(AO2MOTest, ComplexParallel) // compare to global AX std::vector V_full(s.nks, container::Tensor(DAT::DT_COMPLEX_DOUBLE, DEV::CpuDevice, { s.naos, s.naos })); std::vector ngk_temp_2(s.nks, s.naos); - psi::Psi> c_full(s.nks, s.nocc + s.nvirt, s.naos, ngk_temp_2.data(), true); + psi::Psi> c_full(s.nks, s.nocc + s.nvirt, s.naos, ngk_temp_2, true); for (int isk = 0;isk < s.nks;++isk) { LR_Util::gather_2d_to_full(pV, V.at(isk).data>(), V_full.at(isk).data>(), false, s.naos, s.naos); @@ -249,13 +249,13 @@ TEST_F(AO2MOTest, ComplexParallel) } if (my_rank == 0) { - psi::Psi> vo_full_istate(s.nks, 1, s.nocc * s.nvirt, nullptr, false); + psi::Psi> vo_full_istate(s.nks, 1, s.nocc * s.nvirt, s.nocc * s.nvirt, false); LR::ao_to_mo_blas(V_full, c_full, s.nocc, s.nvirt, &vo_full_istate(0, 0, 0), false); check_eq(&vo_full_istate(0, 0, 0), &vo_gather(istate, 0, 0), s.nks * s.nocc * s.nvirt); - psi::Psi> oo_full_istate(s.nks, 1, s.nocc * s.nocc, nullptr, false); + psi::Psi> oo_full_istate(s.nks, 1, s.nocc * s.nocc, s.nocc * s.nvirt, false); LR::ao_to_mo_blas(V_full, c_full, s.nocc, s.nocc, &oo_full_istate(0, 0, 0), false, LR::MO_TYPE::OO); check_eq(&oo_full_istate(0, 0, 0), &oo_gather(istate, 0, 0), s.nks * s.nocc * s.nocc); - psi::Psi> vv_full_istate(s.nks, 1, s.nvirt * s.nvirt, nullptr, false); + psi::Psi> vv_full_istate(s.nks, 1, s.nvirt * s.nvirt, s.nocc * s.nvirt, false); LR::ao_to_mo_blas(V_full, c_full, s.nocc, s.nvirt, &vv_full_istate(0, 0, 0), false, LR::MO_TYPE::VV); check_eq(&vv_full_istate(0, 0, 0), &vv_gather(istate, 0, 0), s.nks * s.nvirt * s.nvirt); } diff --git a/source/module_lr/dm_trans/test/dm_trans_test.cpp b/source/module_lr/dm_trans/test/dm_trans_test.cpp index 8a40f08c61..acef1e8a40 100644 --- a/source/module_lr/dm_trans/test/dm_trans_test.cpp +++ b/source/module_lr/dm_trans/test/dm_trans_test.cpp @@ -61,18 +61,18 @@ TEST_F(DMTransTest, DoubleSerial) { for (auto s : this->sizes) { - psi::Psi X_vo(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); + psi::Psi X_vo(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); set_rand(X_vo.get_pointer(), nstate * s.nks * s.nocc * s.nvirt); - psi::Psi X_oo(s.nks, nstate, s.nocc * s.nocc, nullptr, false); + psi::Psi X_oo(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); set_rand(X_oo.get_pointer(), nstate * s.nks * s.nocc * s.nocc); - psi::Psi X_vv(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); + psi::Psi X_vv(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); set_rand(X_vv.get_pointer(), nstate * s.nks * s.nvirt * s.nvirt); for (int istate = 0;istate < nstate;++istate) { const int size_c = s.nks * (s.nocc + s.nvirt) * s.naos; std::vector temp(s.nks, s.naos); - psi::Psi c(s.nks, s.nocc + s.nvirt, s.naos, temp.data(), true); + psi::Psi c(s.nks, s.nocc + s.nvirt, s.naos, temp, true); set_rand(c.get_pointer(), size_c); auto test = [&](psi::Psi& X, const LR::MO_TYPE type) { @@ -92,18 +92,18 @@ TEST_F(DMTransTest, ComplexSerial) { for (auto s : this->sizes) { - psi::Psi> X_vo(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); + psi::Psi> X_vo(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); set_rand(X_vo.get_pointer(), nstate * s.nks * s.nocc * s.nvirt); - psi::Psi> X_oo(s.nks, nstate, s.nocc * s.nocc, nullptr, false); + psi::Psi> X_oo(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); set_rand(X_oo.get_pointer(), nstate * s.nks * s.nocc * s.nocc); - psi::Psi> X_vv(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); + psi::Psi> X_vv(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); set_rand(X_vv.get_pointer(), nstate * s.nks * s.nvirt * s.nvirt); for (int istate = 0;istate < nstate;++istate) { const int size_c = s.nks * (s.nocc + s.nvirt) * s.naos; std::vector temp(s.nks, s.naos); - psi::Psi> c(s.nks, s.nocc + s.nvirt, s.naos, temp.data(), true); + psi::Psi> c(s.nks, s.nocc + s.nvirt, s.naos, temp, true); set_rand(c.get_pointer(), size_c); auto test = [&](psi::Psi>& X, const LR::MO_TYPE type) { @@ -132,18 +132,18 @@ TEST_F(DMTransTest, DoubleParallel) LR_Util::setup_2d_division(px_oo, s.nb, s.nocc, s.nocc, px_vo.blacs_ctxt); LR_Util::setup_2d_division(px_vv, s.nb, s.nvirt, s.nvirt, px_vo.blacs_ctxt); - psi::Psi X_vo(s.nks, nstate, px_vo.get_local_size(), nullptr, false); + psi::Psi X_vo(s.nks, nstate, px_vo.get_local_size(), px_vo.get_local_size(), false); set_rand(X_vo.get_pointer(), nstate * s.nks * px_vo.get_local_size()); - psi::Psi X_oo(s.nks, nstate, px_oo.get_local_size(), nullptr, false); + psi::Psi X_oo(s.nks, nstate, px_oo.get_local_size(), px_oo.get_local_size(), false); set_rand(X_oo.get_pointer(), nstate * s.nks * px_oo.get_local_size()); - psi::Psi X_vv(s.nks, nstate, px_vv.get_local_size(), nullptr, false); + psi::Psi X_vv(s.nks, nstate, px_vv.get_local_size(), px_vv.get_local_size(), false); set_rand(X_vv.get_pointer(), nstate * s.nks * px_vv.get_local_size()); Parallel_2D pc; LR_Util::setup_2d_division(pc, s.nb, s.naos, s.nocc + s.nvirt, px_vo.blacs_ctxt); std::vector temp_2(s.nks, pc.get_row_size()); - psi::Psi c(s.nks, pc.get_col_size(), pc.get_row_size(), temp_2.data(), true); + psi::Psi c(s.nks, pc.get_col_size(), pc.get_row_size(), temp_2, true); Parallel_2D pmat; LR_Util::setup_2d_division(pmat, s.nb, s.naos, s.naos, px_vo.blacs_ctxt); @@ -153,9 +153,9 @@ TEST_F(DMTransTest, DoubleParallel) EXPECT_GE(s.nocc, px_vo.dim1); EXPECT_GE(s.naos, pc.dim0); - psi::Psi X_full_vo(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); // allocate X_full - psi::Psi X_full_oo(s.nks, nstate, s.nocc * s.nocc, nullptr, false); // allocate X_full - psi::Psi X_full_vv(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); // allocate X_full + psi::Psi X_full_vo(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); // allocate X_full + psi::Psi X_full_oo(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nocc, false); // allocate X_full + psi::Psi X_full_vv(s.nks, nstate, s.nvirt * s.nvirt, s.nvirt * s.nvirt, false); // allocate X_full auto gather = [&](const psi::Psi& X, psi::Psi& X_full, const Parallel_2D& px, const int dim1, const int dim2) { @@ -182,7 +182,7 @@ TEST_F(DMTransTest, DoubleParallel) // gather C std::vector temp(s.nks, s.naos); - psi::Psi c_full(s.nks, s.nocc + s.nvirt, s.naos, temp.data(), true); + psi::Psi c_full(s.nks, s.nocc + s.nvirt, s.naos, temp, true); for (int isk = 0;isk < s.nks;++isk) { c.fix_k(isk); @@ -223,24 +223,24 @@ TEST_F(DMTransTest, ComplexParallel) LR_Util::setup_2d_division(px_oo, s.nb, s.nocc, s.nocc, px_vo.blacs_ctxt); LR_Util::setup_2d_division(px_vv, s.nb, s.nvirt, s.nvirt, px_vo.blacs_ctxt); - psi::Psi> X_vo(s.nks, nstate, px_vo.get_local_size(), nullptr, false); + psi::Psi> X_vo(s.nks, nstate, px_vo.get_local_size(), px_vo.get_local_size(), false); set_rand(X_vo.get_pointer(), nstate * s.nks * px_vo.get_local_size()); - psi::Psi> X_oo(s.nks, nstate, px_oo.get_local_size(), nullptr, false); + psi::Psi> X_oo(s.nks, nstate, px_oo.get_local_size(), px_oo.get_local_size(), false); set_rand(X_oo.get_pointer(), nstate * s.nks * px_oo.get_local_size()); - psi::Psi> X_vv(s.nks, nstate, px_vv.get_local_size(), nullptr, false); + psi::Psi> X_vv(s.nks, nstate, px_vv.get_local_size(), px_vv.get_local_size(), false); set_rand(X_vv.get_pointer(), nstate * s.nks * px_vv.get_local_size()); Parallel_2D pc; LR_Util::setup_2d_division(pc, s.nb, s.naos, s.nocc + s.nvirt, px_vo.blacs_ctxt); std::vector temp(s.nks, pc.get_row_size()); - psi::Psi> c(s.nks, pc.get_col_size(), pc.get_row_size(), temp.data(), true); + psi::Psi> c(s.nks, pc.get_col_size(), pc.get_row_size(), temp, true); Parallel_2D pmat; LR_Util::setup_2d_division(pmat, s.nb, s.naos, s.naos, px_vo.blacs_ctxt); - psi::Psi> X_full_vo(s.nks, nstate, s.nocc * s.nvirt, nullptr, false); // allocate X_full - psi::Psi> X_full_oo(s.nks, nstate, s.nocc * s.nocc, nullptr, false); // allocate X_full - psi::Psi> X_full_vv(s.nks, nstate, s.nvirt * s.nvirt, nullptr, false); // allocate X_full + psi::Psi> X_full_vo(s.nks, nstate, s.nocc * s.nvirt, s.nocc * s.nvirt, false); // allocate X_full + psi::Psi> X_full_oo(s.nks, nstate, s.nocc * s.nocc, s.nocc * s.nvirt, false); // allocate X_full + psi::Psi> X_full_vv(s.nks, nstate, s.nvirt * s.nvirt, s.nocc * s.nvirt, false); // allocate X_full auto gather = [&](const psi::Psi>& X, psi::Psi>& X_full, const Parallel_2D& px, const int dim1, const int dim2) { @@ -266,7 +266,7 @@ TEST_F(DMTransTest, ComplexParallel) set_rand(c.get_pointer(), s.nks * pc.get_local_size()); // set c // compare to global matrix std::vector ngk_temp_2(s.nks, s.naos); - psi::Psi> c_full(s.nks, s.nocc + s.nvirt, s.naos, ngk_temp_2.data(), true); + psi::Psi> c_full(s.nks, s.nocc + s.nvirt, s.naos, ngk_temp_2, true); for (int isk = 0;isk < s.nks;++isk) { c.fix_k(isk); diff --git a/source/module_psi/psi.cpp b/source/module_psi/psi.cpp index dffc242205..1f0c593d1c 100644 --- a/source/module_psi/psi.cpp +++ b/source/module_psi/psi.cpp @@ -43,38 +43,38 @@ Psi::~Psi() } } -// Constructor 1-1: -template -Psi::Psi(const int nk_in, const int nbd_in, const int nbs_in, const int* ngk_in, const bool k_first_in) -{ - assert(nk_in > 0); - assert(nbd_in >= 0); // 187_PW_SDFT_ALL_GPU && 187_PW_MD_SDFT_ALL_GPU - assert(nbs_in > 0); - - this->k_first = k_first_in; - this->allocate_inside = true; - - this->ngk = ngk_in; // modify later - // This function will delete the psi array first(if psi exist), then malloc a new memory for it. - resize_memory_op()(this->ctx, this->psi, nk_in * static_cast(nbd_in) * nbs_in, "no_record"); - - this->nk = nk_in; - this->nbands = nbd_in; - this->nbasis = nbs_in; +// // Constructor 1-1: +// template +// Psi::Psi(const int nk_in, const int nbd_in, const int nbs_in, const int* ngk_in, const bool k_first_in) +// { +// assert(nk_in > 0); +// assert(nbd_in >= 0); // 187_PW_SDFT_ALL_GPU && 187_PW_MD_SDFT_ALL_GPU +// assert(nbs_in > 0); + +// this->k_first = k_first_in; +// this->allocate_inside = true; + +// this->ngk = ngk_in; // modify later +// // This function will delete the psi array first(if psi exist), then malloc a new memory for it. +// resize_memory_op()(this->ctx, this->psi, nk_in * static_cast(nbd_in) * nbs_in, "no_record"); + +// this->nk = nk_in; +// this->nbands = nbd_in; +// this->nbasis = nbs_in; - this->current_b = 0; - this->current_k = 0; - this->current_nbasis = nbs_in; - this->psi_current = this->psi; - this->psi_bias = 0; - - // Currently only GPU's implementation is supported for device recording! - base_device::information::print_device_info(this->ctx, GlobalV::ofs_device); - base_device::information::record_device_memory(this->ctx, - GlobalV::ofs_device, - "Psi->resize()", - sizeof(T) * nk_in * nbd_in * nbs_in); -} +// this->current_b = 0; +// this->current_k = 0; +// this->current_nbasis = nbs_in; +// this->psi_current = this->psi; +// this->psi_bias = 0; + +// // Currently only GPU's implementation is supported for device recording! +// base_device::information::print_device_info(this->ctx, GlobalV::ofs_device); +// base_device::information::record_device_memory(this->ctx, +// GlobalV::ofs_device, +// "Psi->resize()", +// sizeof(T) * nk_in * nbd_in * nbs_in); +// } // Constructor 1-2: template diff --git a/source/module_psi/psi.h b/source/module_psi/psi.h index 6c96392c88..7d4aaa7d61 100644 --- a/source/module_psi/psi.h +++ b/source/module_psi/psi.h @@ -39,8 +39,8 @@ class Psi // Constructor 0: basic Psi(); - // Constructor 1-1: specify nk, nbands, nbasis, ngk, and do not need to call resize() later - Psi(const int nk_in, const int nbd_in, const int nbs_in, const int* ngk_in, const bool k_first_in); + // // Constructor 1-1: specify nk, nbands, nbasis, ngk, and do not need to call resize() later + // Psi(const int nk_in, const int nbd_in, const int nbs_in, const int* ngk_in, const bool k_first_in); // Constructor 1-2: Psi(const int nk_in, const int nbd_in, const int nbs_in, const std::vector& ngk_in, const bool k_first_in); diff --git a/source/module_psi/test/psi_test.cpp b/source/module_psi/test/psi_test.cpp index b57e1b4caf..598cbe21bd 100644 --- a/source/module_psi/test/psi_test.cpp +++ b/source/module_psi/test/psi_test.cpp @@ -98,7 +98,7 @@ TEST_F(TestPsi, get_pointer_op_zero_complex_double) EXPECT_EQ(psi_object31->get_psi_bias(), 0); std::vector temp(ink, inbasis); - psi::Psi>* psi_temp = new psi::Psi>(ink, inbands, inbasis, temp.data(), true); + psi::Psi>* psi_temp = new psi::Psi>(ink, inbands, inbasis, temp, true); psi_temp->fix_k(0); EXPECT_EQ(psi_object31->get_current_nbas(), inbasis); delete psi_temp; @@ -241,10 +241,10 @@ TEST_F(TestPsi, range) TEST_F(TestPsi, band_first) { - const psi::Psi>* psi_band_c64 = new psi::Psi>(ink, inbands, inbasis, &ngk[0], false); - const psi::Psi* psi_band_64 = new psi::Psi(ink, inbands, inbasis, &ngk[0], false); - const psi::Psi>* psi_band_c32 = new psi::Psi>(ink, inbands, inbasis, &ngk[0], false); - const psi::Psi* psi_band_32 = new psi::Psi(ink, inbands, inbasis, &ngk[0], false); + const psi::Psi>* psi_band_c64 = new psi::Psi>(ink, inbands, inbasis, ngk, false); + const psi::Psi* psi_band_64 = new psi::Psi(ink, inbands, inbasis, ngk, false); + const psi::Psi>* psi_band_c32 = new psi::Psi>(ink, inbands, inbasis, ngk, false); + const psi::Psi* psi_band_32 = new psi::Psi(ink, inbands, inbasis, ngk, false); // set values: cover 4 different cases for (int ib = 0;ib < inbands;++ib)