What's Changed
Feature
- Feature: binary format of backup charge density by @YuLiu98 in #5782
- [Feature] Add col-major encapsulation for blas kernels and add some lacking kernels from blas by @Critsium-xy in #5790
- Feature: enable init_chg=file for metagga by @YuLiu98 in #5792
- [Feature] Add some GPU kernels to blas_connector by @Critsium-xy in #5799
- feature: parallel solve subspace diagonalization in dav_subspace by @pxlxingliang in #5549
- Feature: Support machine-learning based kinetic energy density functional for OFDFT by @sunliang98 in #5777
- [Feature] Complete all kernels' GPU implement in blas_connector.cpp by @Critsium-xy in #5833
- Feature: Add planewave parallization support for BPCG method by @Cstandardlib in #5849
- [Feature] Add vector_mul_vector, vector_div_vector and vector_add_vector in blas_connector and added some GPU tests. by @Critsium-xy in #5858
- [Feature] Add memory functions using AbacusDevice_t by @Critsium-xy in #5861
- Feature: add para_gemm to do parallel matrix multiply by @Qianruipku in #5870
- RT-TDDFT GPU Acceleration: RT-TD now fully support GPU computation by @AsTonyshment in #5773
- Feature: Make BPCG support band parallelism by @Qianruipku in #5873
- Solving linear equations to evolve the wave function in RT-TDDFT. by @ESROAMER in #5925
- First stage of add DSP FFT by @A-006 in #5878
Fix
- Fix: Reopen UT in HContainer output. by @ErjieWu in #5781
- Fix: correct the typo and format error in doc by @kirk0830 in #5788
- Fix: instable nonlocal pp in uspp by @YuLiu98 in #5798
- Fix: optimize lr_spectrum by @maki49 in #5805
- Fix some compile warnings about esolver by @maki49 in #5807
- Fix: Fix the Segmentation fault caused by zero atom case with LCAO basis. by @sunliang98 in #5821
- Fix: add const in module_lr by @maki49 in #5817
- [Fix] Fix the issue that single precision caculation is not runable on CUDA version by @Critsium-xy in #5825
- Fix: support negative value in parse_expression by @1041176461 in #5826
- Fix: dmin is replaced by dmax by @haozhihan in #5829
- Fix module_container test dependency on DCU by @Cstandardlib in #5838
- fix: memory leak when precision=single by @Qianruipku in #5839
- Fix: use gemm instead of einsum in BPCG by @Cstandardlib in #5827
- Fix a bug and a magic number in module_exx_symmetry by @maki49 in #5848
- Fix: wrong band output when kpar > 1 by @Qianruipku in #5847
- Fix: modify orb info manually by @YuLiu98 in #5853
- Fix the precision loss in
Tensor
output stream operator<<
by @AsTonyshment in #5866 - Fix:modify cheaktau type and add unittest by @A-006 in #5864
- Fix: Output a warning when the lattice vector is left-handed. by @sunliang98 in #5855
- Fix: Fixed a bug in RT-TDDFT where the electric field was not applied starting from the restart step by @AsTonyshment in #5877
- Fix: parse_expression for scientific notation by @1041176461 in #5882
- Fix: Solve mpi bug for DeePKS. by @ErjieWu in #5886
- Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS by @AsTonyshment in #5905
- Fix: wrong value of nmaxgr by @Qianruipku in #5906
- Fix: incorrect append mode for out_wfc_lcao by @YuLiu98 in #5914
- Fix: Update documentation for
td_lcut
parameter in RT-TDDFT by @AsTonyshment in #5917 - Fix: Add the correct RT-TDDFT electric field force acting on ions by @AsTonyshment in #5918
- Fix the wrong symmetry analysis at nspin=2 by @maki49 in #5926
- fix a bug about hcontainer in exx nscf by @maki49 in #5927
- Fix: useless output by @YuLiu98 in #5928
- Fix: fix cmake bug when USE_CUDA=1 and ENABLE_DEEPKS=1 by @dzzz2001 in #5929
Test
- Restore deepks unit test in gamma-only case and make H_V_delta have full size of Hamiltonian in multi-k case by @xuan112358 in #5785
- delete test print by @A-006 in #5795
- Tests: add checks for opening data files by hsolver tests by @Cstandardlib in #5823
Doc
- Doc: Enhance
ocp
andocp_set
documentation for clarity and error prevention by @AsTonyshment in #5896 - Docs: update docs about init_wfc by @YuLiu98 in #5912
- Update docs related to inputs, scf_thr and ase-abacus by @QuantumMisaka in #5922
Refactor
- Refactor:Move the relaxation part of the ucell function by @A-006 in #5767
- Refactor: Remove global dependence of some functions in DeePKS. by @ErjieWu in #5778
- Refactor: decrease uninitialized member values and the risk of memory leaks in abacus by @A-006 in #5755
- Refactor: Remove some redundant variables and global dependence in DeePKS. by @ErjieWu in #5791
- Refactor:Remove update_tau_pos in ucell by @A-006 in #5783
- Refactor: Enable the support of odd number of electrions in DeepKS orbital by @Liu-RX in #5793
- Refactor: update logic of init_chg by @YuLiu98 in #5801
- Refactor:remove cal_tau from ElecStateLCAO by @A-006 in #5802
- Refactor:Remove Ucell::update_pos_taud by @A-006 in #5794
- Refactor: refactor the constructors of Psi class by @haozhihan in #5761
- Refactor: Remove global dependence of descriptor, orbital_precalc, v_delta_precalc in DeePKS. by @ErjieWu in #5812
- Refactor: modify decimal digit of wfc to 8 by @YuLiu98 in #5820
- Refactor: Remove global dependence in force/stress calculation in DeePKS. by @ErjieWu in #5824
- Refactor: output true external_stress in dp/lj by @YuLiu98 in #5831
- Refactor:remove MPI part funcs of ucell by @A-006 in #5810
- Refactor: Use psi_initializer instead of wavefunc by @Qianruipku in #5775
- Remove TensorMap after cg call in HSolverPW by @Cstandardlib in #5797
- Refactor:Remove the read_atom_species and add read_lattice_constant by @A-006 in #5828
- Refactor: make module_lr/AX a general AO-to-MO transformer by @maki49 in #5834
- Refactor: Remove the global dependence of all remained functions in DeePKS. by @ErjieWu in #5835
- Refactor: Remove LCAO_Deepks from GlobalC. by @ErjieWu in #5844
- Refactor: remove GlobalC::Pkpoint by @Qianruipku in #5846
- Refactor: generalize the transition density matrix in module_lr by @maki49 in #5852
- Update pdm before outputting DeePKS labels by @xuan112358 in #5857
- [Refactor] Remove all ctx parameters in memory operators by @Critsium-xy in #5862
- Refactor: refactor
npol
, constructors andint *ngk
of Psi class by @haozhihan in #5863 - Refactor: add XC_Functional::get_ked_flag() by @YuLiu98 in #5879
- Refactor: new gint module by @dzzz2001 in #5869
- Refactor ucell read_stru part by @A-006 in #5887
- Build(deps): Bump codecov/codecov-action from 4 to 5 by @dependabot in #5590
- Add const to
rho_basis
in PW forces by @maki49 in #5900 - Refactor: update assignment logic of ecutwfc and ecutrho by @YuLiu98 in #5907
- [Refactor] Remove all ctx in math_kernel_op by @Critsium-xy in #5934
Performance
- Perf: optimize the stream strategy in module_gint by @dzzz2001 in #5845
- Perf: modify openmp strategy in module_gint by @dzzz2001 in #5898
- Performance: Add CUDA Aware MPI by @Qianruipku in #5930
- Perf: optimize deepks functions cal_f_delta and cal_pdm by @dzzz2001 in #5933
Full Changelog: v3.9.0...v3.9.0.1