Skip to content

Lbfgs0 #342

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 166 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
2a79ecb
update bfgs method
19hello Dec 2, 2024
0b52719
update bfgs method and modify the parameter force in relax_step to be…
19hello Dec 2, 2024
f79ab76
update bfgs method and modify the parameter force in relax_step to be…
19hello Dec 2, 2024
808feb5
Introduce the differences between the two BFGS methods
19hello Dec 10, 2024
ebdac58
Add & in relax_step input parameters
19hello Dec 11, 2024
f3b9541
Merge branch 'develop' into updatebfgstrad
19hello Dec 13, 2024
31d81b4
Merge branch 'develop' into updatebfgstrad
19hello Dec 13, 2024
44b974b
fix confilct
19hello Dec 13, 2024
9ca9366
Merge branch 'updatebfgstrad' of https://github.com/19hello/myrepo in…
19hello Dec 13, 2024
5e8bc21
Refactor:Move the relaxation part of the ucell function (#5767)
A-006 Dec 28, 2024
9bf2533
Refactor: Remove global dependence of some functions in DeePKS. (#5778)
ErjieWu Dec 28, 2024
201f752
Fix and reopen UT in HContainer output. (#5781)
ErjieWu Dec 31, 2024
3abf2fc
Fix: correct the typo and format error in doc (#5788)
kirk0830 Dec 31, 2024
6fadfb9
Refactor: decrease uninitialized member values and the risk of memory…
A-006 Dec 31, 2024
cd48c62
Feature: binary format of backup charge density (#5782)
YuLiu98 Jan 1, 2025
d7b76fc
Refactor: Remove some redundant variables and global dependence in De…
ErjieWu Jan 1, 2025
3a2eb06
Initial commit (#5790)
Critsium-xy Jan 1, 2025
7ae18a5
Feature: enable init_chg=file for metagga (#5792)
YuLiu98 Jan 2, 2025
c53f445
Refactor:Remove update_tau_pos in ucell (#5783)
A-006 Jan 2, 2025
f1b2061
Enable the support of singular number of electrions in DeepKS orbital…
Liu-RX Jan 3, 2025
cecf36a
delete test print (#5795)
A-006 Jan 3, 2025
7d14803
Fix: instable nonlocal pp in uspp (#5798)
YuLiu98 Jan 3, 2025
d061719
Restore deepks unit test in gamma-only case and make H_V_delta have f…
xuan112358 Jan 4, 2025
35fe565
Refactor: update logic of init_chg (#5801)
YuLiu98 Jan 4, 2025
b5a5068
Fix: optimize lr_spectrum (#5805)
maki49 Jan 4, 2025
028e91d
fix some warnings about esolver (#5807)
maki49 Jan 4, 2025
414446a
Refactor:remove cal_tau from ElecStateLCAO (#5802)
A-006 Jan 4, 2025
9ab9150
[Feature] Add some GPU kernels to blas_connector (#5799)
Critsium-xy Jan 4, 2025
4ddec65
Refactor:Remove Ucell::update_pos_taud (#5794)
A-006 Jan 5, 2025
8905ddf
Refactor: refactor the constructors of Psi class (#5761)
haozhihan Jan 5, 2025
e25db6e
Refactor: Remove global dependence of descriptor, orbital_precalc, v_…
ErjieWu Jan 5, 2025
9732d79
Fix the Segmentation fault caused by zero atom case under LCAO basis.…
sunliang98 Jan 6, 2025
1b49590
Refactor: modify decimal digit of wfc to 8 (#5820)
YuLiu98 Jan 6, 2025
706633f
add const in module_lr (#5817)
maki49 Jan 6, 2025
eb19348
feature: parallel solve subspace diagonalization in dav_subspace (#5549)
pxlxingliang Jan 6, 2025
4009f6a
Feature: Support machine-learning based kinetic energy density functi…
sunliang98 Jan 6, 2025
3d36512
Initial commit (#5825)
Critsium-xy Jan 6, 2025
cdf1c04
Tests: add checks for opening data files by hsolver tests (#5823)
Cstandardlib Jan 6, 2025
39aab7a
Fix: support negative value in parse_expression (#5826)
1041176461 Jan 7, 2025
8407ee9
Move force/stress precalc functions into new files and remove the glo…
ErjieWu Jan 7, 2025
8d2a79f
Refactor: external_stress in dp/lj (#5831)
YuLiu98 Jan 8, 2025
464c7a1
Refactor:remove MPI part funcs of ucell (#5810)
A-006 Jan 8, 2025
0401194
Refactor: Use psi_initializer instead of wavefunc (#5775)
Qianruipku Jan 9, 2025
a2ec5d1
Remove TensorMap after cg call (#5797)
Cstandardlib Jan 9, 2025
2ebc9bb
Fix: dmin is replaced by dmax (#5829)
haozhihan Jan 9, 2025
beeb256
Refactor:Remove the read_atom_species and add read_lattice_constant (…
A-006 Jan 9, 2025
f4c792c
[Feature] Complete all kernels' GPU implement in blas_connector.cpp (…
Critsium-xy Jan 9, 2025
77bad35
Refactor: make module_lr/AX a general AO-to-MO transformer (#5834)
maki49 Jan 9, 2025
48fbc90
Fix module_container test dependency on DCU (#5838)
Cstandardlib Jan 9, 2025
74b2954
fix: memory leak when precision=single (#5839)
Qianruipku Jan 9, 2025
24abddd
Refactor: Remove the global dependence of all remained functions in D…
ErjieWu Jan 9, 2025
c898e52
Fix: use gemm instead of einsum in BPCG (#5827)
Cstandardlib Jan 10, 2025
1c30f99
Refactor: Remove LCAO_Deepks from GlobalC. (#5844)
ErjieWu Jan 10, 2025
16714c6
Perf: optimize the stream strategy in module_gint (#5845)
dzzz2001 Jan 10, 2025
4484536
Refactor: remove GlobalC::Pkpoint (#5846)
Qianruipku Jan 10, 2025
806de4a
Fix a bug and a magic number in module_exx_symmetry (#5848)
maki49 Jan 11, 2025
aced178
Fix: wrong band output when kpar > 1 (#5847)
Qianruipku Jan 13, 2025
e87414c
Feature: Add planewave parallization support for BPCG method (#5849)
Cstandardlib Jan 13, 2025
c42da9c
Fix: modify orb info manually (#5853)
YuLiu98 Jan 13, 2025
df96394
Refactor: generalize the transition density matrix in module_lr (#5852)
maki49 Jan 13, 2025
b809ce6
Update pdm before outputting DeePKS labels (#5857)
xuan112358 Jan 13, 2025
0a0e19a
[Feature] Add vector_mul_vector, vector_div_vector and vector_add_vec…
Critsium-xy Jan 15, 2025
76d023b
Add memory functions using abacusDevice_t (#5861)
Critsium-xy Jan 15, 2025
7ee1e7a
Fix the precision loss in `Tensor` output stream operator `<<` (#5866)
AsTonyshment Jan 17, 2025
ce7acd0
Fix:modify cheaktau type and add unittest (#5864)
A-006 Jan 17, 2025
60b40bf
[Refactor] Remove all ctx parameters in memory operators (#5862)
Critsium-xy Jan 18, 2025
e927eab
Fix: Output a warning when the lattice vector is left-handed. (#5855)
sunliang98 Jan 18, 2025
51b4c88
Refactor: refactor `npol`, constructors and `int *ngk` of Psi class (…
haozhihan Jan 20, 2025
0098171
Feature: add para_gemm to do parallel matrix multiply (#5870)
Qianruipku Jan 20, 2025
3f8fe4f
RT-TDDFT GPU Acceleration: RT-TD now fully support GPU computation (#…
AsTonyshment Jan 22, 2025
602ebe5
Fixed a bug in RT-TDDFT where the efield was not applied starting fro…
AsTonyshment Jan 23, 2025
46797ad
Refactor: add XC_Functional::get_has_kedf() (#5879)
YuLiu98 Jan 24, 2025
a09497a
Fix: parse_expression for scientific notation (#5882)
1041176461 Jan 30, 2025
74284f9
Feature: Make BPCG support band parallelism (#5873)
Qianruipku Feb 1, 2025
3c8ac0a
Fix: Solve mpi bug for DeePKS. (#5886)
ErjieWu Feb 10, 2025
105fd19
Refactor: new gint module (#5869)
dzzz2001 Feb 10, 2025
0f89113
modify openmp strategy (#5898)
dzzz2001 Feb 13, 2025
6e94e9e
Fix document description for ocp and ocp_set (#5896)
AsTonyshment Feb 13, 2025
e404195
Refactor ucell read_stru part (#5887)
A-006 Feb 14, 2025
c13c3fc
Build(deps): Bump codecov/codecov-action from 4 to 5 (#5590)
dependabot[bot] Feb 14, 2025
093b2eb
add lbfgs method
19hello Feb 15, 2025
e2e3d75
add const to pw forces (#5900)
maki49 Feb 18, 2025
07f9ac4
Refactor: update assignment logic of ecutwfc and ecutrho (#5907)
YuLiu98 Feb 18, 2025
b4d13c7
Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS (#5905)
AsTonyshment Feb 18, 2025
e7b5c12
Fix: wrong value of nmaxgr (#5906)
Qianruipku Feb 19, 2025
339c6b3
Docs: update docs about init_wfc (#5912)
YuLiu98 Feb 22, 2025
3ce7c15
Fix: incorrect append mode for out_wfc_lcao (#5914)
YuLiu98 Feb 22, 2025
dbf3bd6
Fix: Document of RT-TDDFT, especially td_lcut (#5917)
AsTonyshment Feb 22, 2025
b774535
Fix: Add the correct RT-TDDFT electric field force acting on ions (#5…
AsTonyshment Feb 22, 2025
107024c
Solving linear equations to evolve the wave function in RT-TDDFT. (#5…
ESROAMER Feb 24, 2025
e6245a6
Update docs related to inputs, scf_thr and ase-abacus (#5922)
QuantumMisaka Feb 24, 2025
150e6e0
Fix the wrong symmetry analysis at nspin=2 (#5926)
maki49 Feb 24, 2025
bafe539
fix a bug about hcontainer in exx nscf (#5927)
maki49 Feb 25, 2025
249a7d1
Fix: useless output (#5928)
YuLiu98 Feb 25, 2025
b06a163
fix cmake bug (#5929)
dzzz2001 Feb 25, 2025
9448ba9
Performance: Add CUDA Aware MPI (#5930)
Qianruipku Feb 26, 2025
bcca5b3
Perf: optimize deepks functions cal_f_delta and cal_pdm (#5933)
dzzz2001 Feb 26, 2025
8fa625c
First stage of add DSP FFT (#5878)
A-006 Feb 26, 2025
2c47138
[Refactor] Remove all ctx in math_kernel_op (#5934)
Critsium-xy Feb 26, 2025
d2d919b
v3.9.0.1 (#5936)
YuLiu98 Feb 28, 2025
34db426
add openmp support to calculate_hr (#5937)
dzzz2001 Feb 28, 2025
1fa5e3a
Remove pre-commit bot (#5942)
Critsium-xy Mar 2, 2025
83f966a
Delete conv_esolver in esolver, and add 'conv_esolver' as a parameter…
mohanchen Mar 3, 2025
53d83b2
Refactor: before_scf of esolver_fp (#5943)
YuLiu98 Mar 3, 2025
70b7f58
Refactor: remove useless head files (#5945)
Qianruipku Mar 3, 2025
b3bc912
Refactor:Modify the output functions in elecstate. (#5954)
A-006 Mar 5, 2025
2825851
Feature: support the `default` as the value of `dft_functional` when …
kirk0830 Mar 5, 2025
7f9dc96
Perf: openmp for cal_force_stress (#5956)
dzzz2001 Mar 5, 2025
071e8c3
Update after_scf in ESolver (#5957)
mohanchen Mar 5, 2025
6b928c9
Fix RT-TDDFT current calculation crash using >20 MPI processes (#5959)
AsTonyshment Mar 5, 2025
0aba423
Refactor: Remove GlobalV in DeePKS and simplify some functions. (#5952)
ErjieWu Mar 5, 2025
76751ea
Update ESolver, delete pelec->charge, instead using chr defined in ES…
mohanchen Mar 7, 2025
0547609
inline function of complexarray (#5964)
dzzz2001 Mar 7, 2025
f1508aa
modify doc (#5965)
dzzz2001 Mar 7, 2025
3b59b29
Performance: Optimize para_gemm and para_linear_transform (#5967)
Qianruipku Mar 7, 2025
c8204a8
Feature: Add HR output label for DeePKS. (#5968)
ErjieWu Mar 7, 2025
e93d3a7
perf the compute of check_atom_stru and add openmp (#5962)
A-006 Mar 7, 2025
c7ec092
Fix segmentation fault in integrate test 312_NO_GO_wfc_get_wf (#5970)
AsTonyshment Mar 7, 2025
0b77de9
Fix a LaTeX rendering issue related to RT-TDDFT parameters in online …
AsTonyshment Mar 7, 2025
e2ada07
add lbfgs method
19hello Mar 7, 2025
4f72eb8
Refactor: in ESolver_KS_PW, calculate deband in iter_finish, not in h…
Flying-dragon-boxing Mar 7, 2025
2505d4f
Some small updates for the format (#5972)
mohanchen Mar 7, 2025
648501d
Fix #5969: First copy then output in the right order in ks_pw (#5974)
Cstandardlib Mar 9, 2025
f1bfe91
Fix: results not stable when using CUDA AWare MPI (#5976)
Qianruipku Mar 9, 2025
5d97dd8
Refactor: decrease memory cost of get_s (#5979)
YuLiu98 Mar 9, 2025
37620aa
Update timer, only print out those timers that consume more than 1% o…
mohanchen Mar 9, 2025
3950276
Update some formats in LCAO_operator and ESolver (#5987)
mohanchen Mar 10, 2025
5ed2b2a
Refactor:Modify Weights and Ebands Functions in the elecstate Module …
A-006 Mar 10, 2025
33d0b4f
Feature: Hybrid functionals for planewave basis (#5940)
Flying-dragon-boxing Mar 10, 2025
c6b8458
add lbfgs
19hello Mar 11, 2025
f3c6cfc
Refactor: move psi init to before_all_runners (#5992)
YuLiu98 Mar 11, 2025
f93b3a9
Fix: One segmentation fault related to EXX PW (#5993)
Flying-dragon-boxing Mar 11, 2025
992f39e
test: correct INPUT of examples/spin_polarized/ATOM (#5998)
pxlxingliang Mar 11, 2025
279f99e
Merge branch 'develop' of https://github.com/deepmodeling/abacus-deve…
19hello Mar 12, 2025
caf7bcd
lbfgs0
19hello Mar 12, 2025
f4fefe4
addlbfgs
19hello Mar 12, 2025
586a02b
Doc: polish Quick Start part of online doc (#6006)
WHUweiqingzhou Mar 14, 2025
0d9f762
v3.9.0.2 (#6007)
AsTonyshment Mar 14, 2025
c93cd1a
[Refactor] Remove my_math.hpp (#6002)
Critsium-xy Mar 14, 2025
a295d38
Toolchain 202501 (#5980)
QuantumMisaka Mar 14, 2025
4decdac
Tests: Add GPU tests for out_wfc_pw & out_wfc_r (#5989)
Cstandardlib Mar 14, 2025
7838569
Tests: one integrate test for exx pw, only for verifying whether exx …
Flying-dragon-boxing Mar 14, 2025
a0197d8
add lbfgs method
19hello Mar 15, 2025
ca96d15
add lbfgs method
19hello Mar 15, 2025
9c01298
Test: add test and output for dry run (#6015)
YuLiu98 Mar 17, 2025
23ee3e1
test: fix Dockerfile.intel (#5999)
pxlxingliang Mar 17, 2025
3d0de86
fix the format (#6008)
WHUweiqingzhou Mar 17, 2025
0480f52
Fix : out_mat_dh will lead to different result with MPI-1core with MP…
xuan112358 Mar 18, 2025
98f7a55
[Fix] Fix DCU port compilation error (#6017)
Critsium-xy Mar 18, 2025
8973c25
Feature: Make KG-KSDFT support GPU (#6013)
Qianruipku Mar 18, 2025
0c9b227
Refactor: math_kernel_op (#6020)
Qianruipku Mar 19, 2025
06df0ee
Add genelpa warning if matrix is not positive definite (#6022)
Cstandardlib Mar 19, 2025
c8b7066
Refactor the code and add comments
19hello Mar 19, 2025
bc05444
Fix: calculate magnetic moments with onsite_radius>0 (#6024)
dyzheng Mar 19, 2025
fa3b783
Fix: Enhance the warning message when the XC name cannot be recognize…
sunliang98 Mar 19, 2025
b452a90
Modify comments
19hello Mar 20, 2025
65171f9
Update latest Intel oneAPI default compiler for cxx (#6035)
Cstandardlib Mar 22, 2025
76af832
Add two LCAO base group GPU version compilation options in toolchain …
tang070205 Mar 22, 2025
28a3540
Fix: Angular momentum quantum number check in reading SOC pseudopot f…
AsTonyshment Mar 22, 2025
7e4d663
exclude toolchain/install/ in `.gitignore` after toolchain run (#6033)
kluophysics Mar 22, 2025
53bc754
remove auto
19hello Mar 22, 2025
75605b6
remove auto
19hello Mar 22, 2025
280fef6
Merge branch 'develop' of https://github.com/deepmodeling/abacus-deve…
19hello Mar 22, 2025
8e25419
remove auto
19hello Mar 22, 2025
7ee2e48
remove auto
19hello Mar 22, 2025
87a201a
remove auto
19hello Mar 23, 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 @@ -17,10 +17,10 @@ jobs:
name: "Build with Intel toolchain"

- tag: gnu
build_args: "-DENABLE_LIBXC=1 -DENABLE_DEEPKS=1 -DENABLE_LIBRI=1 -DENABLE_PAW=1"
build_args: "-DENABLE_LIBXC=1 -DENABLE_DEEPKS=1 -DENABLE_MLKEDF=1 -DENABLE_LIBRI=1 -DENABLE_PAW=1"
name: "Build extra components with GNU toolchain"
- tag: intel
build_args: "-DENABLE_LIBXC=1 -DENABLE_DEEPKS=1 -DENABLE_LIBRI=1"
build_args: "-DENABLE_LIBXC=1 -DENABLE_DEEPKS=1 -DENABLE_MLKEDF=1 -DENABLE_LIBRI=1"
name: "Build extra components with Intel toolchain"

- tag: cuda
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
uses: actions/checkout@v4
- name: Install Requirements for Coverage Testing
run: |
apt update && apt install -y lcov gpg
apt update && apt install -y lcov gpg curl jq ca-certificates
- name: Building
run: |
cmake -B build -DENABLE_COVERAGE=ON -DBUILD_TESTING=ON -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_PAW=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON
Expand All @@ -27,8 +27,10 @@ jobs:
run: |
cmake --build build --target test ARGS="-V --timeout 21600" || exit 0
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
if: ${{ ! cancelled() }}
with:
gcov: true
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
skip_validation: true
verbose: true
19 changes: 11 additions & 8 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,18 @@ jobs:

- name: Configure
run: |
cmake -B build -DBUILD_TESTING=ON -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_PAW=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=1
cmake -B build -DBUILD_TESTING=ON -DENABLE_DEEPKS=ON -DENABLE_MLKEDF=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_PAW=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=1

- uses: pre-commit/[email protected]
with:
extra_args:
--from-ref ${{ github.event.pull_request.base.sha }}
--to-ref ${{ github.event.pull_request.head.sha }}
continue-on-error: true
- uses: pre-commit-ci/[email protected]
# Temporarily removed because no one maintains this now.
# And it will break the CI test workflow.

# - uses: pre-commit/[email protected]
# with:
# extra_args:
# --from-ref ${{ github.event.pull_request.base.sha }}
# --to-ref ${{ github.event.pull_request.head.sha }}
# continue-on-error: true
# - uses: pre-commit-ci/[email protected]

- name: Build
run: |
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ STRU_READIN_ADJUST.cif
build
dist
.idea
toolchain.tar.gz
time.json
*.pyc
__pycache__
abacus.json
*.npy
toolchain/install/
toolchain/abacus_env.sh
52 changes: 46 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ project(

option(ENABLE_LCAO "Enable LCAO calculation." ON)
option(ENABLE_DEEPKS "Enable DeePKS functionality" OFF)
option(ENABLE_MLKEDF "Enable Machine Learning based KEDF for OFDFT" OFF)
option(ENABLE_LIBXC "Enable LibXC functionality" OFF)
option(USE_CUDA "Enable support to CUDA for ABACUS." OFF)
option(ENABLE_FLOAT_FFTW "Enable support to single precision FFTW library." OFF)
Expand Down Expand Up @@ -41,6 +42,7 @@ option(ENABLE_PEXSI "Enable support for PEXSI." OFF)
option(ENABLE_CUSOLVERMP "Enable cusolvermp." OFF)
option(USE_DSP "Enable DSP usage." OFF)
option(USE_CUDA_ON_DCU "Enable CUDA on DCU" OFF)
option(USE_CUDA_MPI "Enable CUDA-aware MPI" OFF)

# enable json support
if(ENABLE_RAPIDJSON)
Expand Down Expand Up @@ -131,6 +133,10 @@ if (USE_CUDA_ON_DCU)
add_compile_definitions(__CUDA_ON_DCU)
endif()

if (USE_CUDA_MPI)
add_compile_definitions(__CUDA_MPI)
endif()

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

if(ENABLE_COVERAGE)
Expand Down Expand Up @@ -235,6 +241,9 @@ if(ENABLE_LCAO)
add_compile_definitions(__PEXSI)
set(CMAKE_CXX_STANDARD 14)
endif()
if(NEW_GINT)
add_compile_definitions(__NEW_GINT)
endif()
else()
set(ENABLE_DEEPKS OFF)
set(ENABLE_LIBRI OFF)
Expand All @@ -253,8 +262,12 @@ if(ENABLE_MPI)
endif()

if (USE_DSP)
target_link_libraries(${ABACUS_BIN_NAME} ${DIR_MTBLAS_LIBRARY})
add_compile_definitions(__DSP)
target_link_libraries(${ABACUS_BIN_NAME} ${OMPI_LIBRARY1})
include_directories(${MTBLAS_FFT_DIR}/libmtblas/include)
include_directories(${MT_HOST_DIR}/include)
target_link_libraries(${ABACUS_BIN_NAME} ${MT_HOST_DIR}/hthreads/lib/libhthread_device.a)
target_link_libraries(${ABACUS_BIN_NAME} ${MT_HOST_DIR}/hthreads/lib/libhthread_host.a)
endif()

find_package(Threads REQUIRED)
Expand Down Expand Up @@ -339,9 +352,19 @@ if(USE_CUDA)
endif()
if (ENABLE_CUSOLVERMP)
add_compile_definitions(__CUSOLVERMP)
find_library(CAL_LIBRARY
NAMES cal
PATHS ${CAL_CUSOLVERMP_PATH}
NO_DEFAULT_PATH
)
find_library(CUSOLVERMP_LIBRARY
NAMES cusolverMp
PATHS ${CAL_CUSOLVERMP_PATH}
NO_DEFAULT_PATH
)
target_link_libraries(${ABACUS_BIN_NAME}
cal
cusolverMp
${CAL_LIBRARY}
${CUSOLVERMP_LIBRARY}
)
endif()
endif()
Expand Down Expand Up @@ -425,10 +448,8 @@ else()
find_package(Lapack REQUIRED)
include_directories(${FFTW3_INCLUDE_DIRS})
list(APPEND math_libs FFTW3::FFTW3 LAPACK::LAPACK BLAS::BLAS)

find_package(ScaLAPACK REQUIRED)
list(APPEND math_libs ScaLAPACK::ScaLAPACK)

if(USE_OPENMP)
list(APPEND math_libs FFTW3::FFTW3_OMP)
endif()
Expand Down Expand Up @@ -469,10 +490,29 @@ if(ENABLE_DEEPKS)
add_compile_definitions(__DEEPKS)
endif()

if(ENABLE_MLKEDF)
target_link_libraries(${ABACUS_BIN_NAME} hamilt_mlkedf)

find_path(libnpy_SOURCE_DIR npy.hpp HINTS ${libnpy_INCLUDE_DIR})
if(NOT libnpy_SOURCE_DIR)
include(FetchContent)
FetchContent_Declare(
libnpy
GIT_REPOSITORY https://github.com/llohse/libnpy.git
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE)
FetchContent_MakeAvailable(libnpy)
else()
include_directories(${libnpy_INCLUDE_DIR})
endif()
include_directories(${libnpy_SOURCE_DIR}/include)
add_compile_definitions(__MLKEDF)
endif()

# Torch uses outdated components to detect CUDA arch, causing failure on
# latest CUDA kits. Set CMake variable TORCH_CUDA_ARCH_LIST in the form of
# "major.minor" if required.
if(ENABLE_DEEPKS OR DEFINED Torch_DIR)
if(ENABLE_DEEPKS OR ENABLE_MLKEDF OR DEFINED Torch_DIR)
find_package(Torch REQUIRED)
if(NOT Torch_VERSION VERSION_LESS "2.1.0")
set_if_higher(CMAKE_CXX_STANDARD 17)
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile.intel
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ RUN source /opt/intel/oneapi/setvars.sh && \
ln -s /usr/local/include/elpa_openmp-$ELPA_VER/elpa /usr/local/include/ && \
cd /tmp && rm -rf elpa-$ELPA_VER

RUN cd /tmp && git clone https://github.com/Tencent/rapidjson.git && cp -r rapidjson/include/rapidjson /usr/include/ \
&& rm -rf rapidjson

RUN wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.0.0%2Bcpu.zip \
--no-check-certificate --quiet -O libtorch.zip && \
unzip -q libtorch.zip -d /opt && rm libtorch.zip
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

# About ABACUS

ABACUS (Atomic-orbital Based Ab-initio Computation at UStc) is an open-source package based on density functional theory (DFT). The package utilizes both plane wave and numerical atomic basis sets with the usage of norm-conserving pseudopotentials to describe the interactions between nuclear ions and valence electrons. ABACUS supports LDA, GGA, meta-GGA, and hybrid functionals. Apart from single-point calculations, the package allows geometry optimizations and ab-initio molecular dynamics with various ensembles. The package also provides a variety of advanced functionalities for simulating materials, including the DFT+U, VdW corrections, and implicit solvation model, etc. In addition, ABACUS strives to provide a general infrastructure to facilitate the developments and applications of novel machine-learning-assisted DFT methods (DeePKS, DP-GEN, DeepH, DeePTB etc.) in molecular and material simulations.
ABACUS (**A**tomic-orbital **B**ased **A**b-initio **C**omputation at **US**tc) is an open-source package based on density functional theory (DFT). The package utilizes both plane wave and numerical atomic basis sets with the usage of pseudopotentials to describe the interactions between nuclear ions and valence electrons. ABACUS supports LDA, GGA, meta-GGA, and hybrid functionals. Apart from single-point calculations, the package allows geometry optimizations and ab-initio molecular dynamics with various ensembles. The package also provides a variety of advanced functionalities for simulating materials, including the DFT+U, VdW corrections, and implicit solvation model, etc. In addition, ABACUS strives to provide a general infrastructure to facilitate the developments and applications of novel machine-learning-assisted DFT methods (DeePKS, DP-GEN, DeepH, DeePTB etc.) in molecular and material simulations.

# Online Documentation
For detailed documentation, please refer to [our documentation website](https://abacus.deepmodeling.com/).
Expand Down
2 changes: 1 addition & 1 deletion cmake/FindMKL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ endif()
endif() # MKL::MKL

# For compatibility with legacy libpaw_interface CMakeLists.txt
if(TARGET MKL::MKL)
if(TARGET MKL::MKL AND NOT TARGET IntelMKL::MKL)
add_library(IntelMKL::MKL ALIAS MKL::MKL)
endif()

Expand Down
14 changes: 14 additions & 0 deletions docs/CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,18 @@ The following references are required to be cited when using ABACUS. Specificall

- **For general purpose:**

*For LCAO basis:*

Mohan Chen, G. C. Guo, and Lixin He. "Systematically improvable optimized atomic basis sets for ab initio calculations." Journal of Physics: Condensed Matter 22.44 (2010): 445501.

Pengfei Li, et al. "Large-scale ab initio simulations based on systematically improvable atomic basis." Computational Materials Science 112 (2016): 503-517.

Peize Lin, Xinguo Ren, Xiaohui Liu, Lixin He. Ab initio electronic structure calculations based on numerical atomic orbitals: Basic fomalisms and recent progresses. Wiley Interdisciplinary Reviews: Computational Molecular Science, 2024, 14(1): e1687.

*For LCAO and PW basis:*

Weiqing Zhou, Deye Zheng, Qianrui Liu, et al. ABACUS: An Electronic Structure Analysis Package for the AI Era. arXiv preprint arXiv:2501.08697, 2025.

- **If Stochastic DFT is used:**

Qianrui Liu, and Mohan Chen. "Plane-Wave-Based Stochastic-Deterministic Density Functional Theory for Extended Systems." <https://arxiv.org/abs/2204.05662>.
Expand All @@ -33,3 +41,9 @@ The following references are required to be cited when using ABACUS. Specificall
Peize Lin, Xinguo Ren, and Lixin He. "Efficient Hybrid Density Functional Calculations for Large Periodic Systems Using Numerical Atomic Orbitals." Journal of Chemical Theory and Computation 2021, 17(1), 222–239.

Peize Lin, Xinguo Ren, and Lixin He. "Accuracy of Localized Resolution of the Identity in Periodic Hybrid Functional Calculations with Numerical Atomic Orbitals." Journal of Physical Chemistry Letters 2020, 11, 3082-3088.

- **If ML-KEDF is used:**

Sun, Liang, and Mohan Chen. "Machine learning based nonlocal kinetic energy density functional for simple metals and alloys." Physical Review B 109.11 (2024): 115135.

Sun, Liang, and Mohan Chen. "Multi-channel machine learning based nonlocal kinetic energy density functional for semiconductors." Electronic Structure 6.4 (2024): 045006.
4 changes: 2 additions & 2 deletions docs/DevelopingTeam.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ The current development team consists the following research groups/affiliations
- University of Science and Technology of China (Dr. Lixin He)
- Peking University (Dr. Mohan Chen)
- Institute of Physics, Chinese Academy of Sciences (Dr. Xinguo Ren)
- Beijing AI for Science Institute
- Institute of Artificial Intelligence, Hefei Comprehensive National Science Center.
- Beijing AI for Science Institute (Dr. Daye Zheng)
- Institute of Artificial Intelligence, Hefei Comprehensive National Science Center (Dr. Lixin He).
Loading
Loading