Skip to content

Migrate exx_info#6896

Merged
mohanchen merged 6 commits intodeepmodeling:developfrom
mohanchen:20260124-global2
Jan 25, 2026
Merged

Migrate exx_info#6896
mohanchen merged 6 commits intodeepmodeling:developfrom
mohanchen:20260124-global2

Conversation

@mohanchen
Copy link
Collaborator

Migrate exx_info:

  • Added GlobalC::exx_info declaration to exx_info.h
  • Created exx_info.cpp with GlobalC::exx_info definition
  • Removed exx_info definition from global.cpp
  • Removed duplicate exx_info definition from exx_helper.cpp

Update build system:

  • Added exx_info.cpp to xc_ library in CMakeLists.txt
  • Added exx_info.o to OBJS_XC in Makefile.Objects
  • Fixed formatting in Makefile.Objects

Ensure compatibility:

  • Verify pure PW compilation works with exx_info.cpp
  • Verify GPU compilation works with refactored code

abacus_fixer added 5 commits January 23, 2026 20:25
1. Remove #ifdef __MPI from timer code, encapsulate in timer_wrapper.h
2. Move ESolver clean logic to after_all_runners method
3. Replace clean_esolver calls with direct delete p_esolver
4. Remove #ifdef __MPI from delete p_esolver
5. Add Cblacs_exit(1) in after_all_runners for LCAO calculations
1. Refactor global.h:
   - Removed heterogeneous parallel code (CUDA/ROCm error checking macros)
   - Added include for source_base/module_device/device_check.h
   - Removed GlobalC::exx_info declaration

2. Migrate exx_info:
   - Added GlobalC::exx_info declaration to exx_info.h
   - Created exx_info.cpp with GlobalC::exx_info definition
   - Removed exx_info definition from global.cpp
   - Removed duplicate exx_info definition from exx_helper.cpp

3. Update build system:
   - Added exx_info.cpp to xc_ library in CMakeLists.txt
   - Added exx_info.o to OBJS_XC in Makefile.Objects
   - Fixed formatting in Makefile.Objects

4. Ensure compatibility:
   - Verify pure PW compilation works with exx_info.cpp
   - Verify GPU compilation works with refactored code

This refactoring improves code modularity by separating heterogeneous parallel functionality from global variables and moving EXX-related global variables to their own module.
@mohanchen mohanchen added Refactor Refactor ABACUS codes The Absolute Zero Reduce the "entropy" of the code to 0 EXX and lr-TDDFT Related to EXX or lr-TDDFT labels Jan 24, 2026
@mohanchen mohanchen requested a review from Critsium-xy January 25, 2026 03:14
@mohanchen mohanchen merged commit fa35f83 into deepmodeling:develop Jan 25, 2026
14 checks passed
Flying-dragon-boxing pushed a commit to Flying-dragon-boxing/abacus-develop that referenced this pull request Jan 26, 2026
* Refactor: Encapsulate timer functionality in timer_wrapper.h

* Refactor timer code and clean_esolver function

1. Remove #ifdef __MPI from timer code, encapsulate in timer_wrapper.h
2. Move ESolver clean logic to after_all_runners method
3. Replace clean_esolver calls with direct delete p_esolver
4. Remove #ifdef __MPI from delete p_esolver
5. Add Cblacs_exit(1) in after_all_runners for LCAO calculations

* Refactor: Move heterogeneous parallel code to source_base/module_device

* Refactor heterogeneous parallel code and migrate exx_info to module_xc

1. Refactor global.h:
   - Removed heterogeneous parallel code (CUDA/ROCm error checking macros)
   - Added include for source_base/module_device/device_check.h
   - Removed GlobalC::exx_info declaration

2. Migrate exx_info:
   - Added GlobalC::exx_info declaration to exx_info.h
   - Created exx_info.cpp with GlobalC::exx_info definition
   - Removed exx_info definition from global.cpp
   - Removed duplicate exx_info definition from exx_helper.cpp

3. Update build system:
   - Added exx_info.cpp to xc_ library in CMakeLists.txt
   - Added exx_info.o to OBJS_XC in Makefile.Objects
   - Fixed formatting in Makefile.Objects

4. Ensure compatibility:
   - Verify pure PW compilation works with exx_info.cpp
   - Verify GPU compilation works with refactored code

This refactoring improves code modularity by separating heterogeneous parallel functionality from global variables and moving EXX-related global variables to their own module.

---------

Co-authored-by: abacus_fixer <mohanchen@pku.eud.cn>
@mohanchen mohanchen deleted the 20260124-global2 branch January 27, 2026 02:57
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 Refactor Refactor ABACUS codes The Absolute Zero Reduce the "entropy" of the code to 0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants