Skip to content

Conversation

@Flying-dragon-boxing
Copy link
Collaborator

Support k-point parallelism, both nspin=1 and 2, currently only for ACE calculations.

Flying-dragon-boxing and others added 30 commits March 30, 2024 16:27
Fix unit test issues in input_conv
@mohanchen mohanchen added Features Needed The features are indeed needed, and developers should have sophisticated knowledge EXX and lr-TDDFT Related to EXX or lr-TDDFT labels Oct 28, 2025
@mohanchen
Copy link
Collaborator

LGTM, good job

@mohanchen mohanchen merged commit ecb36de into deepmodeling:develop Oct 28, 2025
14 checks passed
kluonj pushed a commit to kluonj/abacus-develop that referenced this pull request Oct 29, 2025
* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Refactor: in ESolver_KS_PW, calculate deband in iter_finish, not in hamilt2density

* Fix: make files in consistent with upstream

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

* Fix: One minor fix for a segmentation fault

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Revert "Tests: one integrate test for exx pw, only for verifying whether exx pw works"

This reverts commit e7b606f.

* Fix: EXX PW ACE open only when separate_loop is on

* add timer

* Feature: Double Grid method of EXX PW

* Feature: Double Grid method of EXX PW Stress

* Fix: Double Grid method of EXX PW Stress

* Feature: add double grid variable

* Feature: add double grid variable

* Fis: HSE stress

* Fix: HSE Stress

* Fix: Timer

* Fix: Timer

* For non mp sampling, disable extrapolation

* Modify test

* Modify mp

* Format

* Format

* Feature: nspin == 2 scf

* Fix: nspin == 2 scf

* Docs: EXX PW Docs

* Feature: EXX PW for nspin=2

* Docs: EXX PW Docs

* Docs: EXX PW Docs

* Docs: EXX PW Docs, minor fixes

* Refactor

* Refactor

* Refactor

* Refactor

* Refactor

* Refactor: fix unit test

* Refactor: fix unit test

* Refactor: fix unit test

* Refactor: fix unit test

* Bump version v3.9.0.7

* Refactor: Remove set kvec funcs in `K_Vectors`

* Refactor: Remove final_scf

* Refactor: Fix kvecc2d/d2c

* Fix: Tests

* Fix: Tests

* Fix: Tests

* Fix: Tests

* Refactor: Final?

* Fix

* Fix

* Fix

* Fix

* GPU EXX PW Support

* Fix: Compile Error on CUDA > 12.9

* Fix: Compile Error on CUDA > 12.9

* NVTX3

* F***ing new version

* Feature: Support linear combination of coulomb_param for EXX PW

* Fix: Fix compile issue

* F***ing new version

* F***ing new version

* F***ing new version

* Uploading hybrid gauge tddft (deepmodeling#6369)

* hybrid gague

* update tests

* update

* update

* update

* update

* update unit test

* fix tests

* update tests

* fix read_wfc

* fix catch_properties.sh

* fix restart

* update gpu test

* update tests

* fix

* fix input_conv

* Improve md calculation stress output in running log (deepmodeling#6366)

* Improve md calculation stress output in running log

* Module_IO Unittest modify

* ModuleMD Unittests modify

* modify code comment in fire_test.cpp

* maintain setprecision(8) for md stress output

* Refactor: Remove redundant Input_para from ESolver Class (deepmodeling#6370)

* Refactor: Replace PARAM.inp with inp in ESolver classes for consistency

* Refactor: Replace local input parameters with PARAM.inp in ESolver classes for consistency

* Refactor: Use PARAM.inp.scf_ene_thr in ESolver_KS_LCAO iter_finish method

* Revert "Refactor: Use PARAM.inp.scf_ene_thr in ESolver_KS_LCAO iter_finish method"

This reverts commit b1bd0fd.

* Revert "Refactor: Replace local input parameters with PARAM.inp in ESolver classes for consistency"

This reverts commit f4f81e3.

* Fix: Fix memory leak introduced by new gint module (deepmodeling#6375)

* fix memory leak

* delete copy assignment

* refactor Exx_Opt_Orb (deepmodeling#6378)

Co-authored-by: linpz <[email protected]>

* Add use sw and fix Floating point exception  (deepmodeling#6372)

* remove float error in sunway

* fix ig=0

* add the sw

* change the make_dir

* unify the gg use

* fix compile bug

* add init

* temporarily remove the sunway define

* add the pesduo

* fix compile bug

* fix bug in the betar

* modify the test

* Update the output formats of rt-TDDFT (deepmodeling#6381)

* update the output formats of rt-TDDFT

* update the output formats of rt-TDDFT

* fix a bug

* update initialized velocities

* found some output information is still lacking in MD module

* [Refactor] Rename grid to module_grid and genelpa to module_genelpa (deepmodeling#6386)

* Rename grid to module_grid

* Rename genelpa to module_genelpa

* Fix cmake

* Update the outputs of geometry relaxation (deepmodeling#6387)

* update the output formats of rt-TDDFT

* update the output formats of rt-TDDFT

* fix a bug

* update initialized velocities

* found some output information is still lacking in MD module

* update output information

* remove some global variables in relax_driver

* update outputs

* update relaxation outputs

* update relaxation output messages

* update tests of print info

* fix a test

* fix cg outputs

* udpate cg test

* update relax tests

* update LCAO output stress format

* change update_cell.cpp algorithm, when the ion move is larger than the cell length, it is fine to proceed the relaxation calculations

* fix tests for unitcells

* update cell

* Feature: support the output of matrix representation of symm_ops (deepmodeling#6390)

* Feature: support output the matrix representation of symmetry operation

* Feature: support the output of matrix representation of symm_ops

* update the document

* Feature: Output real space wavefunction and partial charge density when `device=gpu` (deepmodeling#6391)

* Fix GPU output of out_pchg and out_wfc_norm, out_wfc_re_im

* GPU integrate test is functional again

* Optimize RT-TDDFT dipole output (deepmodeling#6393)

* Perf: support GPU version of cal_force_cc with LCAO basis (deepmodeling#6392)

* support GPU version of cal_force_cc with LCAO basis

* fix a bug

* [Refactor] Move module_lr to source_lcao and add a new folder module_external in source_base (deepmodeling#6388)

* Move module_lr to source_lcao

* Fix test build

* Move blas_connector to module_external

* Fix header use

* Fix internal header use

* A fierce battle with Makefile😡

* Move blacs_connector.h to module_external

* Move lapack_connector.h and lapack_wrapper.h to module_external

* Fix header usage

* Move scalapack_connector.h to module_external

* Fix a bug for the output information after relaxation (deepmodeling#6395)

* update the output formats of rt-TDDFT

* update the output formats of rt-TDDFT

* fix a bug

* update initialized velocities

* found some output information is still lacking in MD module

* update output information

* remove some global variables in relax_driver

* update outputs

* update relaxation outputs

* update relaxation output messages

* update tests of print info

* fix a test

* fix cg outputs

* udpate cg test

* update relax tests

* update LCAO output stress format

* change update_cell.cpp algorithm, when the ion move is larger than the cell length, it is fine to proceed the relaxation calculations

* fix tests for unitcells

* update cell

* update some function names, update output A to Angstrom

* change eV/A to eV/Angstrom

* bump version to 3.9.0.10 (deepmodeling#6397)

Co-authored-by: Liang Sun <[email protected]>

* Fix: fix exx_gamma_extrapolation error in MPI

* Fix: fix exx_gamma_extrapolation error in MPI

* Update lapack.cu

* Refactor: Use LAPACK interfaces from ATen

* Fix: Integrate test

* Fix: implement devinfo for potrf

* Fix: MPI and Makefile

* Fix: get_potential

* Fix: ace

* Refactor

* Refactor

* Refactor

* Refactor

* Refactor

* Fix: conv

* Revert "Fix: conv"

This reverts commit d2da506.

* Fix: conv

* Fix: conv hard code thr for now

* Fix: conv hard code thr for now

* Fix: conv hard code thr for now

* Fix: conv hard code thr for now

* Refactor

* Refactor

* Refactor

* Refactor

* Refactor

* Mod

* Begin EXX KPAR

* Begin EXX KPAR

* Begin EXX KPAR

* Begin EXX KPAR

* Begin EXX KPAR

* EXX KPAR WORKS

* EXX KPAR WORKS Alternative

* Fix GPU, but so ugly...

* Undo cuda aware mpi

* Undo cuda aware mpi

* Revert "Undo cuda aware mpi"

This reverts commit a8d71b2.

* EXX KPAR WORKS on NSPIN=2

* Fix without MPI

* Fix header

---------

Co-authored-by: Mohan Chen <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: HTZhao <[email protected]>
Co-authored-by: lanshuyue <[email protected]>
Co-authored-by: Liang Sun <[email protected]>
Co-authored-by: dzzz2001 <[email protected]>
Co-authored-by: linpeize <[email protected]>
Co-authored-by: linpz <[email protected]>
Co-authored-by: liiutao <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
Co-authored-by: Critsium <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Taoni Bao <[email protected]>
Co-authored-by: Chen Nuo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

EXX and lr-TDDFT Related to EXX or lr-TDDFT Features Needed The features are indeed needed, and developers should have sophisticated knowledge

Projects

None yet

Development

Successfully merging this pull request may close these issues.