From cbdeaffe0e1d7a7724eb7f3466a87003fc6867fd Mon Sep 17 00:00:00 2001 From: Taillefumier Mathieu <29380261+mtaillefumier@users.noreply.github.com> Date: Fri, 28 Feb 2025 03:36:16 -0500 Subject: [PATCH] Make GRPP an internal dependency Co-authored-by: Mathieu Taillefumier --- CMakeLists.txt | 12 +- INSTALL.md | 10 +- arch/Darwin-gnu-arm64.psmp | 5 - arch/Darwin-gnu-arm64.ssmp | 5 - arch/Eiger-mc-gnu.psmp | 5 - arch/Eiger-mc-intel.psmp | 5 - arch/Linux-amd-x86_64.ssmp | 5 - arch/Linux-gnu-aarch64-static.ssmp | 5 - arch/Linux-gnu-aarch64.psmp | 5 - arch/Linux-gnu-x86_64-static.ssmp | 5 - arch/Linux-gnu-x86_64.psmp | 5 - arch/Linux-intel-x86_64.psmp | 5 - cmake/cmake_cp2k.sh | 6 +- src/CMakeLists.txt | 51 +- src/PACKAGE | 1 + src/grpp/LICENSE | 21 + src/grpp/PACKAGE | 5 + src/grpp/README.md | 140 + src/grpp/grpp.c | 113 + src/grpp/grpp_angular_integrals.c | 141 + src/grpp/grpp_angular_integrals.h | 24 + src/grpp/grpp_binomial.c | 82 + src/grpp/grpp_binomial.h | 22 + src/grpp/grpp_diff_gaussian.c | 83 + src/grpp/grpp_diff_gaussian.h | 29 + src/grpp/grpp_factorial.c | 116 + src/grpp/grpp_factorial.h | 24 + src/grpp/grpp_fortran.c | 859 + src/grpp/grpp_full_grpp_integrals.c | 106 + src/grpp/grpp_init_finalize.c | 49 + src/grpp/grpp_integrals_gradient.c | 917 + src/grpp/grpp_kinetic.c | 161 + src/grpp/grpp_kinetic.h | 24 + src/grpp/grpp_lmatrix.c | 146 + src/grpp/grpp_lmatrix.h | 26 + src/grpp/grpp_momentum.c | 178 + src/grpp/grpp_momentum.h | 26 + src/grpp/grpp_norm_gaussian.c | 33 + src/grpp/grpp_norm_gaussian.h | 20 + src/grpp/grpp_nuclear_attraction.c | 310 + src/grpp/grpp_nuclear_models.c | 337 + src/grpp/grpp_nuclear_models.h | 50 + src/grpp/grpp_outercore_integrals.c | 549 + src/grpp/grpp_overlap.c | 145 + src/grpp/grpp_overlap.h | 23 + src/grpp/grpp_overlap_gradient.c | 225 + src/grpp/grpp_overlap_gradient.h | 25 + src/grpp/grpp_parameters.c | 115 + src/grpp/grpp_parameters.h | 42 + src/grpp/grpp_potential.c | 122 + src/grpp/grpp_radial_type1_integral.c | 330 + src/grpp/grpp_radial_type1_integral.h | 36 + src/grpp/grpp_radial_type2_integral.c | 470 + src/grpp/grpp_radial_type2_integral.h | 36 + src/grpp/grpp_screening.c | 335 + src/grpp/grpp_screening.h | 32 + src/grpp/grpp_shell.c | 117 + src/grpp/grpp_specfunc.h | 35 + src/grpp/grpp_specfunc_bessel_table.c | 28853 ++++++++++++++++ src/grpp/grpp_specfunc_boys.c | 4577 +++ src/grpp/grpp_specfunc_dawson.c | 570 + src/grpp/grpp_specfunc_fermi_sk.c | 10169 ++++++ src/grpp/grpp_specfunc_gfun.c | 94 + .../grpp_specfunc_scaled_mod_sph_bessel.c | 1095 + src/grpp/grpp_spherical_harmonics.c | 304 + src/grpp/grpp_spherical_harmonics.h | 39 + src/grpp/grpp_spin_orbit_integrals.c | 302 + src/grpp/grpp_type1_integrals.c | 261 + src/grpp/grpp_type1_mcmurchie_davidson.c | 577 + src/grpp/grpp_type1_mcmurchie_davidson.h | 24 + src/grpp/grpp_type2_integrals.c | 245 + src/grpp/grpp_utils.c | 89 + src/grpp/grpp_utils.h | 39 + src/grpp/libgrpp.F | 327 + src/grpp/libgrpp.h | 197 + src/grpp/libgrpp_types.h | 62 + tools/precommit/check_file_properties.py | 22 +- .../toolchain/scripts/stage3/grpp-cmake.patch | 164 - .../scripts/stage3/install_libgrpp.sh | 82 +- 79 files changed, 54582 insertions(+), 319 deletions(-) create mode 100644 src/grpp/LICENSE create mode 100644 src/grpp/PACKAGE create mode 100644 src/grpp/README.md create mode 100644 src/grpp/grpp.c create mode 100644 src/grpp/grpp_angular_integrals.c create mode 100644 src/grpp/grpp_angular_integrals.h create mode 100644 src/grpp/grpp_binomial.c create mode 100644 src/grpp/grpp_binomial.h create mode 100644 src/grpp/grpp_diff_gaussian.c create mode 100644 src/grpp/grpp_diff_gaussian.h create mode 100644 src/grpp/grpp_factorial.c create mode 100644 src/grpp/grpp_factorial.h create mode 100644 src/grpp/grpp_fortran.c create mode 100644 src/grpp/grpp_full_grpp_integrals.c create mode 100644 src/grpp/grpp_init_finalize.c create mode 100644 src/grpp/grpp_integrals_gradient.c create mode 100644 src/grpp/grpp_kinetic.c create mode 100644 src/grpp/grpp_kinetic.h create mode 100644 src/grpp/grpp_lmatrix.c create mode 100644 src/grpp/grpp_lmatrix.h create mode 100644 src/grpp/grpp_momentum.c create mode 100644 src/grpp/grpp_momentum.h create mode 100644 src/grpp/grpp_norm_gaussian.c create mode 100644 src/grpp/grpp_norm_gaussian.h create mode 100644 src/grpp/grpp_nuclear_attraction.c create mode 100644 src/grpp/grpp_nuclear_models.c create mode 100644 src/grpp/grpp_nuclear_models.h create mode 100644 src/grpp/grpp_outercore_integrals.c create mode 100644 src/grpp/grpp_overlap.c create mode 100644 src/grpp/grpp_overlap.h create mode 100644 src/grpp/grpp_overlap_gradient.c create mode 100644 src/grpp/grpp_overlap_gradient.h create mode 100644 src/grpp/grpp_parameters.c create mode 100644 src/grpp/grpp_parameters.h create mode 100644 src/grpp/grpp_potential.c create mode 100644 src/grpp/grpp_radial_type1_integral.c create mode 100644 src/grpp/grpp_radial_type1_integral.h create mode 100644 src/grpp/grpp_radial_type2_integral.c create mode 100644 src/grpp/grpp_radial_type2_integral.h create mode 100644 src/grpp/grpp_screening.c create mode 100644 src/grpp/grpp_screening.h create mode 100644 src/grpp/grpp_shell.c create mode 100644 src/grpp/grpp_specfunc.h create mode 100644 src/grpp/grpp_specfunc_bessel_table.c create mode 100644 src/grpp/grpp_specfunc_boys.c create mode 100644 src/grpp/grpp_specfunc_dawson.c create mode 100644 src/grpp/grpp_specfunc_fermi_sk.c create mode 100644 src/grpp/grpp_specfunc_gfun.c create mode 100644 src/grpp/grpp_specfunc_scaled_mod_sph_bessel.c create mode 100644 src/grpp/grpp_spherical_harmonics.c create mode 100644 src/grpp/grpp_spherical_harmonics.h create mode 100644 src/grpp/grpp_spin_orbit_integrals.c create mode 100644 src/grpp/grpp_type1_integrals.c create mode 100644 src/grpp/grpp_type1_mcmurchie_davidson.c create mode 100644 src/grpp/grpp_type1_mcmurchie_davidson.h create mode 100644 src/grpp/grpp_type2_integrals.c create mode 100644 src/grpp/grpp_utils.c create mode 100644 src/grpp/grpp_utils.h create mode 100644 src/grpp/libgrpp.F create mode 100644 src/grpp/libgrpp.h create mode 100644 src/grpp/libgrpp_types.h delete mode 100644 tools/toolchain/scripts/stage3/grpp-cmake.patch diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ef79335df..a03f7d4009 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,8 +50,8 @@ endif() # set language and standard set(CMAKE_CXX_STANDARD 14) set(CMAKE_C_STANDARD 11) -set(CMAKE_HIP_STANDARD 11) -set(CMAKE_CUDA_STANDARD 11) +set(CMAKE_HIP_STANDARD 14) +set(CMAKE_CUDA_STANDARD 14) # remove NDEBUG flag string(REPLACE "-DNDEBUG" "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) string(REPLACE "-DNDEBUG" "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) @@ -724,10 +724,6 @@ if(CP2K_USE_TREXIO) find_package(TrexIO REQUIRED) endif() -if(CP2K_USE_GRPP) - # we need grpp when TREXIO is on - find_package(grpp REQUIRED CONFIG) -endif() # OPTION HANDLING # make sure that the default build type is RELEASE @@ -931,9 +927,7 @@ if(CP2K_USE_DLAF) endif() if(CP2K_USE_GRPP) - message(" - grpp\n" # let below line separate - " - include directories: ${GRPP_INCLUDE_DIRS}\n" - " - libraries: ${GRPP_LINK_LIBRARIES}\n\n") + message(" - grpp\n") endif() if(CP2K_USE_TREXIO) diff --git a/INSTALL.md b/INSTALL.md index 68bb55c55b..484cd4ed6b 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -454,12 +454,10 @@ Calls to `offload_dgemm` also accept pointers on GPU or a combination of them. ### 2y. libgrpp (optional, enables calculations with ECPs) -- libgrpp is a library for the calculation of integrals with GTOs and ECPs -- The libgrpp library can be found under -- During the installation, the directories `$(LIBGRPP_DIR)/lib` and `$(LIBGRPP_DIR)/include` are - created. -- Add `-D__LIBGRPP` to DFLAGS, `-I$(LIBGRPP_DIR)/include` to FCFLAGS and - `-L$(LIBGRPP_DIR)/lib -llibgrpp` to LIBS +libgrpp is a library for the calculation of integrals with GTOs and ECPs. The source code of the +library is part of cp2k. + +- Add `-D__LIBGRPP` to DFLAGS.