diff --git a/arch/CRAY-XC40-gnu.psmp b/arch/CRAY-XC40-gnu.psmp index 0e5ed5ed92..72b7326a61 100644 --- a/arch/CRAY-XC40-gnu.psmp +++ b/arch/CRAY-XC40-gnu.psmp @@ -2,16 +2,18 @@ # # CP2K arch file for Cray-XC40 (Piz Daint, CSCS, multi-core partition) # -# Tested with: GNU 11.2.0, Cray-MPICH 7.7.18, Cray-libsci 20.09.1, Cray-FFTW 3.3.8.10, -# COSMA 2.6.6, ELPA 2023.05.001, LIBINT 2.6.0, LIBPEXSI 1.2.0, -# LIBXC 6.2.2, LIBVORI 220621, LIBXSMM 1.17, PLUMED 2.8.2, +# Tested with: GNU 11.2.0, Cray-MPICH 7.7.18, +# Cray-libsci 20.09.1, Cray-FFTW 3.3.8.10, +# COSMA 2.6.6, ELPA 2023.05.001, HDF5 1.12.0, +# LIBINT 2.6.0, LIBPEXSI 1.2.0, LIBXC 6.2.2, +# LIBVORI 220621, LIBXSMM 1.17, PLUMED 2.8.2, # SIRIUS 7.4.3, SPGLIB 1.16.2 # # Usage: Source this arch file and then run make as instructed. # A full toolchain installation is performed as default. # Replace or adapt the "module add" commands below if needed. # -# Last update: 09.08.2023 +# Last update: 28.08.2023 # # \ if [ "${0}" = "${BASH_SOURCE}" ]; then \ @@ -66,6 +68,7 @@ DO_CHECKS := no USE_COSMA := 2.6.6 USE_ELPA := 2023.05.001 +USE_HDF5 := 1.12.0 USE_LIBINT := 2.6.0 USE_LIBPEXSI := 1.2.0 USE_LIBVORI := 220621 @@ -79,7 +82,6 @@ USE_SPGLIB := 1.16.2 LIBVDWXC_VER := 0.4.0 SPFFT_VER := 1.0.6 SPLA_VER := 1.5.5 -HDF5_VER := 1.12.0 # Only needed for LIBPEXSI SCOTCH_VER := 6.0.0 SUPERLU_VER := 6.1.0 @@ -207,8 +209,6 @@ endif ifneq ($(USE_SIRIUS),) USE_SIRIUS := $(strip $(USE_SIRIUS)) - HDF5_VER := $(strip $(HDF5_VER)) - HDF5_LIB := $(INSTALL_PATH)/hdf5-$(HDF5_VER)/lib LIBVDWXC_VER := $(strip $(LIBVDWXC_VER)) LIBVDWXC_INC := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/include LIBVDWXC_LIB := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/lib @@ -224,7 +224,6 @@ ifneq ($(USE_SIRIUS),) CFLAGS += -I$(SPFFT_INC) CFLAGS += -I$(SPLA_INC) CFLAGS += -I$(SIRIUS_INC) - DFLAGS += -D__HDF5 DFLAGS += -D__LIBVDWXC DFLAGS += -D__SPFFT DFLAGS += -D__SPLA @@ -233,7 +232,6 @@ ifneq ($(USE_SIRIUS),) LIBS += $(SPLA_LIB)/libspla.a LIBS += $(SPFFT_LIB)/libspfft.a LIBS += $(LIBVDWXC_LIB)/libvdwxc.a - LIBS += $(HDF5_LIB)/libhdf5.a endif ifneq ($(USE_COSMA),) @@ -256,6 +254,15 @@ ifneq ($(USE_GSL),) LIBS += $(GSL_LIB)/libgsl.a endif +ifneq ($(USE_HDF5),) + USE_HDF5 := $(strip $(USE_HDF5)) + HDF5_INC := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/include + HDF5_LIB := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/lib + CFLAGS += -I$(HDF5_INC) + DFLAGS += -D__HDF5 + LIBS += $(HDF5_LIB)/libhdf5.a +endif + CFLAGS += $(DFLAGS) FCFLAGS := $(CFLAGS) diff --git a/arch/CRAY-XC50-gnu.psmp b/arch/CRAY-XC50-gnu.psmp index bbb604c47f..f1eefc1564 100644 --- a/arch/CRAY-XC50-gnu.psmp +++ b/arch/CRAY-XC50-gnu.psmp @@ -2,16 +2,17 @@ # # CP2K arch file for Cray-XC50 (Piz Daint, CSCS, GPU partition) # -# Tested with: GNU 9.3.0, Cray-MPICH 7.7.18, Cray-libsci 20.09.1, Cray-FFTW 3.3.8.10, -# COSMA 2.6.6, ELPA 2023.05.001, LIBINT 2.6.0, LIBPEXSI 1.2.0, -# LIBXC 6.2.2, LIBVORI 220621, LIBXSMM 1.17, PLUMED 2.8.2, -# SIRIUS 7.4.3, SPGLIB 1.16.2 +# Tested with: GNU 9.3.0, Cray-MPICH 7.7.18, Cray-libsci 20.09.1, +# Cray-FFTW 3.3.8.10, COSMA 2.6.6, ELPA 2023.05.001, +# HDF5 1.12.0, LIBINT 2.6.0, LIBPEXSI 1.2.0, +# LIBXC 6.2.2, LIBVORI 220621, LIBXSMM 1.17, +# PLUMED 2.8.2, SIRIUS 7.4.3, SPGLIB 1.16.2 # # Usage: Source this arch file and then run make as instructed. # A full toolchain installation is performed as default. # Replace or adapt the "module add" commands below if needed. # -# Last update: 21.06.2023 +# Last update: 28.08.2023 # # \ if [ "${0}" = "${BASH_SOURCE}" ]; then \ @@ -69,6 +70,7 @@ DO_CHECKS := no USE_ACC := yes USE_COSMA := 2.6.6 USE_ELPA := 2023.05.001 +USE_HDF5 := 1.12.0 USE_LIBINT := 2.6.0 USE_LIBPEXSI := 1.2.0 USE_LIBVORI := 220621 @@ -82,7 +84,6 @@ USE_SPGLIB := 1.16.2 LIBVDWXC_VER := 0.4.0 SPFFT_VER := 1.0.6 SPLA_VER := 1.5.5 -HDF5_VER := 1.12.0 # Only needed for LIBPEXSI SCOTCH_VER := 6.0.0 SUPERLU_VER := 6.1.0 @@ -225,8 +226,6 @@ endif ifneq ($(USE_SIRIUS),) USE_SIRIUS := $(strip $(USE_SIRIUS)) - HDF5_VER := $(strip $(HDF5_VER)) - HDF5_LIB := $(INSTALL_PATH)/hdf5-$(HDF5_VER)/lib LIBVDWXC_VER := $(strip $(LIBVDWXC_VER)) LIBVDWXC_INC := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/include LIBVDWXC_LIB := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/lib @@ -250,7 +249,6 @@ ifneq ($(USE_SIRIUS),) CFLAGS += -I$(SPFFT_INC) CFLAGS += -I$(SPLA_INC) CFLAGS += -I$(SIRIUS_INC) - DFLAGS += -D__HDF5 DFLAGS += -D__LIBVDWXC DFLAGS += -D__SPFFT DFLAGS += -D__SPLA @@ -259,7 +257,6 @@ ifneq ($(USE_SIRIUS),) LIBS += $(SPLA_LIB)/libspla.a LIBS += $(SPFFT_LIB)/libspfft.a LIBS += $(LIBVDWXC_LIB)/libvdwxc.a - LIBS += $(HDF5_LIB)/libhdf5.a endif ifneq ($(USE_COSMA),) @@ -286,6 +283,15 @@ ifneq ($(USE_GSL),) LIBS += $(GSL_LIB)/libgsl.a endif +ifneq ($(USE_HDF5),) + USE_HDF5 := $(strip $(USE_HDF5)) + HDF5_INC := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/include + HDF5_LIB := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/lib + CFLAGS += -I$(HDF5_INC) + DFLAGS += -D__HDF5 + LIBS += $(HDF5_LIB)/libhdf5.a +endif + CFLAGS += $(DFLAGS) CXXFLAGS := $(CFLAGS) -std=c++11 diff --git a/arch/Darwin-gnu-arm64.psmp b/arch/Darwin-gnu-arm64.psmp index a3c5ff68ee..275269f610 100644 --- a/arch/Darwin-gnu-arm64.psmp +++ b/arch/Darwin-gnu-arm64.psmp @@ -4,14 +4,17 @@ # (https://www.cp2k.org/howto:compile_on_macos) # # Tested with: GNU 12.3.0, MPICH 4.0.3, -# ScaLAPACK 2.2.1, OpenBLAS 0.3.23, FFTW 3.3.10, LIBINT 2.6.0, -# LIBXC 6.2.2, SPGLIB 1.16.2, PLUMED 2.8.2, -# LIBVORI 220621, GSL 2.7, COSMA 2.6.6, SIRIUS 7.4.3 -# on an Apple M1 (macOS Ventura 13.1) +# ScaLAPACK 2.2.1, OpenBLAS 0.3.23, +# FFTW 3.3.10, HDF5 1.12.0, +# LIBINT 2.6.0, LIBXC 6.2.2, +# SPGLIB 1.16.2, PLUMED 2.8.2, +# LIBVORI 220621, GSL 2.7, +# COSMA 2.6.6, SIRIUS 7.4.3 +# on an Apple M1 (macOS Ventura 13.5.1) # # Usage: Source this arch file and then run make as instructed. # -# Last update: 21.06.2023 +# Last update: 28.08.2023 # # \ if [[ "${0}" == "${BASH_SOURCE}" ]]; then \ @@ -59,6 +62,7 @@ SHARED := no TARGET_CPU := native USE_COSMA := 2.6.6 USE_FFTW := 3.3.10 +USE_HDF5 := 1.12.0 USE_LIBINT := 2.6.0 USE_LIBVORI := 220621 USE_LIBXC := 6.2.2 @@ -189,13 +193,10 @@ endif ifneq ($(USE_SIRIUS),) USE_GSL := 2.7 - HDF5_VER := 1.12.0 LIBVDWXC_VER := 0.4.0 SPFFT_VER := 1.0.6 SPLA_VER := 1.5.5 USE_SIRIUS := $(strip $(USE_SIRIUS)) - HDF5_VER := $(strip $(HDF5_VER)) - HDF5_LIB := $(INSTALL_PATH)/hdf5-$(HDF5_VER)/lib LIBVDWXC_VER := $(strip $(LIBVDWXC_VER)) LIBVDWXC_INC := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/include LIBVDWXC_LIB := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/lib @@ -211,7 +212,6 @@ ifneq ($(USE_SIRIUS),) CFLAGS += -I$(SPFFT_INC) CFLAGS += -I$(SPLA_INC) CFLAGS += -I$(SIRIUS_INC) - DFLAGS += -D__HDF5 DFLAGS += -D__LIBVDWXC DFLAGS += -D__SPFFT DFLAGS += -D__SPLA @@ -221,13 +221,11 @@ ifneq ($(USE_SIRIUS),) LIBS += -Wl,-rpath,$(SPLA_LIB) -L$(SPLA_LIB) -lspla LIBS += -Wl,-rpath,$(SPFFT_LIB) -L$(SPFFT_LIB) -lspfft LIBS += -Wl,-rpath,$(LIBVDWXC_LIB) -L$(LIBVDWXC_LIB) -lvdwxc - LIBS += -Wl,-rpath,$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 else LIBS += $(SIRIUS_LIB)/libsirius.a LIBS += $(SPLA_LIB)/libspla.a LIBS += $(SPFFT_LIB)/libspfft.a LIBS += $(LIBVDWXC_LIB)/libvdwxc.a - LIBS += $(HDF5_LIB)/libhdf5.a endif endif @@ -295,6 +293,19 @@ ifneq ($(USE_GSL),) endif endif +ifneq ($(USE_HDF5),) + USE_HDF5 := $(strip $(USE_HDF5)) + HDF5_INC := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/include + HDF5_LIB := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/lib + CFLAGS += -I$(HDF5_INC) + DFLAGS += -D__HDF5 + ifeq ($(SHARED), yes) + LIBS += -Wl,-rpath,$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 + else + LIBS += $(HDF5_LIB)/libhdf5.a + endif +endif + CFLAGS += $(DFLAGS) FCFLAGS := $(CFLAGS) $(FCFLAGS_DEBUG) $(WFLAGS) diff --git a/arch/JURECA-cpu.psmp b/arch/JURECA-cpu.psmp index 34a812ff6b..29c74ccd58 100644 --- a/arch/JURECA-cpu.psmp +++ b/arch/JURECA-cpu.psmp @@ -2,16 +2,20 @@ # # CP2K arch file for JURECA at FZ Juelich (2 AMD EPYC 7742 CPUs per node) # -# Tested with: GNU 11.3.0, ParaStationMPI, ScaLAPACK 2.2.1, OpenBLAS 0.3.23, -# FFTW 3.3.10, COSMA 2.6.6, ELPA 2023.05.001, LIBINT 2.6.0, -# LIBPEXSI 1.2.0, LIBXC 6.2.2, LIBVORI 220621, LIBXSMM 1.17, -# PLUMED 2.8.2, SIRIUS 7.4.3, SPGLIB 1.16.2 +# Tested with: GNU 11.3.0, ParaStationMPI, +# ScaLAPACK 2.2.1, OpenBLAS 0.3.23, +# FFTW 3.3.10, COSMA 2.6.6, +# ELPA 2023.05.001, HDF5 1.12.0, +# LIBINT 2.6.0, LIBPEXSI 1.2.0, +# LIBXC 6.2.2, LIBVORI 220621, +# LIBXSMM 1.17, PLUMED 2.8.2, +# SIRIUS 7.4.3, SPGLIB 1.16.2 # # Usage: Source this arch file and then run make as instructed. # A full toolchain installation is performed as default. # Replace or adapt the "module add" commands below if needed. # -# Last update: 09.08.2023 +# Last update: 28.08.2023 # # \ if [ "${0}" = "${BASH_SOURCE}" ]; then \ @@ -53,6 +57,7 @@ USE_ACC := no USE_COSMA := 2.6.6 USE_ELPA := 2023.05.001 USE_FFTW := 3.3.10 +USE_HDF5 := 1.12.0 USE_LIBINT := 2.6.0 USE_LIBPEXSI := 1.2.0 USE_LIBTORCH := 1.12.1 @@ -69,7 +74,6 @@ USE_SPGLIB := 1.16.2 LIBVDWXC_VER := 0.4.0 SPFFT_VER := 1.0.6 SPLA_VER := 1.5.5 -HDF5_VER := 1.12.0 # Only needed for LIBPEXSI SCOTCH_VER := 6.0.0 SUPERLU_VER := 6.1.0 @@ -277,8 +281,6 @@ endif ifneq ($(USE_SIRIUS),) USE_SIRIUS := $(strip $(USE_SIRIUS)) - HDF5_VER := $(strip $(HDF5_VER)) - HDF5_LIB := $(INSTALL_PATH)/hdf5-$(HDF5_VER)/lib LIBVDWXC_VER := $(strip $(LIBVDWXC_VER)) LIBVDWXC_INC := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/include LIBVDWXC_LIB := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/lib @@ -302,7 +304,6 @@ ifneq ($(USE_SIRIUS),) CFLAGS += -I$(SPFFT_INC) CFLAGS += -I$(SPLA_INC) CFLAGS += -I$(SIRIUS_INC) - DFLAGS += -D__HDF5 DFLAGS += -D__LIBVDWXC DFLAGS += -D__SPFFT DFLAGS += -D__SPLA @@ -312,13 +313,11 @@ ifneq ($(USE_SIRIUS),) LIBS += -Wl,-rpath=$(SPLA_LIB) -L$(SPLA_LIB) -lspla LIBS += -Wl,-rpath=$(SPFFT_LIB) -L$(SPFFT_LIB) -lspfft LIBS += -Wl,-rpath=$(LIBVDWXC_LIB) -L$(LIBVDWXC_LIB) -lvdwxc - LIBS += -Wl,-rpath=$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 else LIBS += $(SIRIUS_LIB)/libsirius.a LIBS += $(SPLA_LIB)/libspla.a LIBS += $(SPFFT_LIB)/libspfft.a LIBS += $(LIBVDWXC_LIB)/libvdwxc.a - LIBS += $(HDF5_LIB)/libhdf5.a endif endif @@ -383,6 +382,19 @@ ifneq ($(USE_GSL),) endif endif +ifneq ($(USE_HDF5),) + USE_HDF5 := $(strip $(USE_HDF5)) + HDF5_INC := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/include + HDF5_LIB := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/lib + CFLAGS += -I$(HDF5_INC) + DFLAGS += -D__HDF5 + ifeq ($(SHARED), yes) + LIBS += -Wl,-rpath,$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 + else + LIBS += $(HDF5_LIB)/libhdf5.a + endif +endif + ifneq ($(USE_OPENBLAS),) USE_OPENBLAS := $(strip $(USE_OPENBLAS)) OPENBLAS_INC := $(INSTALL_PATH)/openblas-$(USE_OPENBLAS)/include diff --git a/arch/JURECA-gpu.psmp b/arch/JURECA-gpu.psmp index 849d01bdd1..ddae2729f9 100644 --- a/arch/JURECA-gpu.psmp +++ b/arch/JURECA-gpu.psmp @@ -2,16 +2,20 @@ # # CP2K arch file for JURECA at FZ Juelich (2 AMD EPYC 7742 CPUs and 4 A100 GPUs per node) # -# Tested with: GNU 11.3.0, ParaStationMPI, ScaLAPACK 2.2.1, OpenBLAS 0.3.23, -# FFTW 3.3.10, COSMA 2.6.6, ELPA 2023.05.001, LIBINT 2.6.0, -# LIBPEXSI 1.2.0, LIBXC 6.2.2, LIBVORI 220621, LIBXSMM 1.17, -# PLUMED 2.8.2, SIRIUS 7.4.3, SPGLIB 1.16.2 +# Tested with: GNU 11.3.0, ParaStationMPI, +# ScaLAPACK 2.2.1, OpenBLAS 0.3.23, +# FFTW 3.3.10, COSMA 2.6.6, +# ELPA 2023.05.001, HDF5 1.12.0, +# LIBINT 2.6.0, LIBPEXSI 1.2.0, +# LIBXC 6.2.2, LIBVORI 220621, +# LIBXSMM 1.17, PLUMED 2.8.2, +# SIRIUS 7.4.3, SPGLIB 1.16.2 # # Usage: Source this arch file and then run make as instructed. # A full toolchain installation is performed as default. # Replace or adapt the "module add" commands below if needed. # -# Last update: 09.08.2023 +# Last update: 28.08.2023 # # \ if [ "${0}" = "${BASH_SOURCE}" ]; then \ @@ -54,6 +58,7 @@ USE_ACC := yes USE_COSMA := 2.6.6 USE_ELPA := 2023.05.001 USE_FFTW := 3.3.10 +USE_HDF5 := 1.12.0 USE_LIBINT := 2.6.0 USE_LIBPEXSI := 1.2.0 USE_LIBTORCH := 1.12.1 @@ -70,7 +75,6 @@ USE_SPGLIB := 1.16.2 LIBVDWXC_VER := 0.4.0 SPFFT_VER := 1.0.6 SPLA_VER := 1.5.5 -HDF5_VER := 1.12.0 # Only needed for LIBPEXSI SCOTCH_VER := 6.0.0 SUPERLU_VER := 6.1.0 @@ -278,8 +282,6 @@ endif ifneq ($(USE_SIRIUS),) USE_SIRIUS := $(strip $(USE_SIRIUS)) - HDF5_VER := $(strip $(HDF5_VER)) - HDF5_LIB := $(INSTALL_PATH)/hdf5-$(HDF5_VER)/lib LIBVDWXC_VER := $(strip $(LIBVDWXC_VER)) LIBVDWXC_INC := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/include LIBVDWXC_LIB := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/lib @@ -303,7 +305,6 @@ ifneq ($(USE_SIRIUS),) CFLAGS += -I$(SPFFT_INC) CFLAGS += -I$(SPLA_INC) CFLAGS += -I$(SIRIUS_INC) - DFLAGS += -D__HDF5 DFLAGS += -D__LIBVDWXC DFLAGS += -D__SPFFT DFLAGS += -D__SPLA @@ -313,13 +314,11 @@ ifneq ($(USE_SIRIUS),) LIBS += -Wl,-rpath=$(SPLA_LIB) -L$(SPLA_LIB) -lspla LIBS += -Wl,-rpath=$(SPFFT_LIB) -L$(SPFFT_LIB) -lspfft LIBS += -Wl,-rpath=$(LIBVDWXC_LIB) -L$(LIBVDWXC_LIB) -lvdwxc - LIBS += -Wl,-rpath=$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 else LIBS += $(SIRIUS_LIB)/libsirius.a LIBS += $(SPLA_LIB)/libspla.a LIBS += $(SPFFT_LIB)/libspfft.a LIBS += $(LIBVDWXC_LIB)/libvdwxc.a - LIBS += $(HDF5_LIB)/libhdf5.a endif endif @@ -384,6 +383,19 @@ ifneq ($(USE_GSL),) endif endif +ifneq ($(USE_HDF5),) + USE_HDF5 := $(strip $(USE_HDF5)) + HDF5_INC := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/include + HDF5_LIB := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/lib + CFLAGS += -I$(HDF5_INC) + DFLAGS += -D__HDF5 + ifeq ($(SHARED), yes) + LIBS += -Wl,-rpath,$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 + else + LIBS += $(HDF5_LIB)/libhdf5.a + endif +endif + ifneq ($(USE_OPENBLAS),) USE_OPENBLAS := $(strip $(USE_OPENBLAS)) OPENBLAS_INC := $(INSTALL_PATH)/openblas-$(USE_OPENBLAS)/include diff --git a/arch/Linux-gnu-aarch64.psmp b/arch/Linux-gnu-aarch64.psmp index 668121ed0a..69d43b5719 100644 --- a/arch/Linux-gnu-aarch64.psmp +++ b/arch/Linux-gnu-aarch64.psmp @@ -2,15 +2,18 @@ # # CP2K (GNU aarch64) arch file for Linux clusters # -# Tested with: GNU 12.3.0, MPICH 4.0.3, -# ScaLAPACK 2.2.1, OpenBLAS 0.3.23, FFTW 3.3.10, LIBINT 2.6.0, -# LIBXC 6.2.2, ELPA 2023.05.001, PLUMED 2.8.2, SPGLIB 1.16.2, -# LIBVORI 220621, GSL 2.7, COSMA 2.6.6, SIRIUS 7.4.3 +# Tested with: GNU 12.3.0, MPICH 4.0.3, +# ScaLAPACK 2.2.1, OpenBLAS 0.3.23, +# FFTW 3.3.10, HDF5 1.12.0, +# LIBINT 2.6.0, LIBXC 6.2.2, +# ELPA 2023.05.001, PLUMED 2.8.2, +# SPGLIB 1.16.2, LIBVORI 220621, +# GSL 2.7, COSMA 2.6.6, SIRIUS 7.4.3 # # Usage: Source this arch file and then run make as instructed. # A full toolchain installation is performed as default. # -# Last update: 09.08.2023 +# Last update: 28.08.2023 # # \ if [[ "${0}" == "${BASH_SOURCE}" ]]; then \ @@ -50,6 +53,7 @@ TARGET_CPU := native USE_COSMA := 2.6.6 USE_ELPA := 2023.05.001 USE_FFTW := 3.3.10 +USE_HDF5 := 1.12.0 USE_LIBINT := 2.6.0 USE_LIBPEXSI := 1.2.0 USE_LIBVORI := 220621 @@ -65,7 +69,6 @@ USE_SPGLIB := 1.16.2 LIBVDWXC_VER := 0.4.0 SPFFT_VER := 1.0.6 SPLA_VER := 1.5.5 -HDF5_VER := 1.12.0 # Only needed for LIBPEXSI SCOTCH_VER := 6.0.0 SUPERLU_VER := 6.1.0 @@ -254,8 +257,6 @@ endif ifneq ($(USE_SIRIUS),) USE_SIRIUS := $(strip $(USE_SIRIUS)) - HDF5_VER := $(strip $(HDF5_VER)) - HDF5_LIB := $(INSTALL_PATH)/hdf5-$(HDF5_VER)/lib LIBVDWXC_VER := $(strip $(LIBVDWXC_VER)) LIBVDWXC_INC := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/include LIBVDWXC_LIB := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/lib @@ -271,7 +272,6 @@ ifneq ($(USE_SIRIUS),) CFLAGS += -I$(SPFFT_INC) CFLAGS += -I$(SPLA_INC) CFLAGS += -I$(SIRIUS_INC) - DFLAGS += -D__HDF5 DFLAGS += -D__LIBVDWXC DFLAGS += -D__SPFFT DFLAGS += -D__SPLA @@ -281,13 +281,11 @@ ifneq ($(USE_SIRIUS),) LIBS += -Wl,-rpath=$(SPLA_LIB) -L$(SPLA_LIB) -lspla LIBS += -Wl,-rpath=$(SPFFT_LIB) -L$(SPFFT_LIB) -lspfft LIBS += -Wl,-rpath=$(LIBVDWXC_LIB) -L$(LIBVDWXC_LIB) -lvdwxc - LIBS += -Wl,-rpath=$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 else LIBS += $(SIRIUS_LIB)/libsirius.a LIBS += $(SPLA_LIB)/libspla.a LIBS += $(SPFFT_LIB)/libspfft.a LIBS += $(LIBVDWXC_LIB)/libvdwxc.a - LIBS += $(HDF5_LIB)/libhdf5.a endif endif @@ -343,6 +341,19 @@ ifneq ($(USE_GSL),) endif endif +ifneq ($(USE_HDF5),) + USE_HDF5 := $(strip $(USE_HDF5)) + HDF5_INC := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/include + HDF5_LIB := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/lib + CFLAGS += -I$(HDF5_INC) + DFLAGS += -D__HDF5 + ifeq ($(SHARED), yes) + LIBS += -Wl,-rpath,$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 + else + LIBS += $(HDF5_LIB)/libhdf5.a + endif +endif + ifneq ($(USE_OPENBLAS),) USE_OPENBLAS := $(strip $(USE_OPENBLAS)) OPENBLAS_INC := $(INSTALL_PATH)/openblas-$(USE_OPENBLAS)/include diff --git a/arch/Linux-gnu-x86_64.psmp b/arch/Linux-gnu-x86_64.psmp index ae00b6f2df..873aeeede7 100644 --- a/arch/Linux-gnu-x86_64.psmp +++ b/arch/Linux-gnu-x86_64.psmp @@ -3,9 +3,11 @@ # CP2K (GNU x86_64) arch file for Linux clusters # # Tested with: GNU 13.1.0, MPICH 4.0.3 and OpenMPI 4.1.5, -# ScaLAPACK 2.2.1, OpenBLAS 0.3.23, FFTW 3.3.10, LIBINT 2.6.0, -# LIBXC 6.2.2, ELPA 2023.05.001, PLUMED 2.8.2, SPGLIB 1.16.2, -# LIBVORI 220621, GSL 2.7, COSMA 2.6.6, SIRIUS 7.4.3, LIBTORCH 1.12.1 +# ScaLAPACK 2.2.1, OpenBLAS 0.3.23, +# FFTW 3.3.10, ELPA 2023.05.001, HDF5 1.12.0, +# LIBINT 2.6.0, LIBXC 6.2.2, PLUMED 2.8.2, +# SPGLIB 1.16.2, LIBVORI 220621, GSL 2.7, +# COSMA 2.6.6, SIRIUS 7.4.3, LIBTORCH 1.12.1 # on the Merlin cluster (PSI) # # Usage: Source this arch file and then run make as instructed. @@ -13,7 +15,7 @@ # Optionally, GNU compiler and MPI implementation can be specified as arguments. # Replace or adapt the "module add" commands below if needed. # -# Last update: 09.08.2023 +# Last update: 28.08.2023 # # \ if [[ "${0}" == "${BASH_SOURCE}" ]]; then \ @@ -65,6 +67,7 @@ TARGET_CPU := native USE_COSMA := 2.6.6 USE_ELPA := 2023.05.001 USE_FFTW := 3.3.10 +USE_HDF5 := 1.12.0 USE_LIBINT := 2.6.0 USE_LIBPEXSI := 1.2.0 USE_LIBTORCH := 1.12.1 @@ -81,7 +84,6 @@ USE_SPGLIB := 1.16.2 LIBVDWXC_VER := 0.4.0 SPFFT_VER := 1.0.6 SPLA_VER := 1.5.5 -HDF5_VER := 1.12.0 # Only needed for LIBPEXSI SCOTCH_VER := 6.0.0 SUPERLU_VER := 6.1.0 @@ -269,8 +271,6 @@ endif ifneq ($(USE_SIRIUS),) USE_SIRIUS := $(strip $(USE_SIRIUS)) - HDF5_VER := $(strip $(HDF5_VER)) - HDF5_LIB := $(INSTALL_PATH)/hdf5-$(HDF5_VER)/lib LIBVDWXC_VER := $(strip $(LIBVDWXC_VER)) LIBVDWXC_INC := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/include LIBVDWXC_LIB := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/lib @@ -286,7 +286,6 @@ ifneq ($(USE_SIRIUS),) CFLAGS += -I$(SPFFT_INC) CFLAGS += -I$(SPLA_INC) CFLAGS += -I$(SIRIUS_INC) - DFLAGS += -D__HDF5 DFLAGS += -D__LIBVDWXC DFLAGS += -D__SPFFT DFLAGS += -D__SPLA @@ -296,13 +295,11 @@ ifneq ($(USE_SIRIUS),) LIBS += -Wl,-rpath=$(SPLA_LIB) -L$(SPLA_LIB) -lspla LIBS += -Wl,-rpath=$(SPFFT_LIB) -L$(SPFFT_LIB) -lspfft LIBS += -Wl,-rpath=$(LIBVDWXC_LIB) -L$(LIBVDWXC_LIB) -lvdwxc - LIBS += -Wl,-rpath=$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 else LIBS += $(SIRIUS_LIB)/libsirius.a LIBS += $(SPLA_LIB)/libspla.a LIBS += $(SPFFT_LIB)/libspfft.a LIBS += $(LIBVDWXC_LIB)/libvdwxc.a - LIBS += $(HDF5_LIB)/libhdf5.a endif endif @@ -358,6 +355,19 @@ ifneq ($(USE_GSL),) endif endif +ifneq ($(USE_HDF5),) + USE_HDF5 := $(strip $(USE_HDF5)) + HDF5_INC := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/include + HDF5_LIB := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/lib + CFLAGS += -I$(HDF5_INC) + DFLAGS += -D__HDF5 + ifeq ($(SHARED), yes) + LIBS += -Wl,-rpath,$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 + else + LIBS += $(HDF5_LIB)/libhdf5.a + endif +endif + ifneq ($(USE_OPENBLAS),) USE_OPENBLAS := $(strip $(USE_OPENBLAS)) OPENBLAS_INC := $(INSTALL_PATH)/openblas-$(USE_OPENBLAS)/include diff --git a/arch/Linux-intel-x86_64.psmp b/arch/Linux-intel-x86_64.psmp index ed88cbfb9e..92658aab59 100644 --- a/arch/Linux-intel-x86_64.psmp +++ b/arch/Linux-intel-x86_64.psmp @@ -5,14 +5,14 @@ # Tested with: Intel 22.2 , Intel MPI, Intel MKL, # LIBINT 2.6.0, LIBXC 6.2.2, ELPA 2023.05.001, # PLUMED 2.8.2, SPGLIB 1.16.2, LIBVORI 220621, -# GSL 2.7, COSMA 2.6.6 +# GSL 2.7, COSMA 2.6.6, HDF5 1.12.0 # # Usage: Source this arch file and then run make as instructed. # A full toolchain installation is performed as default. # Optionally, the Intel compiler version can be specified as argument. # Replace or adapt the "module add" commands below if needed. # -# Last update: 09.08.2023 +# Last update: 28.08.2023 # # \ if [[ "${0}" == "${BASH_SOURCE}" ]]; then \ @@ -54,6 +54,7 @@ SHARED := no TARGET_CPU := native USE_COSMA := 2.6.6 USE_ELPA := 2023.05.001 +USE_HDF5 := 1.12.0 USE_LIBINT := 2.6.0 USE_LIBPEXSI := 1.2.0 #USE_LIBTORCH := 1.12.1 @@ -67,7 +68,6 @@ USE_SPGLIB := 1.16.2 LIBVDWXC_VER := 0.4.0 SPFFT_VER := 1.0.6 SPLA_VER := 1.5.5 -HDF5_VER := 1.12.0 # Only needed for LIBPEXSI SCOTCH_VER := 6.0.0 SUPERLU_VER := 6.1.0 @@ -227,8 +227,6 @@ endif ifneq ($(USE_SIRIUS),) USE_SIRIUS := $(strip $(USE_SIRIUS)) - HDF5_VER := $(strip $(HDF5_VER)) - HDF5_LIB := $(INSTALL_PATH)/hdf5-$(HDF5_VER)/lib LIBVDWXC_VER := $(strip $(LIBVDWXC_VER)) LIBVDWXC_INC := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/include LIBVDWXC_LIB := $(INSTALL_PATH)/libvdwxc-$(LIBVDWXC_VER)/lib @@ -244,7 +242,6 @@ ifneq ($(USE_SIRIUS),) CFLAGS += -I$(SPFFT_INC) CFLAGS += -I$(SPLA_INC) CFLAGS += -I$(SIRIUS_INC) - DFLAGS += -D__HDF5 DFLAGS += -D__LIBVDWXC DFLAGS += -D__SPFFT DFLAGS += -D__SPLA @@ -254,13 +251,11 @@ ifneq ($(USE_SIRIUS),) LIBS += -Wl,-rpath=$(SPLA_LIB) -L$(SPLA_LIB) -lspla LIBS += -Wl,-rpath=$(SPFFT_LIB) -L$(SPFFT_LIB) -lspfft LIBS += -Wl,-rpath=$(LIBVDWXC_LIB) -L$(LIBVDWXC_LIB) -lvdwxc - LIBS += -Wl,-rpath=$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 else LIBS += $(SIRIUS_LIB)/libsirius.a LIBS += $(SPLA_LIB)/libspla.a LIBS += $(SPFFT_LIB)/libspfft.a LIBS += $(LIBVDWXC_LIB)/libvdwxc.a - LIBS += $(HDF5_LIB)/libhdf5.a endif endif @@ -292,6 +287,19 @@ ifneq ($(USE_GSL),) endif endif +ifneq ($(USE_HDF5),) + USE_HDF5 := $(strip $(USE_HDF5)) + HDF5_INC := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/include + HDF5_LIB := $(INSTALL_PATH)/hdf5-$(USE_HDF5)/lib + CFLAGS += -I$(HDF5_INC) + DFLAGS += -D__HDF5 + ifeq ($(SHARED), yes) + LIBS += -Wl,-rpath,$(HDF5_LIB) -L$(HDF5_LIB) -lhdf5 + else + LIBS += $(HDF5_LIB)/libhdf5.a + endif +endif + ifeq ($(SHARED), yes) LIBS += -Wl,-rpath=$(MKL_LIB) -L$(MKL_LIB) -lmkl_scalapack_lp64 LIBS += -Wl,--start-group