From db060cbc843db64c162aa04431520bd6a9550967 Mon Sep 17 00:00:00 2001 From: SY Wang Date: Sun, 31 May 2026 20:37:26 +0800 Subject: [PATCH] Toolchain: lammps-pace (ACE) 2023.11.25.fix2 -> 2025.12.4.p1 (#5320) --- CMakeLists.txt | 6 +-- cmake/modules/FindACE.cmake | 40 --------------- src/CMakeLists.txt | 2 +- tools/toolchain/scripts/stage6/install_ace.sh | 49 +++++++------------ 4 files changed, 21 insertions(+), 76 deletions(-) delete mode 100644 cmake/modules/FindACE.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index e49b71e137..a3565cfefb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -875,10 +875,10 @@ if(CP2K_USE_PEXSI) endif() if(CP2K_USE_ACE) - find_package(ACE REQUIRED) - get_target_property(CP2K_ACE_INCLUDE_DIRS cp2k::ACE + find_package(pace REQUIRED CONFIG) + get_target_property(CP2K_ACE_INCLUDE_DIRS pace::pace INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(CP2K_ACE_LINK_LIBRARIES cp2k::ACE + get_target_property(CP2K_ACE_LINK_LIBRARIES pace::pace INTERFACE_LINK_LIBRARIES) endif() diff --git a/cmake/modules/FindACE.cmake b/cmake/modules/FindACE.cmake deleted file mode 100644 index 82aeaf4870..0000000000 --- a/cmake/modules/FindACE.cmake +++ /dev/null @@ -1,40 +0,0 @@ -#!-------------------------------------------------------------------------------------------------! -#! CP2K: A general program to perform molecular dynamics simulations ! -#! Copyright 2000-2026 CP2K developers group ! -#! ! -#! SPDX-License-Identifier: GPL-2.0-or-later ! -#!-------------------------------------------------------------------------------------------------! - -include(FindPackageHandleStandardArgs) -include(cp2k_utils) - -cp2k_set_default_paths(ACE "ace") - -cp2k_include_dirs( - ACE "ace/ace_couplings.h;ace-evaluator/ace_types.h;yaml-cpp/yaml.h") -cp2k_find_libraries(ACE "pace") -cp2k_find_libraries(ACE_YAML "yaml-cpp-pace") -if(NOT CP2K_ACE_YAML_FOUND) - cp2k_find_libraries(ACE_YAML "yaml-cpp") -endif() -cp2k_find_libraries(ACE_CNPY "cnpy") - -find_package_handle_standard_args( - ACE DEFAULT_MSG CP2K_ACE_LINK_LIBRARIES CP2K_ACE_CNPY_LINK_LIBRARIES - CP2K_ACE_INCLUDE_DIRS CP2K_ACE_YAML_LINK_LIBRARIES) - -if(CP2K_ACE_FOUND) - if(NOT TARGET cp2k::ACE) - add_library(cp2k::ACE INTERFACE IMPORTED) - endif() - set_target_properties( - cp2k::ACE - PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${CP2K_ACE_INCLUDE_DIRS}" - INTERFACE_LINK_LIBRARIES - "${CP2K_ACE_LINK_LIBRARIES};${CP2K_ACE_YAML_LINK_LIBRARIES};${CP2K_ACE_CNPY_LINK_LIBRARIES}" - ) -endif() - -mark_as_advanced(CP2K_ACE_FOUND CP2K_ACE_INCLUDE_DIRS CP2K_ACE_LINK_LIBRARIES - CP2K_ACE_YAML_LINK_LIBRARIES CP2K_ACE_CNPY_LINK_LIBRARIES) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 31461815bd..20dd6890ab 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1750,7 +1750,7 @@ target_link_libraries( $<$:DeePMD::deepmd DeePMD::deepmd_c> $<$:PEXSI::PEXSI> - $<$:cp2k::ACE> + $<$:pace::pace> $<$:cp2k::tblite> $<$:sirius::sirius> $<$:cp2k::VORI::vori> diff --git a/tools/toolchain/scripts/stage6/install_ace.sh b/tools/toolchain/scripts/stage6/install_ace.sh index 021b468287..ddf6cd8db1 100755 --- a/tools/toolchain/scripts/stage6/install_ace.sh +++ b/tools/toolchain/scripts/stage6/install_ace.sh @@ -6,10 +6,10 @@ [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -ace_ver="2023.11.25.fix2" +ace_ver="2025.12.4.p1" ace_dir="lammps-user-pace-v.${ace_ver}" ace_pkg="ace-${ace_ver}.tar.gz" -ace_sha256="e0885351a8a730f5576dace2374fa470523a4526383c6a64af571e1344a40686" +ace_sha256="21e9d7ad2094eef0f19958d154866fc725fc6ccfa82ec3681ef2b006545ced96" # shellcheck source=/dev/null source "${SCRIPT_DIR}"/common_vars.sh @@ -51,30 +51,14 @@ case "$with_ace" in fi rm -rf build - mkdir -p build - + mkdir -p build && cd build # fix: without DCMAKE_DISABLE_FIND_PACKAGE_yaml-cpp the cp line below will crash in all those cases where yaml is system installed. - cmake -S . -B build \ - -DCMAKE_CXX_STANDARD=17 \ + cmake .. \ + -DCMAKE_INSTALL_PREFIX=${pkg_install_dir} \ + -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_DISABLE_FIND_PACKAGE_yaml-cpp=TRUE \ - > build/cmake.log 2>&1 || tail_excerpt build/cmake.log - - # build (uses the generator CMake picked: make/ninja) - cmake --build build -j ${NPROCS:-16} \ - > build/make.log 2>&1 || tail_excerpt build/make.log - - cd build - # no make install. - [ -d ${pkg_install_dir} ] && rm -rf ${pkg_install_dir} - mkdir -p ${pkg_install_dir}/lib - cp -a libpace.a libcnpy.a build-yaml-cpp/libyaml-cpp-pace.a \ - ${pkg_install_dir}/lib - cp -a ../yaml-cpp/include ${pkg_install_dir} - mkdir ${pkg_install_dir}/include/ace - cp -a ../ML-PACE/ace/*.h ${pkg_install_dir}/include/ace - mkdir ${pkg_install_dir}/include/ace-evaluator - cp -a ../ML-PACE/ace-evaluator/*.h ${pkg_install_dir}/include/ace-evaluator - # + > cmake.log 2>&1 || tail_excerpt cmake.log + make install -j $(get_nprocs) > make.log 2>&1 || tail_excerpt make.log write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage6/$(basename ${SCRIPT_NAME})" fi ACE_CFLAGS="-I'${pkg_install_dir}/include'" @@ -82,14 +66,15 @@ case "$with_ace" in ACE_DFLAGS="-D__ACE ${ACE_CFLAGS}" ACE_LDFLAGS="-L'${pkg_install_dir}/lib'" ;; - # not supported - # __SYSTEM__) - # echo "==================== Finding Ace from system paths ====================" - # check_lib -lace "ACE" - # add_lib_from_paths ACE_LDFLAGS "libpace*" $LIB_PATHS - # add_include_from_paths ACE_CFLAGS "ace" $INCLUDE_PATHS - # ACE_DFLAGS="-D__ACE" - # ;; + __SYSTEM__) + echo "==================== Finding Ace from system paths ====================" + # check_lib -lace "ACE" + # add_lib_from_paths ACE_LDFLAGS "libpace*" $LIB_PATHS + # add_include_from_paths ACE_CFLAGS "ace" $INCLUDE_PATHS + # ACE_DFLAGS="-D__ACE" + report_error "The system detection of Ace is not supported; please use \"--with-ace=install\"." + exit 1 + ;; __DONTUSE__) ;; *) echo "==================== Linking ACE to user paths ===================="