From 14c864a23a0ad995f7aa18edd90f510507271de3 Mon Sep 17 00:00:00 2001 From: abacus_fixer Date: Thu, 7 May 2026 09:47:05 +0800 Subject: [PATCH 1/5] change a long name 'transfer_dm_2d_to_gint' to 'transfer_dm2d' --- source/source_lcao/module_gint/gint_common.cpp | 16 ++++++++-------- source/source_lcao/module_gint/gint_common.h | 2 +- source/source_lcao/module_gint/gint_fvl.cpp | 2 +- source/source_lcao/module_gint/gint_fvl_gpu.cpp | 2 +- source/source_lcao/module_gint/gint_fvl_meta.cpp | 2 +- .../module_gint/gint_fvl_meta_gpu.cpp | 2 +- source/source_lcao/module_gint/gint_rho.cpp | 2 +- source/source_lcao/module_gint/gint_rho_gpu.cpp | 2 +- source/source_lcao/module_gint/gint_tau.cpp | 2 +- source/source_lcao/module_gint/gint_tau_gpu.cpp | 2 +- .../module_gint/test/test_gint_common.cpp | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/source/source_lcao/module_gint/gint_common.cpp b/source/source_lcao/module_gint/gint_common.cpp index 7d3e287bb84..710b3a45bb4 100644 --- a/source/source_lcao/module_gint/gint_common.cpp +++ b/source/source_lcao/module_gint/gint_common.cpp @@ -258,7 +258,7 @@ void merge_hr_part_to_hR(const std::vector>& hr_gint_ -// C++11-compatible helpers for transfer_dm_2d_to_gint: +// C++11-compatible helpers for transfer_dm2d: // SFINAE (enable_if) to select same-type vs cross-type code paths at compile time. // Same-type path (TGint == TDM): transfer directly @@ -294,13 +294,13 @@ gather_dm(const HContainer& dm_src, HContainer& dm_dst, // gint_info should not have been a parameter, but it was added to initialize dm_gint_full // In the future, we might try to remove the gint_info parameter template -void transfer_dm_2d_to_gint( +void transfer_dm2d( const GintInfo& gint_info, const std::vector*>& dm, std::vector>& dm_gint) { - ModuleBase::TITLE("Gint", "transfer_dm_2d_to_gint"); - ModuleBase::timer::start("Gint", "transfer_dm_2d_to_gint"); + ModuleBase::TITLE("Gint", "transfer_dm2d"); + ModuleBase::timer::start("Gint", "transfer_dm2d"); if (PARAM.inp.nspin != 4) { @@ -368,7 +368,7 @@ void transfer_dm_2d_to_gint( delete dm2d_tmp; #endif } - ModuleBase::timer::end("Gint", "transfer_dm_2d_to_gint"); + ModuleBase::timer::end("Gint", "transfer_dm2d"); } int globalIndex(int localindex, int nblk, int nprocs, int myproc) @@ -494,15 +494,15 @@ template void cast_hcontainer_values( HContainer& dst); template HContainer make_cast_hcontainer(const HContainer& src); template HContainer make_cast_hcontainer(const HContainer& src); -template void transfer_dm_2d_to_gint( +template void transfer_dm2d( const GintInfo& gint_info, const std::vector*>& dm, std::vector>& dm_gint); -template void transfer_dm_2d_to_gint( +template void transfer_dm2d( const GintInfo& gint_info, const std::vector*>& dm, std::vector>& dm_gint); -template void transfer_dm_2d_to_gint( +template void transfer_dm2d( const GintInfo& gint_info, const std::vector>*>& dm, std::vector>>& dm_gint); diff --git a/source/source_lcao/module_gint/gint_common.h b/source/source_lcao/module_gint/gint_common.h index e0348e0f7af..d3fa95680e2 100644 --- a/source/source_lcao/module_gint/gint_common.h +++ b/source/source_lcao/module_gint/gint_common.h @@ -23,7 +23,7 @@ namespace ModuleGint const GintInfo& gint_info); template - void transfer_dm_2d_to_gint( + void transfer_dm2d( const GintInfo& gint_info, const std::vector*>& dm, std::vector>& dm_gint); diff --git a/source/source_lcao/module_gint/gint_fvl.cpp b/source/source_lcao/module_gint/gint_fvl.cpp index 752a11c4a11..dd82c6f2d02 100644 --- a/source/source_lcao/module_gint/gint_fvl.cpp +++ b/source/source_lcao/module_gint/gint_fvl.cpp @@ -11,7 +11,7 @@ void Gint_fvl::cal_gint() ModuleBase::TITLE("Gint", "cal_gint_fvl"); ModuleBase::timer::start("Gint", "cal_gint_fvl"); init_dm_gint_(); - transfer_dm_2d_to_gint(*gint_info_, dm_vec_, dm_gint_vec_); + transfer_dm2d(*gint_info_, dm_vec_, dm_gint_vec_); cal_fvl_svl_(); ModuleBase::timer::end("Gint", "cal_gint_fvl"); } diff --git a/source/source_lcao/module_gint/gint_fvl_gpu.cpp b/source/source_lcao/module_gint/gint_fvl_gpu.cpp index f1a721a1b8d..7257423f599 100644 --- a/source/source_lcao/module_gint/gint_fvl_gpu.cpp +++ b/source/source_lcao/module_gint/gint_fvl_gpu.cpp @@ -13,7 +13,7 @@ void Gint_fvl_gpu::cal_gint() ModuleBase::TITLE("Gint", "cal_gint_fvl"); ModuleBase::timer::start("Gint", "cal_gint_fvl"); init_dm_gint_(); - transfer_dm_2d_to_gint(*gint_info_, dm_vec_, dm_gint_vec_); + transfer_dm2d(*gint_info_, dm_vec_, dm_gint_vec_); cal_fvl_svl_(); ModuleBase::timer::end("Gint", "cal_gint_fvl"); } diff --git a/source/source_lcao/module_gint/gint_fvl_meta.cpp b/source/source_lcao/module_gint/gint_fvl_meta.cpp index b5d9a891bd9..0caa1315fec 100644 --- a/source/source_lcao/module_gint/gint_fvl_meta.cpp +++ b/source/source_lcao/module_gint/gint_fvl_meta.cpp @@ -11,7 +11,7 @@ void Gint_fvl_meta::cal_gint() ModuleBase::TITLE("Gint", "cal_gint_fvl"); ModuleBase::timer::start("Gint", "cal_gint_fvl"); init_dm_gint_(); - transfer_dm_2d_to_gint(*gint_info_, dm_vec_, dm_gint_vec_); + transfer_dm2d(*gint_info_, dm_vec_, dm_gint_vec_); cal_fvl_svl_(); ModuleBase::timer::end("Gint", "cal_gint_fvl"); } diff --git a/source/source_lcao/module_gint/gint_fvl_meta_gpu.cpp b/source/source_lcao/module_gint/gint_fvl_meta_gpu.cpp index 6534e9169df..4749f73857c 100644 --- a/source/source_lcao/module_gint/gint_fvl_meta_gpu.cpp +++ b/source/source_lcao/module_gint/gint_fvl_meta_gpu.cpp @@ -13,7 +13,7 @@ void Gint_fvl_meta_gpu::cal_gint() ModuleBase::TITLE("Gint", "cal_gint_fvl"); ModuleBase::timer::start("Gint", "cal_gint_fvl"); init_dm_gint_(); - transfer_dm_2d_to_gint(*gint_info_, dm_vec_, dm_gint_vec_); + transfer_dm2d(*gint_info_, dm_vec_, dm_gint_vec_); cal_fvl_svl_(); ModuleBase::timer::end("Gint", "cal_gint_fvl"); } diff --git a/source/source_lcao/module_gint/gint_rho.cpp b/source/source_lcao/module_gint/gint_rho.cpp index f9c99b2aff4..5e6de0f1a56 100644 --- a/source/source_lcao/module_gint/gint_rho.cpp +++ b/source/source_lcao/module_gint/gint_rho.cpp @@ -36,7 +36,7 @@ void Gint_rho::cal_gint_impl_() { rho_data[is] = get_rho_data_(is, rho_cache); } - transfer_dm_2d_to_gint(*gint_info_, dm_vec_, dm_gint_vec); + transfer_dm2d(*gint_info_, dm_vec_, dm_gint_vec); cal_rho_(dm_gint_vec, rho_data); transfer_rho_cache_(rho_cache); } diff --git a/source/source_lcao/module_gint/gint_rho_gpu.cpp b/source/source_lcao/module_gint/gint_rho_gpu.cpp index 5dedac31621..429cc3b4c30 100644 --- a/source/source_lcao/module_gint/gint_rho_gpu.cpp +++ b/source/source_lcao/module_gint/gint_rho_gpu.cpp @@ -38,7 +38,7 @@ void Gint_rho_gpu::cal_gint_impl_() } // 2. Transfer dm from 2D parallel distribution to gint serial distribution - transfer_dm_2d_to_gint(*gint_info_, dm_vec_, dm_gint_vec); + transfer_dm2d(*gint_info_, dm_vec_, dm_gint_vec); // 3. Transfer dm to GPU std::vector> dm_gint_d_vec(nspin_); diff --git a/source/source_lcao/module_gint/gint_tau.cpp b/source/source_lcao/module_gint/gint_tau.cpp index 139742a01c2..1446e5af2c1 100644 --- a/source/source_lcao/module_gint/gint_tau.cpp +++ b/source/source_lcao/module_gint/gint_tau.cpp @@ -11,7 +11,7 @@ void Gint_tau::cal_gint() ModuleBase::TITLE("Gint", "cal_gint_tau"); ModuleBase::timer::start("Gint", "cal_gint_tau"); init_dm_gint_(); - transfer_dm_2d_to_gint(*gint_info_, dm_vec_, dm_gint_vec_); + transfer_dm2d(*gint_info_, dm_vec_, dm_gint_vec_); cal_tau_(); ModuleBase::timer::end("Gint", "cal_gint_tau"); } diff --git a/source/source_lcao/module_gint/gint_tau_gpu.cpp b/source/source_lcao/module_gint/gint_tau_gpu.cpp index fcc6017046f..6447e97eadf 100644 --- a/source/source_lcao/module_gint/gint_tau_gpu.cpp +++ b/source/source_lcao/module_gint/gint_tau_gpu.cpp @@ -13,7 +13,7 @@ void Gint_tau_gpu::cal_gint() ModuleBase::TITLE("Gint", "cal_gint_tau"); ModuleBase::timer::start("Gint", "cal_gint_tau"); init_dm_gint_(); - transfer_dm_2d_to_gint(*gint_info_, dm_vec_, dm_gint_vec_); + transfer_dm2d(*gint_info_, dm_vec_, dm_gint_vec_); cal_tau_(); ModuleBase::timer::end("Gint", "cal_gint_tau"); } diff --git a/source/source_lcao/module_gint/test/test_gint_common.cpp b/source/source_lcao/module_gint/test/test_gint_common.cpp index b9d52f4c4ae..f1622d6b58b 100644 --- a/source/source_lcao/module_gint/test/test_gint_common.cpp +++ b/source/source_lcao/module_gint/test/test_gint_common.cpp @@ -105,7 +105,7 @@ TEST_F(GintCommonTest, TransferDm2dToGintSupportsDoubleToFloat) std::vector> dm_gint; dm_gint.push_back(gint_info_->get_hr()); - ModuleGint::transfer_dm_2d_to_gint(*gint_info_, dm_vec, dm_gint); + ModuleGint::transfer_dm2d(*gint_info_, dm_vec, dm_gint); ASSERT_EQ(dm_gint.size(), 1); EXPECT_EQ(dm.get_ijr_info(), dm_gint[0].get_ijr_info()); From 82ccdde2b50b392b7dec01783712c77613402b3e Mon Sep 17 00:00:00 2001 From: abacus_fixer Date: Thu, 7 May 2026 09:50:00 +0800 Subject: [PATCH 2/5] print out the 'real' number of k points to screen --- source/source_io/module_output/print_info.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/source_io/module_output/print_info.cpp b/source/source_io/module_output/print_info.cpp index 398cbb49a8f..4c6f059b1de 100644 --- a/source/source_io/module_output/print_info.cpp +++ b/source/source_io/module_output/print_info.cpp @@ -96,7 +96,10 @@ void print_parameters( } else { - std::cout << std::setw(16) << kv.get_nkstot(); + const int nspin = kv.get_nspin(); + const int nkstot = kv.get_nkstot(); + const int nkpoints_real = (nspin > 0) ? (nkstot / nspin) : nkstot; + std::cout << std::setw(16) << nkpoints_real; } std::cout << std::setw(12) << GlobalV::NPROC From 3d55ecb40d379ef4f70da1858382d8126dd8f5ef Mon Sep 17 00:00:00 2001 From: abacus_fixer Date: Thu, 7 May 2026 10:12:36 +0800 Subject: [PATCH 3/5] convert output START CHARGE to upper case --- source/source_estate/module_charge/charge_init.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/source_estate/module_charge/charge_init.cpp b/source/source_estate/module_charge/charge_init.cpp index fb0f89122d4..3b72e41903e 100644 --- a/source/source_estate/module_charge/charge_init.cpp +++ b/source/source_estate/module_charge/charge_init.cpp @@ -1,4 +1,5 @@ #include +#include #include "charge.h" #include "source_base/global_function.h" @@ -32,7 +33,9 @@ void Charge::init_rho(const UnitCell& ucell, const int nspin = PARAM.inp.nspin; assert(nspin>0); - std::cout << " START CHARGE : " << PARAM.inp.init_chg << std::endl; + std::string init_chg_upper = PARAM.inp.init_chg; + std::transform(init_chg_upper.begin(), init_chg_upper.end(), init_chg_upper.begin(), ::toupper); + std::cout << " START CHARGE : " << init_chg_upper << std::endl; // we need to set the omega for the charge density set_omega(&ucell.omega); From bf88d7f78b0369008b91e19f6ce0279eabe40e82 Mon Sep 17 00:00:00 2001 From: abacus_fixer Date: Thu, 7 May 2026 10:32:35 +0800 Subject: [PATCH 4/5] update memory warning information --- source/source_base/memory.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/source/source_base/memory.cpp b/source/source_base/memory.cpp index 7d7bd6bcc5a..4f59f7b6df1 100644 --- a/source/source_base/memory.cpp +++ b/source/source_base/memory.cpp @@ -13,6 +13,9 @@ namespace ModuleBase // 1024 Byte = 1 KB // 1024 KB = 1 MB // 1024 MB = 1 GB + +const double memory_warning_threshold_mb = 20.0; + double Memory::total = 0.0; int Memory::complex_matrix_memory = 2*sizeof(double); // 16 byte int Memory::double_memory = sizeof(double); // 8 byte @@ -149,7 +152,7 @@ double Memory::record consume[find] = Memory::calculate_mem(n_in,type); - if(consume[find] > 5) + if(consume[find] > memory_warning_threshold_mb) { print(find); } @@ -211,7 +214,7 @@ void Memory::record { Memory::total += size_mb - consume[find]; consume[find] = size_mb; - if(consume[find] > 5) + if(consume[find] > memory_warning_threshold_mb) { print(find); } @@ -268,7 +271,7 @@ double Memory::record_gpu consume_gpu[find] = Memory::calculate_mem(n_in,type); - if(consume_gpu[find] > 5) + if(consume_gpu[find] > memory_warning_threshold_mb) { print(find); } @@ -330,7 +333,7 @@ void Memory::record_gpu { Memory::total_gpu += size_mb - consume_gpu[find]; consume_gpu[find] = size_mb; - if(consume_gpu[find] > 5) + if(consume_gpu[find] > memory_warning_threshold_mb) { print(find); } @@ -343,7 +346,7 @@ void Memory::record_gpu void Memory::print(const int find) { - GlobalV::ofs_running <<"\n Warning_Memory_Consuming allocated: " + GlobalV::ofs_running <<"\n *** Memory Allocation Warning *** " <<" "< Date: Thu, 7 May 2026 11:06:57 +0800 Subject: [PATCH 5/5] update outputs --- source/source_cell/cal_atoms_info.h | 4 +++- source/source_cell/setup_nonlocal.cpp | 2 +- source/source_estate/read_pseudo.cpp | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/source/source_cell/cal_atoms_info.h b/source/source_cell/cal_atoms_info.h index c7065758437..2c9c744798b 100644 --- a/source/source_cell/cal_atoms_info.h +++ b/source/source_cell/cal_atoms_info.h @@ -2,6 +2,7 @@ #define CAL_ATOMS_INFO_H #include "source_io/module_parameter/parameter.h" #include "source_estate/cal_nelec_nband.h" +#include "source_base/global_function.h" class CalAtomsInfo { public: @@ -27,7 +28,8 @@ class CalAtomsInfo para.input.nupdown += atoms[it].mag[ia]; } } - GlobalV::ofs_running << " The readin total magnetization is " << para.inp.nupdown << std::endl; + GlobalV::ofs_running << std::endl; + ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, "The readin total magnetization", para.inp.nupdown); } diff --git a/source/source_cell/setup_nonlocal.cpp b/source/source_cell/setup_nonlocal.cpp index 96bf8988645..99a2e3ace9c 100644 --- a/source/source_cell/setup_nonlocal.cpp +++ b/source/source_cell/setup_nonlocal.cpp @@ -161,7 +161,7 @@ void InfoNonlocal::Set_NonLocal(const int& it, delete[] tmpBeta_lm; - log << " SET NONLOCAL PSEUDOPOTENTIAL PROJECTORS" << std::endl; + log << " SET NONLOCAL PSEUDOPOTENTIAL PROJECTORS FOR ELEMENT " << atom->label << std::endl; return; } diff --git a/source/source_estate/read_pseudo.cpp b/source/source_estate/read_pseudo.cpp index c348635dde9..6a06d89b80a 100644 --- a/source/source_estate/read_pseudo.cpp +++ b/source/source_estate/read_pseudo.cpp @@ -293,6 +293,7 @@ void read_cell_pseudopots(const std::string& pp_dir, std::ofstream& log, UnitCel { upf.complete_default(ucell.atoms[i].ncpp); + log << std::endl; ModuleBase::GlobalFunc::OUT(log, "Pseudopotential file", ucell.pseudo_fn[i]); ModuleBase::GlobalFunc::OUT(log, "Pseudopotential type", ucell.atoms[i].ncpp.pp_type); ModuleBase::GlobalFunc::OUT(log, "Exchange-correlation functional", ucell.atoms[i].ncpp.xc_func);