Skip to content

Commit dbd5c40

Browse files
committed
Merge branch 'develop' into io_libxc_2
Conflicts: docs/advanced/input_files/input-main.md
2 parents 5bb1348 + 725baaf commit dbd5c40

File tree

783 files changed

+39857
-24466
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

783 files changed

+39857
-24466
lines changed

.github/workflows/build_test_cmake.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ jobs:
1717
name: "Build with Intel toolchain"
1818

1919
- tag: gnu
20-
build_args: "-DENABLE_LIBXC=1 -DENABLE_DEEPKS=1 -DENABLE_MLKEDF=1 -DENABLE_LIBRI=1"
20+
build_args: "-DENABLE_LIBXC=1 -DDENABLE_MLALGO=1 -DENABLE_LIBRI=1"
2121
name: "Build extra components with GNU toolchain"
2222
- tag: intel
23-
build_args: "-DENABLE_LIBXC=1 -DENABLE_DEEPKS=1 -DENABLE_MLKEDF=1 -DENABLE_LIBRI=1"
23+
build_args: "-DENABLE_LIBXC=1 -DENABLE_MLALGO=1 -DENABLE_LIBRI=1"
2424
name: "Build extra components with Intel toolchain"
2525

2626
- tag: cuda

.github/workflows/coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
apt update && apt install -y lcov gpg curl jq ca-certificates
1919
- name: Building
2020
run: |
21-
cmake -B build -DENABLE_COVERAGE=ON -DBUILD_TESTING=ON -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON
21+
cmake -B build -DENABLE_COVERAGE=ON -DBUILD_TESTING=ON -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON
2222
cmake --build build -j`nproc`
2323
cmake --install build
2424
- name: Testing

.github/workflows/dynamic.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
uses: actions/checkout@v4
1717
- name: Building
1818
run: |
19-
cmake -B build -DENABLE_ASAN=1 -DENABLE_DEEPKS=1 -DENABLE_LIBXC=1
19+
cmake -B build -DENABLE_ASAN=1 -DENABLE_MLALGO=1 -DENABLE_LIBXC=1
2020
cmake --build build -j8
2121
cmake --install build
2222
- name: Testing

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
3232
- name: Configure
3333
run: |
34-
cmake -B build -DBUILD_TESTING=ON -DENABLE_DEEPKS=ON -DENABLE_MLKEDF=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DENABLE_FLOAT_FFTW=ON
34+
cmake -B build -DBUILD_TESTING=ON -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DENABLE_FLOAT_FFTW=ON
3535
3636
# Temporarily removed because no one maintains this now.
3737
# And it will break the CI test workflow.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Version Check
2+
on:
3+
release:
4+
types: [published]
5+
6+
jobs:
7+
validate_version:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v4
11+
with:
12+
fetch-depth: 0 # Fetch complete git history for version comparison
13+
14+
# Extract last two tags for version comparison
15+
- name: Get version history
16+
id: versions
17+
run: |
18+
# Get previous tag (skip current tag)
19+
PREV_TAG=$(git describe --tags --abbrev=0 $(git rev-list --tags --skip=1 --max-count=1))
20+
# Current tag being published (extracted from GITHUB_REF)
21+
CURRENT_TAG=${GITHUB_REF#refs/tags/}
22+
echo "prev_tag=${PREV_TAG}" >> $GITHUB_OUTPUT
23+
echo "current_tag=${CURRENT_TAG}" >> $GITHUB_OUTPUT
24+
25+
# Validate version.h matches the release tag
26+
- name: Assert version increment
27+
run: |
28+
CODE_VERSION=$(grep -oP '#define\s+VERSION\s+"\K\d+(\.\d+){2,3}' source/version.h)
29+
30+
if [[ -z "$CODE_VERSION" ]]; then
31+
echo "::error::Failed to extract version from source/version.h"
32+
exit 1
33+
fi
34+
35+
# Verify that the version in version.h matches the tag
36+
if [[ "${{ steps.versions.outputs.current_tag }}" != "v${CODE_VERSION}" ]]; then
37+
echo "::error::Version mismatch: tag=${{ steps.versions.outputs.current_tag }} ≠ code=${CODE_VERSION}"
38+
exit 1
39+
fi
40+
41+
# Ensure the version has been incremented
42+
if [[ "${{ steps.versions.outputs.prev_tag}}" == "${{ steps.versions.outputs.current_tag }}" ]]; then
43+
echo "::error::Version unchanged: ${{ steps.versions.outputs.current_tag }}"
44+
exit 1
45+
fi

CMakeLists.txt

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,11 @@ option(USE_DSP "Enable DSP" OFF)
2121
option(USE_ABACUS_LIBM "Build libmath from source to speed up" OFF)
2222
option(ENABLE_LIBXC "Enable using the LibXC package" OFF)
2323
option(ENABLE_FLOAT_FFTW "Enable using single-precision FFTW library." OFF)
24-
option(ENABLE_DEEPKS "Enable the DeePKS algorithm" OFF)
25-
option(ENABLE_MLKEDF "Enable the Machine-Learning-based KEDF for OFDFT" OFF)
24+
25+
# option(ENABLE_DEEPKS "Enable the DeePKS algorithm" OFF)
26+
# option(ENABLE_MLKEDF "Enable the Machine-Learning-based KEDF for OFDFT" OFF)
27+
28+
option(ENABLE_MLALGO "Enable the machine learning algorithms" OFF)
2629

2730
option(ENABLE_LCAO "Enable LCAO algorithm" ON)
2831
option(USE_ELPA "Enable ELPA for LCAO" ON)
@@ -115,7 +118,7 @@ endif()
115118
# Serial version of ABACUS will not use ELPA
116119
if(NOT ENABLE_MPI)
117120
set(USE_ELPA OFF)
118-
set(ENABLE_DEEPKS OFF)
121+
set(ENABLE_MLALGO OFF)
119122
endif()
120123

121124
# Different exe files of ABACUS
@@ -253,7 +256,7 @@ if(ENABLE_LCAO)
253256
add_compile_definitions(__NEW_GINT)
254257
endif()
255258
else()
256-
set(ENABLE_DEEPKS OFF)
259+
set(ENABLE_MLALGO OFF)
257260
set(ENABLE_LIBRI OFF)
258261
endif()
259262

@@ -480,8 +483,9 @@ if(ENABLE_FLOAT_FFTW)
480483
add_definitions(-D__ENABLE_FLOAT_FFTW)
481484
endif()
482485

483-
if(ENABLE_DEEPKS)
484-
target_link_libraries(${ABACUS_BIN_NAME} deepks)
486+
if(ENABLE_MLALGO)
487+
target_link_libraries(${ABACUS_BIN_NAME} deepks) # deepks
488+
target_link_libraries(${ABACUS_BIN_NAME} hamilt_mlkedf) # mlkedf
485489

486490
find_path(libnpy_SOURCE_DIR npy.hpp HINTS ${libnpy_INCLUDE_DIR})
487491
if(NOT libnpy_SOURCE_DIR)
@@ -496,32 +500,14 @@ if(ENABLE_DEEPKS)
496500
include_directories(${libnpy_INCLUDE_DIR})
497501
endif()
498502
include_directories(${libnpy_SOURCE_DIR}/include)
499-
add_compile_definitions(__DEEPKS)
500-
endif()
501-
502-
if(ENABLE_MLKEDF)
503-
target_link_libraries(${ABACUS_BIN_NAME} hamilt_mlkedf)
504-
505-
find_path(libnpy_SOURCE_DIR npy.hpp HINTS ${libnpy_INCLUDE_DIR})
506-
if(NOT libnpy_SOURCE_DIR)
507-
include(FetchContent)
508-
FetchContent_Declare(
509-
libnpy
510-
GIT_REPOSITORY https://github.com/llohse/libnpy.git
511-
GIT_SHALLOW TRUE
512-
GIT_PROGRESS TRUE)
513-
FetchContent_MakeAvailable(libnpy)
514-
else()
515-
include_directories(${libnpy_INCLUDE_DIR})
516-
endif()
517-
include_directories(${libnpy_SOURCE_DIR}/include)
518-
add_compile_definitions(__MLKEDF)
503+
504+
add_compile_definitions(__MLALGO)
519505
endif()
520506

521507
# Torch uses outdated components to detect CUDA arch, causing failure on
522508
# latest CUDA kits. Set CMake variable TORCH_CUDA_ARCH_LIST in the form of
523509
# "major.minor" if required.
524-
if(ENABLE_DEEPKS OR ENABLE_MLKEDF OR DEFINED Torch_DIR)
510+
if(ENABLE_MLALGO OR DEFINED Torch_DIR)
525511
find_package(Torch REQUIRED)
526512
if(NOT Torch_VERSION VERSION_LESS "2.1.0")
527513
set_if_higher(CMAKE_CXX_STANDARD 17)

Dockerfile.gnu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ ADD https://api.github.com/repos/deepmodeling/abacus-develop/git/refs/heads/deve
3434

3535
RUN git clone https://github.com/deepmodeling/abacus-develop.git --depth 1 && \
3636
cd abacus-develop && \
37-
cmake -B build -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_RAPIDJSON=ON && \
37+
cmake -B build -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_RAPIDJSON=ON && \
3838
cmake --build build -j`nproc` && \
3939
cmake --install build && \
4040
rm -rf build

Dockerfile.intel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ ADD https://api.github.com/repos/deepmodeling/abacus-develop/git/refs/heads/deve
5858
RUN source /opt/intel/oneapi/setvars.sh && \
5959
git clone https://github.com/deepmodeling/abacus-develop.git --depth 1 && \
6060
cd abacus-develop && \
61-
cmake -B build -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_RAPIDJSON=ON && \
61+
cmake -B build -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_RAPIDJSON=ON && \
6262
cmake --build build -j`nproc` && \
6363
cmake --install build && \
6464
rm -rf build && \

conda/meta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ build:
2626
skip: true # [not linux]
2727
script: |
2828
export CMAKE_PREFIX_PATH=`python -c "import torch;print(torch.__path__[0])"`/share/cmake:$CMAKE_PREFIX_PATH
29-
cmake -B conda_build ${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=Release -DENABLE_DEEPKS=1 -DENABLE_LIBXC=1
29+
cmake -B conda_build ${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=Release -DENABLE_MLALGO=1 -DENABLE_LIBXC=1
3030
cmake --build conda_build -j`nproc`
3131
cmake --install conda_build
3232
# ${CMAKE_ARGS} applys restrictions for CMake to search libs under conda building env.

docs/advanced/elec_properties/density_matrix.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Extracting Density Matrices
22

3-
ABACUS can output the density matrix by adding the keyword "[out_dm](https://abacus-rtd.readthedocs.io/en/latest/advanced/input_files/input-main.html#out-dm)" in INPUT file:
3+
ABACUS can output the density matrix by adding the keyword "[out_dmk](https://abacus-rtd.readthedocs.io/en/latest/advanced/input_files/input-main.html#out-dm)" in INPUT file:
44
```
5-
out_dm 1
5+
out_dmk 1
66
```
77
After finishing the calculation, the information of the density matrix is stroed in files `OUT.${suffix}/SPIN${spin}_DM`, which looks like:
88
```
@@ -37,4 +37,4 @@ The following line is dimension of the density matrix, and the rest lines are th
3737

3838
The examples can be found in [examples/density_matrix](https://github.com/deepmodeling/abacus-develop/tree/develop/examples/density_matrix)
3939

40-
- Note: now this function is valid only for LCAO gamma only calcualtion.
40+
- Note: now this function is valid only for LCAO gamma only calcualtion.

0 commit comments

Comments
 (0)