From e644ccc3b3697aa65a66613e7df3c8d2b4af7599 Mon Sep 17 00:00:00 2001 From: SY Wang Date: Mon, 2 Feb 2026 19:30:54 +0800 Subject: [PATCH] Toolchain: Several tweaks and fixes --- CMakeLists.txt | 6 +++-- docs/technologies/libraries.md | 7 +++++ tools/docker/Dockerfile.build_hip_rocm_Mi100 | 1 + tools/docker/Dockerfile.build_hip_rocm_Mi50 | 1 + tools/docker/Dockerfile.test_aiida | 1 + tools/docker/Dockerfile.test_arm64-psmp | 1 + tools/docker/Dockerfile.test_asan-psmp | 1 + tools/docker/Dockerfile.test_ase | 1 + tools/docker/Dockerfile.test_conventions | 1 + tools/docker/Dockerfile.test_coverage | 1 + tools/docker/Dockerfile.test_cuda_A100 | 1 + tools/docker/Dockerfile.test_cuda_P100 | 1 + tools/docker/Dockerfile.test_cuda_V100 | 1 + tools/docker/Dockerfile.test_fedora-psmp | 1 + tools/docker/Dockerfile.test_gcc10 | 1 + tools/docker/Dockerfile.test_gcc11 | 1 + tools/docker/Dockerfile.test_gcc12 | 1 + tools/docker/Dockerfile.test_gcc13 | 1 + tools/docker/Dockerfile.test_gcc14 | 1 + tools/docker/Dockerfile.test_gcc8 | 1 + tools/docker/Dockerfile.test_gcc9 | 1 + tools/docker/Dockerfile.test_generic_psmp | 1 + tools/docker/Dockerfile.test_gromacs | 1 + tools/docker/Dockerfile.test_i-pi | 1 + tools/docker/Dockerfile.test_intel-ifort-psmp | 1 + tools/docker/Dockerfile.test_intel-ifort-ssmp | 1 + tools/docker/Dockerfile.test_intel-ifx-psmp | 1 + tools/docker/Dockerfile.test_intel-ifx-ssmp | 1 + tools/docker/Dockerfile.test_manual | 1 + tools/docker/Dockerfile.test_minimal | 1 + tools/docker/Dockerfile.test_openmpi-psmp | 1 + tools/docker/Dockerfile.test_pdbg | 1 + tools/docker/Dockerfile.test_performance | 1 + .../Dockerfile.test_performance_cuda_A100 | 1 + .../Dockerfile.test_performance_cuda_P100 | 1 + .../Dockerfile.test_performance_cuda_V100 | 1 + tools/docker/Dockerfile.test_phonopy | 1 + tools/docker/Dockerfile.test_psmp | 1 + tools/docker/Dockerfile.test_psmp_4ranks | 1 + tools/docker/Dockerfile.test_sdbg | 1 + tools/docker/Dockerfile.test_ssmp | 1 + tools/docker/generate_dockerfiles.py | 1 + tools/toolchain/install_cp2k_toolchain.sh | 2 ++ .../scripts/generate_cmake_options.sh | 27 +++++++++++-------- .../scripts/stage2/install_openblas.sh | 14 +++++----- .../toolchain/scripts/stage3/install_fftw.sh | 13 +++++---- .../scripts/stage4/install_scalapack.sh | 10 ++++--- 47 files changed, 91 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 929e96e4d7..13863fe479 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -184,6 +184,9 @@ cmake_dependent_option( cmake_dependent_option(CP2K_USE_SIRIUS_NLCG "Enable nlcg method in SIRIUS" OFF "CP2K_USE_SIRIUS" OFF) +cmake_dependent_option(CP2K_USE_SpFFT "Enable spare FFT in SIRIUS" OFF + "CP2K_USE_SIRIUS" OFF) + cmake_dependent_option( CP2K_DBCSR_USE_CPU_ONLY "Disable the DBCSR accelerated backend" OFF "NOT CP2K_USE_ACCEL MATCHES \"OPENCL|HIP|CUDA\"" OFF) @@ -216,8 +219,7 @@ cmake_dependent_option(CP2K_ENABLE_FFTW3_THREADS_SUPPORT "Enable FFTW3 threads support" OFF "CP2K_USE_FFTW3" OFF) cmake_dependent_option( - CP2K_USE_CUSOLVER_MP - "Use Nvidia GPU accelerated eigensolver. Only active when CUDA is ON" OFF + CP2K_USE_CUSOLVER_MP "Enable cuSOLVERMp. Only active when CUDA is ON" OFF "CP2K_USE_ACCEL MATCHES \"CUDA\"" OFF) cmake_dependent_option(CP2K_USE_NVHPC OFF "Enable Nvidia NVHPC kit" diff --git a/docs/technologies/libraries.md b/docs/technologies/libraries.md index d3706acfe8..d8e5050863 100644 --- a/docs/technologies/libraries.md +++ b/docs/technologies/libraries.md @@ -154,6 +154,13 @@ SIRIUS is a domain specific library for electronic structure calculations. for more information as well as the `bqbtool` to inspect BQB files. +## SpFFT (Sparse 3D FFT) + +- SpFFT is a 3D FFT library for sparse frequency domain data written in C++ with support for MPI, + OpenMP, CUDA and ROCm. +- Pass `-DCP2K_USE_SpFFT=ON` to CMake to enable support for SpFFT. +- See for more information. + ## Torch (Machine Learning Framework needed for NequIP) - The C++ API of PyTorch can be downloaded from https://pytorch.org/get-started/locally/. diff --git a/tools/docker/Dockerfile.build_hip_rocm_Mi100 b/tools/docker/Dockerfile.build_hip_rocm_Mi100 index 8584e0d326..861440dff2 100644 --- a/tools/docker/Dockerfile.build_hip_rocm_Mi100 +++ b/tools/docker/Dockerfile.build_hip_rocm_Mi100 @@ -38,6 +38,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.build_hip_rocm_Mi50 b/tools/docker/Dockerfile.build_hip_rocm_Mi50 index fe0898af9b..5ccddb1d58 100644 --- a/tools/docker/Dockerfile.build_hip_rocm_Mi50 +++ b/tools/docker/Dockerfile.build_hip_rocm_Mi50 @@ -38,6 +38,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_aiida b/tools/docker/Dockerfile.test_aiida index f1795cb9ed..745b752b74 100644 --- a/tools/docker/Dockerfile.test_aiida +++ b/tools/docker/Dockerfile.test_aiida @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_arm64-psmp b/tools/docker/Dockerfile.test_arm64-psmp index fabdeb278f..45e5549f46 100644 --- a/tools/docker/Dockerfile.test_arm64-psmp +++ b/tools/docker/Dockerfile.test_arm64-psmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_asan-psmp b/tools/docker/Dockerfile.test_asan-psmp index 45edd8aaf1..4c565dce42 100644 --- a/tools/docker/Dockerfile.test_asan-psmp +++ b/tools/docker/Dockerfile.test_asan-psmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_ase b/tools/docker/Dockerfile.test_ase index 2731d8b420..7f4f4a9e3f 100644 --- a/tools/docker/Dockerfile.test_ase +++ b/tools/docker/Dockerfile.test_ase @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_conventions b/tools/docker/Dockerfile.test_conventions index 8412d05f3f..35263df257 100644 --- a/tools/docker/Dockerfile.test_conventions +++ b/tools/docker/Dockerfile.test_conventions @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_coverage b/tools/docker/Dockerfile.test_coverage index edb0370630..adbb112520 100644 --- a/tools/docker/Dockerfile.test_coverage +++ b/tools/docker/Dockerfile.test_coverage @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_cuda_A100 b/tools/docker/Dockerfile.test_cuda_A100 index 00c32296d6..b32e65e1c5 100644 --- a/tools/docker/Dockerfile.test_cuda_A100 +++ b/tools/docker/Dockerfile.test_cuda_A100 @@ -31,6 +31,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_cuda_P100 b/tools/docker/Dockerfile.test_cuda_P100 index 1d33aa9367..eeb8b00eeb 100644 --- a/tools/docker/Dockerfile.test_cuda_P100 +++ b/tools/docker/Dockerfile.test_cuda_P100 @@ -31,6 +31,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_cuda_V100 b/tools/docker/Dockerfile.test_cuda_V100 index b5aa0f4e9a..2c324c4f53 100644 --- a/tools/docker/Dockerfile.test_cuda_V100 +++ b/tools/docker/Dockerfile.test_cuda_V100 @@ -31,6 +31,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_fedora-psmp b/tools/docker/Dockerfile.test_fedora-psmp index 2a326c7bbe..be77b2b82e 100644 --- a/tools/docker/Dockerfile.test_fedora-psmp +++ b/tools/docker/Dockerfile.test_fedora-psmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_gcc10 b/tools/docker/Dockerfile.test_gcc10 index 4e56821b4a..50638ec081 100644 --- a/tools/docker/Dockerfile.test_gcc10 +++ b/tools/docker/Dockerfile.test_gcc10 @@ -47,6 +47,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_gcc11 b/tools/docker/Dockerfile.test_gcc11 index 2909c43546..0dded36768 100644 --- a/tools/docker/Dockerfile.test_gcc11 +++ b/tools/docker/Dockerfile.test_gcc11 @@ -47,6 +47,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_gcc12 b/tools/docker/Dockerfile.test_gcc12 index 3f2f526431..3ee63de253 100644 --- a/tools/docker/Dockerfile.test_gcc12 +++ b/tools/docker/Dockerfile.test_gcc12 @@ -47,6 +47,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_gcc13 b/tools/docker/Dockerfile.test_gcc13 index 8452487766..13a4a37c6b 100644 --- a/tools/docker/Dockerfile.test_gcc13 +++ b/tools/docker/Dockerfile.test_gcc13 @@ -47,6 +47,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_gcc14 b/tools/docker/Dockerfile.test_gcc14 index 99ac329c39..a281ed08ad 100644 --- a/tools/docker/Dockerfile.test_gcc14 +++ b/tools/docker/Dockerfile.test_gcc14 @@ -51,6 +51,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_gcc8 b/tools/docker/Dockerfile.test_gcc8 index c3ebd4cf64..07b62adff3 100644 --- a/tools/docker/Dockerfile.test_gcc8 +++ b/tools/docker/Dockerfile.test_gcc8 @@ -47,6 +47,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_gcc9 b/tools/docker/Dockerfile.test_gcc9 index 5a463f7f93..d2ccd989ee 100644 --- a/tools/docker/Dockerfile.test_gcc9 +++ b/tools/docker/Dockerfile.test_gcc9 @@ -47,6 +47,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_generic_psmp b/tools/docker/Dockerfile.test_generic_psmp index e19206698e..e2290e07f5 100644 --- a/tools/docker/Dockerfile.test_generic_psmp +++ b/tools/docker/Dockerfile.test_generic_psmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_gromacs b/tools/docker/Dockerfile.test_gromacs index b28b2abd0d..3138e66b0d 100644 --- a/tools/docker/Dockerfile.test_gromacs +++ b/tools/docker/Dockerfile.test_gromacs @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_i-pi b/tools/docker/Dockerfile.test_i-pi index 77f1f73eeb..779f91f212 100644 --- a/tools/docker/Dockerfile.test_i-pi +++ b/tools/docker/Dockerfile.test_i-pi @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_intel-ifort-psmp b/tools/docker/Dockerfile.test_intel-ifort-psmp index 8ecd6efe44..9316d7ef00 100644 --- a/tools/docker/Dockerfile.test_intel-ifort-psmp +++ b/tools/docker/Dockerfile.test_intel-ifort-psmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_intel-ifort-ssmp b/tools/docker/Dockerfile.test_intel-ifort-ssmp index 285b961a76..a0aa2390a8 100644 --- a/tools/docker/Dockerfile.test_intel-ifort-ssmp +++ b/tools/docker/Dockerfile.test_intel-ifort-ssmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_intel-ifx-psmp b/tools/docker/Dockerfile.test_intel-ifx-psmp index 095b1e330d..25a5fbcd8d 100644 --- a/tools/docker/Dockerfile.test_intel-ifx-psmp +++ b/tools/docker/Dockerfile.test_intel-ifx-psmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_intel-ifx-ssmp b/tools/docker/Dockerfile.test_intel-ifx-ssmp index ce08fd5570..dea52c363e 100644 --- a/tools/docker/Dockerfile.test_intel-ifx-ssmp +++ b/tools/docker/Dockerfile.test_intel-ifx-ssmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_manual b/tools/docker/Dockerfile.test_manual index fccfe47f40..99f104cdac 100644 --- a/tools/docker/Dockerfile.test_manual +++ b/tools/docker/Dockerfile.test_manual @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_minimal b/tools/docker/Dockerfile.test_minimal index f1359e0bf1..26ff53f80b 100644 --- a/tools/docker/Dockerfile.test_minimal +++ b/tools/docker/Dockerfile.test_minimal @@ -47,6 +47,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_openmpi-psmp b/tools/docker/Dockerfile.test_openmpi-psmp index 92a9ad4c6c..f1a38e2f59 100644 --- a/tools/docker/Dockerfile.test_openmpi-psmp +++ b/tools/docker/Dockerfile.test_openmpi-psmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_pdbg b/tools/docker/Dockerfile.test_pdbg index ddb84fb556..a72ca5c09f 100644 --- a/tools/docker/Dockerfile.test_pdbg +++ b/tools/docker/Dockerfile.test_pdbg @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_performance b/tools/docker/Dockerfile.test_performance index f653bb5008..cedce98c3e 100644 --- a/tools/docker/Dockerfile.test_performance +++ b/tools/docker/Dockerfile.test_performance @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_performance_cuda_A100 b/tools/docker/Dockerfile.test_performance_cuda_A100 index a000de4c66..46cdbbd297 100644 --- a/tools/docker/Dockerfile.test_performance_cuda_A100 +++ b/tools/docker/Dockerfile.test_performance_cuda_A100 @@ -31,6 +31,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_performance_cuda_P100 b/tools/docker/Dockerfile.test_performance_cuda_P100 index 3cc73ed6c9..afb1b139c5 100644 --- a/tools/docker/Dockerfile.test_performance_cuda_P100 +++ b/tools/docker/Dockerfile.test_performance_cuda_P100 @@ -31,6 +31,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_performance_cuda_V100 b/tools/docker/Dockerfile.test_performance_cuda_V100 index 50767e48ad..e8d98c90a8 100644 --- a/tools/docker/Dockerfile.test_performance_cuda_V100 +++ b/tools/docker/Dockerfile.test_performance_cuda_V100 @@ -31,6 +31,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_phonopy b/tools/docker/Dockerfile.test_phonopy index d1e4b2721e..367cdfcff2 100644 --- a/tools/docker/Dockerfile.test_phonopy +++ b/tools/docker/Dockerfile.test_phonopy @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_psmp b/tools/docker/Dockerfile.test_psmp index 42db2e9c8c..d26be14d60 100644 --- a/tools/docker/Dockerfile.test_psmp +++ b/tools/docker/Dockerfile.test_psmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_psmp_4ranks b/tools/docker/Dockerfile.test_psmp_4ranks index 217156bdd6..a9f99c1db8 100644 --- a/tools/docker/Dockerfile.test_psmp_4ranks +++ b/tools/docker/Dockerfile.test_psmp_4ranks @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_sdbg b/tools/docker/Dockerfile.test_sdbg index b2b0c3d9e9..e874c4785b 100644 --- a/tools/docker/Dockerfile.test_sdbg +++ b/tools/docker/Dockerfile.test_sdbg @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/Dockerfile.test_ssmp b/tools/docker/Dockerfile.test_ssmp index 2db0899b03..ed3db410f1 100644 --- a/tools/docker/Dockerfile.test_ssmp +++ b/tools/docker/Dockerfile.test_ssmp @@ -18,6 +18,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/docker/generate_dockerfiles.py b/tools/docker/generate_dockerfiles.py index c770f842ff..67f8193fbd 100755 --- a/tools/docker/generate_dockerfiles.py +++ b/tools/docker/generate_dockerfiles.py @@ -519,6 +519,7 @@ COPY ./tools/toolchain/scripts/VERSION \ ./tools/toolchain/scripts/common_vars.sh \ ./tools/toolchain/scripts/signal_trap.sh \ ./tools/toolchain/scripts/get_openblas_arch.sh \ + ./tools/toolchain/scripts/generate_cmake_options.sh \ ./scripts/ COPY ./tools/toolchain/install_cp2k_toolchain.sh . RUN ./install_cp2k_toolchain.sh \ diff --git a/tools/toolchain/install_cp2k_toolchain.sh b/tools/toolchain/install_cp2k_toolchain.sh index 064e62501f..d9953172ec 100755 --- a/tools/toolchain/install_cp2k_toolchain.sh +++ b/tools/toolchain/install_cp2k_toolchain.sh @@ -1037,6 +1037,7 @@ write_toolchain_env ${INSTALLDIR} # write toolchain config echo "tool_list=\"${tool_list}\"" > ${INSTALLDIR}/toolchain.conf +echo "dry_run=\"${dry_run}\"" >> ${INSTALLDIR}/toolchain.conf for ii in ${package_list}; do install_mode="$(eval echo \${with_${ii}})" echo "with_${ii}=\"${install_mode}\"" >> ${INSTALLDIR}/toolchain.conf @@ -1047,6 +1048,7 @@ done # ------------------------------------------------------------------------ if [ "${dry_run}" = "__TRUE__" ]; then echo "Wrote only configuration files (--dry-run)." + ./scripts/generate_cmake_options.sh else echo "# Leak suppressions" > ${INSTALLDIR}/lsan.supp ./scripts/stage0/install_stage0.sh diff --git a/tools/toolchain/scripts/generate_cmake_options.sh b/tools/toolchain/scripts/generate_cmake_options.sh index 410f00a48d..0339567471 100755 --- a/tools/toolchain/scripts/generate_cmake_options.sh +++ b/tools/toolchain/scripts/generate_cmake_options.sh @@ -22,9 +22,9 @@ CMAKE_OPTIONS="-DCMAKE_INSTALL_PREFIX=../install -DCP2K_DATA_DIR=${CP2K_ROOT}/da if [ -n "$(grep -- "--install-all" ${INSTALLDIR}/setup)" ]; then CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCP2K_USE_EVERYTHING=ON -DCP2K_USE_DLAF=OFF -DCP2K_USE_PEXSI=OFF" # Since "--install-all" can be used together with "--with-PKG=no", an extra safeguard is added here - for toolchain_option in $(grep -i "dontuse" ${INSTALLDIR}/toolchain.conf | cut -d'_' -f2 | cut -d'=' -f1); do + for toolchain_option in $(grep -i "dontuse" ${INSTALLDIR}/toolchain.conf | grep -vi "gcc" | cut -d'_' -f2 | cut -d'=' -f1); do if [ $(eval echo "$with_"'$toolchain_option') != "__DONTUSE__" ]; then - ADDED_CMAKE_OPTION=$(sed -n '/target_compile_definitions(/,/)/p' ${CP2K_ROOT}/src/CMakeLists.txt | grep -i $toolchain_option | cut -d'{' -f2 | cut -d'}' -f1 | head -n 1) + ADDED_CMAKE_OPTION=$(sed -n '/option(/,/)/p' ${CP2K_ROOT}/CMakeLists.txt | grep -i $toolchain_option | awk '{print $1}' | cut -d'(' -f2 | head -n 1) # Use "if-then" below can avoid generating empty "-D=OFF" options if [ -n "${ADDED_CMAKE_OPTION}" ]; then CMAKE_OPTIONS="${CMAKE_OPTIONS} -D${ADDED_CMAKE_OPTION}=OFF" @@ -52,18 +52,14 @@ else if [ "${with_fftw}" != "__DONTUSE__" ] || [ "${MATH_MODE}" = "mkl" ]; then CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCP2K_USE_FFTW3=ON" fi - # When user chooses dftd4 rather than tblite in toolchain, the ADDED_CMAKE_OPTION below is set to CP2K_USE_TBLITE by mistake. - if [ "${with_dftd4}" != "__DONTUSE__" ] && [ "${with_tblite}" = "__DONTUSE__" ]; then - CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCP2K_USE_DFTD4=ON" - fi # There is only MCL (MiMiC Communication Library) and no MiMiC that can be installed via toolchain, but if one chooses to install MCL then MiMiC should have been installed? if [ "${with_mcl}" != "__DONTUSE__" ]; then CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCP2K_USE_MIMIC=ON" fi # Detect if any other dependencies is used and add the proper cmake option. Since "pugixml" and "gsl" are not mentioned in CMakeLists.txt, they will not be considered. - for toolchain_option in $(grep -vi "dontuse\|list\|cmake\|fftw\|dbcsr\|dftd4" ${INSTALLDIR}/toolchain.conf | cut -d'_' -f2 | cut -d'=' -f1); do + for toolchain_option in $(grep -vi "dry\|list\|dontuse\|gcc\|cmake\|fftw\|mkl\|dbcsr" ${INSTALLDIR}/toolchain.conf | cut -d'_' -f2 | cut -d'=' -f1); do if [ $(eval echo "$with_"'$toolchain_option') != "__DONTUSE__" ]; then - ADDED_CMAKE_OPTION=$(sed -n '/target_compile_definitions(/,/)/p' ${CP2K_ROOT}/src/CMakeLists.txt | grep -i $toolchain_option | cut -d'{' -f2 | cut -d'}' -f1 | head -n 1) + ADDED_CMAKE_OPTION=$(sed -n '/option(/,/)/p' ${CP2K_ROOT}/CMakeLists.txt | grep -i $toolchain_option | awk '{print $1}' | cut -d'(' -f2 | head -n 1) # Use "if-then" below can avoid generating empty "-D=ON" options if [ -n "${ADDED_CMAKE_OPTION}" ]; then CMAKE_OPTIONS="${CMAKE_OPTIONS} -D${ADDED_CMAKE_OPTION}=ON" @@ -75,9 +71,14 @@ fi # ------------------------- # print out user instructions # ------------------------- - -cat << EOF - +if [ "${dry_run}" = "__TRUE__" ]; then + cat << EOF +Suggested cmake command if toolchain is built with your options: + cmake .. ${CMAKE_OPTIONS} +EOF +else + echo + cat << EOF | tee ${ROOTDIR}/installation_guide.txt ========================== usage ========================= Done! The "build" directory can now be removed. @@ -91,6 +92,10 @@ It's recommended for you to build CP2K like this after executing above command: make install -j $(get_nprocs) When completed, you can run "make clean" or delete this build directory to free up some space. + +For more information about available build options, see: https://manual.cp2k.org/trunk/getting-started/build-from-source.html. +This message is saved to "installation_guide.txt". EOF +fi #EOF diff --git a/tools/toolchain/scripts/stage2/install_openblas.sh b/tools/toolchain/scripts/stage2/install_openblas.sh index 3c902f5f07..6ac40271e9 100755 --- a/tools/toolchain/scripts/stage2/install_openblas.sh +++ b/tools/toolchain/scripts/stage2/install_openblas.sh @@ -18,10 +18,6 @@ source "${INSTALLDIR}"/toolchain.env [ -f "${BUILDDIR}/setup_openblas" ] && rm "${BUILDDIR}/setup_openblas" -OPENBLAS_CFLAGS="" -OPENBLAS_LDFLAGS="" -OPENBLAS_LIBS="" -OPENBLAS_ROOT="" ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" @@ -100,7 +96,7 @@ case "${with_openblas}" in OPENBLAS_ROOT="${pkg_install_dir}" # Prefer static library if available if [ -f "${pkg_install_dir}/lib/libopenblas.a" ]; then - OPENBLAS_LIBS="${pkg_install_dir}/lib/libopenblas.a" + OPENBLAS_LIBS="-l:libopenblas.a" else OPENBLAS_LIBS="-lopenblas" fi @@ -109,12 +105,18 @@ case "${with_openblas}" in echo "==================== Finding OpenBLAS from system paths ====================" # assume that system openblas is threaded check_lib -lopenblas "OpenBLAS" - OPENBLAS_LIBS="-lopenblas" + pkg_install_dir=$( + result=$(find_in_paths "libopenblas.a" $LIB_PATHS) + [ "$result" = "__FALSE__" ] && result=$(find_in_paths "libopenblas.so" $LIB_PATHS) + [ "$result" != "__FALSE__" ] && dirname $(dirname "$result") + ) + INCLUDE_PATHS=${INCLUDE_PATHS}:"$pkg_install_dir/include" # detect separate omp builds check_lib -lopenblas_openmp 2> /dev/null && OPENBLAS_LIBS="-lopenblas_openmp" check_lib -lopenblas_omp 2> /dev/null && OPENBLAS_LIBS="-lopenblas_omp" add_include_from_paths OPENBLAS_CFLAGS "openblas_config.h" $INCLUDE_PATHS add_lib_from_paths OPENBLAS_LDFLAGS "libopenblas.*" $LIB_PATHS + OPENBLAS_LIBS="-lopenblas" ;; __DONTUSE__) ;; diff --git a/tools/toolchain/scripts/stage3/install_fftw.sh b/tools/toolchain/scripts/stage3/install_fftw.sh index 24c4505cc4..ddc5831014 100755 --- a/tools/toolchain/scripts/stage3/install_fftw.sh +++ b/tools/toolchain/scripts/stage3/install_fftw.sh @@ -18,9 +18,6 @@ source "${INSTALLDIR}"/toolchain.env [ -f "${BUILDDIR}/setup_fftw" ] && rm "${BUILDDIR}/setup_fftw" -FFTW_CFLAGS='' -FFTW_LDFLAGS='' -FFTW_LIBS='' ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" @@ -73,6 +70,12 @@ case "$with_fftw" in check_lib -lfftw3 "FFTW" check_lib -lfftw3_omp "FFTW" [ "${MPI_MODE}" != "no" ] && check_lib -lfftw3_mpi "FFTW" + pkg_install_dir=$( + result=$(find_in_paths "libfftw3.a" $LIB_PATHS) + [ "$result" = "__FALSE__" ] && result=$(find_in_paths "libfftw3.so" $LIB_PATHS) + [ "$result" != "__FALSE__" ] && dirname $(dirname "$result") + ) + INCLUDE_PATHS=${INCLUDE_PATHS}:"$pkg_install_dir/include" add_include_from_paths FFTW_CFLAGS "fftw3.h" FFTW_INC ${INCLUDE_PATHS} add_lib_from_paths FFTW_LDFLAGS "libfftw3.*" ${LIB_PATHS} ;; @@ -113,8 +116,8 @@ export CP_DFLAGS="\${CP_DFLAGS} -D__FFTW3 IF_COVERAGE(IF_MPI(|-U__FFTW3)|)" export CP_CFLAGS="\${CP_CFLAGS} ${FFTW_CFLAGS}" export CP_LDFLAGS="\${CP_LDFLAGS} ${FFTW_LDFLAGS}" export CP_LIBS="${FFTW_LIBS} \${CP_LIBS}" -export FFTW_ROOT=${FFTW_ROOT:-${pkg_install_dir}} -export FFTW3_ROOT=${pkg_install_dir} +export FFTW_ROOT="${FFTW_ROOT:-${pkg_install_dir}}" +export FFTW3_ROOT="${FFTW_ROOT:-${pkg_install_dir}}" EOF cat "${BUILDDIR}/setup_fftw" >> $SETUPFILE fi diff --git a/tools/toolchain/scripts/stage4/install_scalapack.sh b/tools/toolchain/scripts/stage4/install_scalapack.sh index e06428fe7d..d8f2d38266 100755 --- a/tools/toolchain/scripts/stage4/install_scalapack.sh +++ b/tools/toolchain/scripts/stage4/install_scalapack.sh @@ -18,9 +18,6 @@ source "${INSTALLDIR}"/toolchain.env [ -f "${BUILDDIR}/setup_scalapack" ] && rm "${BUILDDIR}/setup_scalapack" -SCALAPACK_CFLAGS='' -SCALAPACK_LDFLAGS='' -SCALAPACK_LIBS='' ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" @@ -75,6 +72,11 @@ case "$with_scalapack" in __SYSTEM__) echo "==================== Finding ScaLAPACK from system paths ====================" check_lib -lscalapack "ScaLAPACK" + pkg_install_dir=$( + result=$(find_in_paths "libscalapack.a" $LIB_PATHS) + [ "$result" = "__FALSE__" ] && result=$(find_in_paths "libscalapack.so" $LIB_PATHS) + [ "$result" != "__FALSE__" ] && dirname $(dirname "$result") + ) add_lib_from_paths SCALAPACK_LDFLAGS "libscalapack.*" $LIB_PATHS ;; __DONTUSE__) ;; @@ -100,7 +102,6 @@ prepend_path PKG_CONFIG_PATH "$pkg_install_dir/lib/pkgconfig" prepend_path CMAKE_PREFIX_PATH "$pkg_install_dir" export SCALAPACK_ROOT="${pkg_install_dir}" EOF - cat "${BUILDDIR}/setup_scalapack" >> $SETUPFILE fi cat << EOF >> "${BUILDDIR}/setup_scalapack" export SCALAPACK_LDFLAGS="${SCALAPACK_LDFLAGS}" @@ -110,6 +111,7 @@ export CP_DFLAGS="\${CP_DFLAGS} IF_MPI(-D__parallel|)" export CP_LDFLAGS="\${CP_LDFLAGS} IF_MPI(${SCALAPACK_LDFLAGS}|)" export CP_LIBS="IF_MPI(-lscalapack|) \${CP_LIBS}" EOF + cat "${BUILDDIR}/setup_scalapack" >> $SETUPFILE fi cd "${ROOTDIR}"