Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
8a3ea2a
Feature: output symmetry information for LibRPA (#6435)
maki49 Aug 11, 2025
2efe796
Fix calculation type inconsistency across MPI ranks (#6437)
AsTonyshment Aug 15, 2025
49456ed
Fix the misleading annotation of (#6438)
maki49 Aug 15, 2025
ba9276a
Feature&Fix: Correct implementation of length-gauge electric fields a…
AsTonyshment Aug 15, 2025
3063540
Updata VERSION to 3.9.0.12 (#6442)
sunliang98 Aug 18, 2025
94f71a4
fix some bugs and optimize out_struc in rpa (#6445)
Fisherd99 Aug 19, 2025
dc855d8
Fix regex pattern for extracting version in version_check.yml (#6446)
sunliang98 Aug 20, 2025
a87d942
Build(deps): Bump actions/checkout from 4 to 5 (#6444)
dependabot[bot] Aug 20, 2025
a79b026
Perf: add cuda version of cal_force_ew (#6448)
dzzz2001 Aug 20, 2025
d226739
Build(deps): Bump actions/upload-pages-artifact from 3 to 4 (#6456)
dependabot[bot] Aug 26, 2025
320226d
Toolchain intel update to fix issue #6190 (#6451)
kluonj Aug 26, 2025
a7cff68
Perf: optimize cuda version of cal_force_cc (#6450)
dzzz2001 Aug 26, 2025
41b5045
Accelerate cal_overlap. (#6460)
ErjieWu Aug 27, 2025
20871ce
Fix a bug caused by libtorch>=2.6.0. (#6461)
ErjieWu Aug 27, 2025
37bdf71
update SIAB codes (#6462)
mohanchen Aug 27, 2025
8627dc5
Perf: cuSOLVER supports parallel solving of multiple k-point matrices…
dzzz2001 Aug 29, 2025
9ab7b09
Update version to 3.9.0.13 (#6465)
AsTonyshment Aug 29, 2025
95c4d9a
Fix: Name conflict in pyabacus. (#6466)
ErjieWu Aug 31, 2025
1b891d4
Delete useless codes in SIAB directory (#6467)
mohanchen Aug 31, 2025
79ccdb4
Fix: Value error of vdrpre in DeePKS. (#6476)
ErjieWu Sep 3, 2025
5b37f29
Refactor: remove the INPUTw input script and transfer parameters to I…
kirk0830 Sep 3, 2025
4e44caa
Add test of out_alllog (#6482)
AsTonyshment Sep 5, 2025
4da55e1
Feature: Add support for ML EXX in training script. (#6479)
sunliang98 Sep 5, 2025
a6ced75
add output information about device count (#6484)
dzzz2001 Sep 5, 2025
d71661d
Feature: Add deepks_out_base to support simultaneous output of numpy …
xuan112358 Sep 6, 2025
9e6bb70
Update out_dmk and out_dmr (#6481)
mohanchen Sep 6, 2025
90ed1c4
Build(deps): Bump actions/setup-python from 5 to 6 (#6492)
dependabot[bot] Sep 8, 2025
b6c4c75
[Refactor] Move hardware initializer out from esolver code (#6494)
Critsium-xy Sep 8, 2025
ec3f0a6
Feature: support NVTX profiling via timer_enable_nvtx flag (#6495)
wangtianxiang Sep 9, 2025
8f7d319
Perf: Optimize Davidson by fusing operators, offloading CPU computati…
wangtianxiang Sep 9, 2025
9183cd2
Fix: resolve compile error with USE_ELPA=OFF + BUILD_TESTING=ON and s…
wangtianxiang Sep 9, 2025
a7255f2
Fix dsp compilation problem (#6499)
Critsium-xy Sep 10, 2025
305bbf6
Fix: Fix crash in Debug build with multi-GPU due to forced cudaSetDev…
wangtianxiang Sep 10, 2025
0817e32
Removed the temporary variable DMRGint_full when transitioning from 2…
zgn-26714 Sep 11, 2025
338dffa
Update version to 3.9.0.14 (#6504)
ErjieWu Sep 12, 2025
e5500e5
Fix : add overlap output for deepks_out_freq_elec (#6505)
xuan112358 Sep 13, 2025
10a9c41
correct an output in LR hsolver (#6503)
maki49 Sep 13, 2025
bf2ff91
Refactor: change cal_proj() to cal_mul() in Exx_Opt_Orb (#6506)
linpeize Sep 15, 2025
c3ff007
fix: psi error for large system (#6501)
dyzheng Sep 15, 2025
c931d97
Tests: Update DeePKS UT to make sure it covers some checks. (#6480)
ErjieWu Sep 15, 2025
3d1a861
1. Improve output accuracy of Exx_Opt_Orb (#6509)
linpeize Sep 16, 2025
1bea8dd
Refactor: EXX PW Code Structure (#6431)
Flying-dragon-boxing Sep 16, 2025
07658be
[Refactor] Move module_fft to source_base (#6508)
Critsium-xy Sep 17, 2025
cb5ae35
Fix a minor bug in v_xc timer (#6514)
AsTonyshment Sep 20, 2025
305b7d6
fix output bug (#6518)
dzzz2001 Sep 20, 2025
99720fe
fix memory leak (#6515)
dzzz2001 Sep 20, 2025
002786e
Feature: add DFT-1/2 and shell DFT-1/2, only support PW esolvers_ks_p…
Wuming-HUST Sep 20, 2025
8ea115b
change fflush to flush (#6521)
dzzz2001 Sep 22, 2025
8a632e9
Activate PW/GPU test for out_wfc_pw (#6523)
Cstandardlib Sep 22, 2025
073f7dc
Update output formats, prepare for ABACUS 3.11 version (#6522)
mohanchen Sep 23, 2025
18f1c79
Refactor: Simplify EXX related code in ESolver_KS_PW (#6530)
Flying-dragon-boxing Sep 24, 2025
bb0d003
docs: Added keyword descriptions for the DFT-1/2 method. (#6528)
Wuming-HUST Sep 24, 2025
4289cec
Fix: Plug memory leak in dav_subspace (#6532)
Cstandardlib Sep 25, 2025
860ce0f
Move some codes out of esolver_fp (#6527)
mohanchen Sep 25, 2025
2a098b2
Add some timers related to FFT (#6537)
mohanchen Sep 27, 2025
b062b07
Bump version to v3.9.0.15 (#6540)
Cstandardlib Sep 27, 2025
240da39
Refactor: rename dngvd op (#6542)
Cstandardlib Sep 28, 2025
5926001
Move some output information out of ESolver_KS_PW, not an easy task, …
mohanchen Sep 29, 2025
bc2d287
[Feature] Adapt ABACUS to newest version of mtblas and mtfft (#6548)
Critsium-xy Sep 30, 2025
73fc8a9
Refactor: rename dngvd files (#6543)
Cstandardlib Sep 30, 2025
1c54579
[Feature] TD-OFDFT (#6538)
lyb9812 Sep 30, 2025
e6a55ed
Removed the temporary variable hr_Gint_full_ when transitioning from …
zgn-26714 Sep 30, 2025
ae3fdf9
Fix the errors related to the "atomicAdd" function when building with…
ZhouXY-PKU Oct 1, 2025
5411878
Add subspace diagonalization for orthogonal input (#6559)
Cstandardlib Oct 1, 2025
04b2922
Fix: Fix the errors in building abacus with libtorch-gpu (#6554)
sunliang98 Oct 3, 2025
2f10362
Performance: Optimizing EXX PW memory usage by calculating potential …
Flying-dragon-boxing Oct 3, 2025
bf4ce74
change BFGS name and make lattice_change_cg and ions_move_cg shorter …
19hello Oct 4, 2025
a9ac67f
Fix: EXX PW GPU (#6564)
Flying-dragon-boxing Oct 5, 2025
59973ea
Make Esolver simpler (#6557)
mohanchen Oct 6, 2025
8ea1821
Feature: add `ABFS_ORBITAL` and `ABFS_JLES_ORBITAL` in class `Exx_Opt…
linpeize Oct 6, 2025
79b2508
Make ESolver simpler again (#6565)
mohanchen Oct 8, 2025
39d1383
Fix: reorder after_scf() call in after_opt() (#6570)
sunliang98 Oct 8, 2025
d9ac0c6
Clean and Reconstruct ESolver --- 3rd time (#6567)
mohanchen Oct 9, 2025
1f7e8fb
Fixed DFT-1/2 memory bug and added integration testing for DFT-1/2. (…
Wuming-HUST Oct 10, 2025
57ea55d
[Fix] Fix problems in the latest develop version causing compilation …
Critsium-xy Oct 10, 2025
757bb58
Update DeePKS and do some reconstructions (#6576)
mohanchen Oct 10, 2025
265dac7
The United Connector of LAPACK (#6579)
Cstandardlib Oct 10, 2025
1f0618f
Update version.h (#6580)
Critsium-xy Oct 10, 2025
e7ee599
Use namespace instead of class for LapackConnector, remove lapack_wra…
Cstandardlib Oct 11, 2025
c66790b
Modify bfgs test code (#6575)
19hello Oct 11, 2025
9ac9626
Docs: Update documentation of dft_functional (#6591)
ahxbcn Oct 12, 2025
487555c
Update update_cell.cpp to avoid numerical precision error issues. (#6…
ZhouXY-PKU Oct 12, 2025
4c72902
[Feature] Add current dependent potential for TD-OFDFT (#6593)
lyb9812 Oct 13, 2025
1468935
Fix: Resolve the output of E_bandgap (#6590)
sunliang98 Oct 13, 2025
4cfd8f5
Fix the unmatched timer tick of DiagoIterAssist::diag_subspace (#6598)
Cstandardlib Oct 13, 2025
b2a0c8a
Add an interface for psi in esolver_ks_pw (#6599)
mohanchen Oct 15, 2025
1f86285
Fix: Fix `cal_bandgap` for parallelism of k-points and band. (#6602)
sunliang98 Oct 15, 2025
0733e2d
Test: Fix the script for testing deepks_bandgap>1. (#6604)
ErjieWu Oct 15, 2025
f6e15df
[Feature] Add NEP as esolver (#6603)
MoseyQAQ Oct 15, 2025
6f277a7
fix relax_method parameter bug (#6605)
19hello Oct 15, 2025
1a49431
Delete update_pot() in ESolver (#6614)
mohanchen Oct 18, 2025
5da1df7
Refactor ESolver continues, I move charge mixing codes to module_char…
mohanchen Oct 18, 2025
2df3712
remove vector<vector> in bfgs and remove const number (#6613)
19hello Oct 18, 2025
e0823be
Update initialization of pw_wfc in esolver_ks.cpp, also some old gint…
mohanchen Oct 19, 2025
388226b
Toolchain 202503 Version Update (#6615)
QuantumMisaka Oct 19, 2025
e43b1cd
[Toolchain] Fix AOCL linking problem and other ver-202503 patch (#6623)
QuantumMisaka Oct 21, 2025
9b2ee21
Fix a output bug when using MPI. (#6626)
ErjieWu Oct 21, 2025
507c8ff
Add float copy function in blas connector (#6625)
Critsium-xy Oct 21, 2025
d9afb3e
Refactor: Unify standard/generalized eig driver of LAPACK (#6610)
Cstandardlib Oct 21, 2025
f689729
Refactor: move `Exx_Abfs::Abfs_Index` to `Element_Basis_Index` (#6622)
linpeize Oct 21, 2025
3e89604
[develop][Toolchain] fix elpa-gpu installation problem in toolchain (…
QuantumMisaka Oct 22, 2025
8d16c36
Update ESolver psi and delete some gint codes (#6619)
mohanchen Oct 22, 2025
50a186f
Refactor: remove old gint module code (#6635)
dzzz2001 Oct 22, 2025
574b085
Update version to 3.9.0.17. (#6638)
ZhouXY-PKU Oct 24, 2025
0498d0f
Test: Add an integrate test for `out_chg` under OFDFT. (#6640)
sunliang98 Oct 24, 2025
cb0924b
Test: Fix two bugs of test scripts (#6642)
sunliang98 Oct 26, 2025
b6b20b2
Update ESolver, simplify the ESolver_KS_LCAO class (#6636)
mohanchen Oct 26, 2025
2543590
Fix: include elecstate_lcao in edm.cpp (#6644)
ZhouXY-PKU Oct 26, 2025
91d71e2
Test: Fix CMakeList.txt (#6645)
sunliang98 Oct 27, 2025
cd52ac3
Fix: fix declarations of some BLAS and LAPACK functions. (#6637)
dzzz2001 Oct 27, 2025
0857ee1
Fix: remove rwork from ssyevx function declaration (#6647)
kluonj Oct 27, 2025
ecb36de
Feature: EXX PW supports k-point parallelism (#6648)
Flying-dragon-boxing Oct 28, 2025
a201da3
Fix: set the maximal cutoff radius of orbital as the lower bound of s…
kirk0830 Oct 29, 2025
efaf1e3
Feature: EXX PW supports a `ecut` different from `ecutrho` (#6650)
Flying-dragon-boxing Oct 29, 2025
4e37d33
Add: D3 zero-damping parameters for PBEsol (issue#6646) (#6660)
kirk0830 Oct 30, 2025
ab87e38
refactor stress_ewa (#6669)
dzzz2001 Nov 2, 2025
704c671
Refactor: RT-TDDFT ESolver `ESolver_KS_LCAO_TDDFT` (#6668)
AsTonyshment Nov 2, 2025
fa1d1fd
Refactor: Simplify functions in sparse_format. (#6606)
ErjieWu Nov 2, 2025
9ce0542
Modify the call to Parallel_Orbital and remove unnecessary code in ct…
AsTonyshment Nov 4, 2025
ea6dbc7
Refactor: change the readin directory of deepks_projdm.dat (#6673)
ErjieWu Nov 4, 2025
82c3edb
Fix template disambiguation error in esolver_ks_lcao_tddft.cpp (#6678)
AsTonyshment Nov 4, 2025
e12c403
Remove DM from elecstate (#6675)
mohanchen Nov 5, 2025
41ddd13
Fix: Update source_base/test_parallel/CMakeLists.txt (#6679)
sunliang98 Nov 5, 2025
7e4e4ff
Fix compilation error on Sunway (#6683)
Critsium-xy Nov 6, 2025
443f89e
Fix: Resolve the compilation error in the Intel oneAPI 2025.3 contain…
sunliang98 Nov 6, 2025
46bc1a4
Refactor cal_edm_tddft to replace raw ScaLAPACK and BLAS calls with S…
AsTonyshment Nov 6, 2025
efbf84e
Add new blas/lapack interfaces (#6658)
Cstandardlib Nov 6, 2025
dad7304
Fix DM in PEXSI (#6689)
mohanchen Nov 7, 2025
1f926b8
Fix a minor LaTeX rendering issue of td_ttype in doc (#6692)
AsTonyshment Nov 7, 2025
2add562
[Fix]An Intel Build test for abacus with PEXSI support (#6688)
ZhouXY-PKU Nov 7, 2025
483c6b8
Update version to v3.9.0.18 (#6690)
ieiue Nov 7, 2025
feb20e8
Add iostream include to cusolver.h (#6696)
ieiue Nov 10, 2025
c3eb4e6
Remove GlobalC::dftu (#6694)
mohanchen Nov 10, 2025
1c2a933
Reducing the size of esolver_ks_lcao (#6697)
mohanchen Nov 11, 2025
5a7a30a
fix the search radius in L calculator (#6705)
maki49 Nov 13, 2025
7baaab1
Fix: fix a bug caused by intel compiler (#6703)
dzzz2001 Nov 13, 2025
d536135
update version.h
Nov 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/build_test_cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
build_args: "-DUSE_CUDA=1"
name: "Build with CUDA support"
- tag: gnu
build_args: "-DENABLE_LCAO=OFF"
build_args: "-DENABLE_LCAO=0"
name: "Build without LCAO"
- tag: gnu
build_args: "-DUSE_ELPA=0 "
Expand All @@ -43,7 +43,7 @@ jobs:
container: ghcr.io/deepmodeling/abacus-${{ matrix.tag }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
submodules: recursive

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_test_makefile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
container: ghcr.io/deepmodeling/abacus-${{ matrix.tag }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Build
run: |
export I_MPI_CXX=icpx
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
container: ghcr.io/deepmodeling/abacus-gnu
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Install Requirements for Coverage Testing
run: |
apt update && apt install -y lcov gpg curl jq ca-certificates
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
submodules: recursive

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/devcontainer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
dockerfile: ["gnu","intel","cuda"]
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Docker meta
id: meta
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
if: github.repository_owner == 'deepmodeling'
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install Doxygen
run: sudo apt-get install doxygen graphviz -y
Expand All @@ -48,7 +48,7 @@ jobs:
uses: actions/configure-pages@v5

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@v4
with:
path: './doxygen/html'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dynamic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
container: ghcr.io/deepmodeling/abacus-gnu
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Building
run: |
cmake -B build -DENABLE_ASAN=1 -DENABLE_MLALGO=1 -DENABLE_LIBXC=1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
timeout-minutes: 2880
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Install Requirements
run: |
apt install -y time
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ jobs:
image: ghcr.io/deepmodeling/abacus-gnu
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: 3.8
- name: Build Pyabacus
Expand Down
18 changes: 12 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,17 @@ jobs:
volumes:
- /tmp/ccache:/github/home/.ccache
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v5
with:
submodules: recursive
fetch-depth: 0
# We will handle submodules manually after fixing ownership
submodules: 'false'

- name: Take ownership of the workspace and update submodules
run: |
sudo chown -R $(whoami) .
git submodule update --init --recursive

- name: Install CI tools
run: |
Expand Down Expand Up @@ -126,12 +132,12 @@ jobs:
run: |
cmake --build build --target test ARGS="-V --timeout 1700 -R 03_NAO_multik"

- name: 04_LJ_DP Test
- name: 04_FF Test
env:
GTEST_COLOR: 'yes'
OMP_NUM_THREADS: '2'
run: |
cmake --build build --target test ARGS="-V --timeout 1700 -R 04_LJ_DP"
cmake --build build --target test ARGS="-V --timeout 1700 -R 04_FF"

- name: 05_rtTDDFT Test
env:
Expand Down Expand Up @@ -180,4 +186,4 @@ jobs:
GTEST_COLOR: 'yes'
OMP_NUM_THREADS: '2'
run: |
cmake --build build --target test ARGS="-V --timeout 1700 -E 'integrate_test|01_PW|02_NAO_Gamma|03_NAO_multik|04_LJ_DP|05_rtTDDFT|06_SDFT|07_OFDFT|08_EXX|09_DeePKS|10_others|11_PW_GPU|12_NAO_Gamma_GPU|13_NAO_multik_GPU|15_rtTDDFT_GPU|16_SDFT_GPU|MODULE_BASE|MODULE_IO|MODULE_HSOLVER|MODULE_CELL|MODULE_MD|source_psi|MODULE_RI'"
cmake --build build --target test ARGS="-V --timeout 1700 -E 'integrate_test|01_PW|02_NAO_Gamma|03_NAO_multik|04_FF|05_rtTDDFT|06_SDFT|07_OFDFT|08_EXX|09_DeePKS|10_others|11_PW_GPU|12_NAO_Gamma_GPU|13_NAO_multik_GPU|15_rtTDDFT_GPU|16_SDFT_GPU|MODULE_BASE|MODULE_IO|MODULE_HSOLVER|MODULE_CELL|MODULE_MD|source_psi|MODULE_RI'"
6 changes: 3 additions & 3 deletions .github/workflows/version_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
validate_version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0 # Fetch complete git history for version comparison

Expand All @@ -25,15 +25,15 @@ jobs:
# Validate version.h matches the release tag
- name: Assert version increment
run: |
CODE_VERSION=$(grep -oP '#define\s+VERSION\s+"\K\d+(\.\d+){2,3}' source/source_main/version.h)
CODE_VERSION=$(grep -oP '#define\s+VERSION\s+"\Kv?\d+(\.\d+){2,3}' source/source_main/version.h)

if [[ -z "$CODE_VERSION" ]]; then
echo "::error::Failed to extract version from source/source_main/version.h"
exit 1
fi

# Verify that the version in version.h matches the tag
if [[ "${{ steps.versions.outputs.current_tag }}" != "v${CODE_VERSION}" ]]; then
if [[ "${{ steps.versions.outputs.current_tag }}" != "${CODE_VERSION}" ]]; then
echo "::error::Version mismatch: tag=${{ steps.versions.outputs.current_tag }} ≠ code=${CODE_VERSION}"
exit 1
fi
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,5 @@ __pycache__
abacus.json
*.npy
toolchain/install/
toolchain/abacus_env.sh
toolchain/abacus_env.sh
.trae
47 changes: 31 additions & 16 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -253,9 +253,6 @@ if(ENABLE_LCAO)
add_compile_definitions(__PEXSI)
set(CMAKE_CXX_STANDARD 14)
endif()
if(OLD_GINT)
add_compile_definitions(__OLD_GINT)
endif()
else()
set(ENABLE_MLALGO OFF)
set(ENABLE_LIBRI OFF)
Expand Down Expand Up @@ -287,12 +284,8 @@ if (USE_SW)
set(SW ON)
include_directories(${SW_MATH}/include)
include_directories(${SW_FFT}/include)

target_link_libraries(${ABACUS_BIN_NAME} ${SW_FFT}/lib/libfftw3.a)
target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswfft.a)
target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswscalapack.a)
target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswlapack.a)
target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswblas.a)
endif()

find_package(Threads REQUIRED)
Expand Down Expand Up @@ -373,6 +366,7 @@ if(USE_CUDA)
if(USE_CUDA)
add_compile_definitions(__CUDA)
add_compile_definitions(__UT_USE_CUDA)
target_compile_definitions(${ABACUS_BIN_NAME} PRIVATE __USE_NVTX)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_CUDA_FLAGS_DEBUG "${CMAKE_CUDA_FLAGS_DEBUG} -g -G" CACHE STRING "CUDA flags for debug build" FORCE)
endif()
Expand Down Expand Up @@ -468,20 +462,21 @@ if(MKLROOT)
find_package(MKL REQUIRED)
add_definitions(-D__MKL)
include_directories(${MKL_INCLUDE} ${MKL_INCLUDE}/fftw)
list(APPEND math_libs MKL::MKL MKL::MKL_SCALAPACK)
list(APPEND math_libs MKL::MKL)
if(CMAKE_CXX_COMPILER_ID MATCHES Intel)
list(APPEND math_libs ifcore)
endif()
elseif(USE_SW)
list(APPEND math_libs gfortran)
# SW architecture can only use its own math library
else()
elseif(NOT USE_SW)
find_package(FFTW3 REQUIRED)
find_package(Lapack REQUIRED)
include_directories(${FFTW3_INCLUDE_DIRS})
list(APPEND math_libs FFTW3::FFTW3 LAPACK::LAPACK BLAS::BLAS)
if(USE_DSP)
target_link_libraries(${ABACUS_BIN_NAME} ${SCALAPACK_LIBRARY_DIR})
else()
find_package(ScaLAPACK REQUIRED)
list(APPEND math_libs ScaLAPACK::ScaLAPACK)
endif()
if(USE_OPENMP)
list(APPEND math_libs FFTW3::FFTW3_OMP)
endif()
Expand Down Expand Up @@ -520,7 +515,7 @@ if(ENABLE_MLALGO)
include_directories(${libnpy_INCLUDE_DIR})
endif()
include_directories(${libnpy_SOURCE_DIR}/include)

add_compile_definitions(__MLALGO)
endif()

Expand Down Expand Up @@ -560,7 +555,7 @@ if (ENABLE_CNPY)
include_directories(${cnpy_INCLUDE_DIR})
endif()
include_directories(${cnpy_SOURCE_DIR})

# find ZLIB and link
find_package(ZLIB REQUIRED)
target_link_libraries(${ABACUS_BIN_NAME} cnpy ZLIB::ZLIB)
Expand Down Expand Up @@ -649,6 +644,15 @@ if(DEFINED DeePMD_DIR)
endif()
endif()

if(DEFINED NEP_DIR)
find_package(NEP REQUIRED)

if(NEP_FOUND)
add_compile_definitions(__NEP)
target_link_libraries(${ABACUS_BIN_NAME} NEP::nep)
endif()
endif()

if(DEFINED TensorFlow_DIR)
find_package(TensorFlow REQUIRED)
include_directories(${TensorFlow_DIR}/include)
Expand Down Expand Up @@ -785,11 +789,22 @@ if(ENABLE_RAPIDJSON)
target_link_libraries(${ABACUS_BIN_NAME} json_output)
endif()

if (USE_SW)
target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswfft.a)
target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswscalapack.a)
target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswlapack.a)
target_link_libraries(${ABACUS_BIN_NAME} ${SW_MATH}/libswblas.a)
list(APPEND math_libs gfortran)
endif()

list(APPEND math_libs m)
target_link_libraries(${ABACUS_BIN_NAME} ${math_libs})

install(PROGRAMS ${ABACUS_BIN_PATH}
TYPE BIN
# DESTINATION ${CMAKE_INSTALL_BINDIR}
)

if(ENABLE_COVERAGE)
coverage_evaluate()
endif()
endif()
Loading
Loading