diff --git a/tools/toolchain/install_cp2k_toolchain.sh b/tools/toolchain/install_cp2k_toolchain.sh index fb9c579c53..ea1f04e739 100755 --- a/tools/toolchain/install_cp2k_toolchain.sh +++ b/tools/toolchain/install_cp2k_toolchain.sh @@ -102,20 +102,20 @@ OPTIONS: options are: K20X, K40, K80, P100, V100, Mi50, Mi100, Mi250, and no. This setting determines the value of nvcc's '-arch' flag. - Default = no. + Default = no --libint-lmax Maximum supported angular momentum by libint. Higher values will increase build time and library size. Default = 5 --log-lines Number of log file lines dumped in case of a non-zero exit code. Default = 200 --target-cpu Compile for the specified target CPU (e.g. haswell or generic), i.e. - do not optimize for the actual host system which is the default (native) ---no-arch-files Do not generate arch files + do not optimize for the actual host system which is the default (native). +--no-arch-files Do not generate arch files. --dry-run Write only config files, but don't actually build packages. The --enable-FEATURE options follow the rules: - --enable-FEATURE=yes Enable this particular feature - --enable-FEATURE=no Disable this particular feature + --enable-FEATURE=yes Enable this particular feature. + --enable-FEATURE=no Disable this particular feature. --enable-FEATURE The option keyword alone is equivalent to --enable-FEATURE=yes @@ -154,34 +154,34 @@ The --with-PKG options follow the rules: Default = no --with-amd Use the AMD compiler to build CP2K. Default = system - --with-cmake Cmake utilities + --with-cmake CMake utilities. Default = install - --with-ninja Ninja utilities + --with-ninja Ninja utilities. Default = install --with-openmpi OpenMPI, important if you want a parallel version of CP2K. Default = system --with-mpich MPICH, MPI library like OpenMPI. one should use only one of OpenMPI, MPICH or Intel MPI. Default = system - --with-mpich-device Select the MPICH device, implies the use of MPICH as MPI library + --with-mpich-device Select the MPICH device, implies the use of MPICH as MPI library. Default = ch4 --with-intelmpi Intel MPI, MPI library like OpenMPI. one should use only one of OpenMPI, MPICH or Intel MPI. Default = system - --with-dbcsr Install DBCSR library with toolchain + --with-dbcsr Install DBCSR library with toolchain. Default = install - --with-libxc libxc, exchange-correlation library. Needed for - QuickStep DFT and hybrid calculations. + --with-libxc libxc, exchange-correlation library. Needed for QuickStep DFT + and hybrid calculations. Default = install --with-libint libint, library for evaluation of two-body molecular - integrals, needed for hybrid functional calculations + integrals, needed for hybrid functional calculations. Default = install --with-libgrpp libgrpp, library for the evaluation of ECP integrals, needed - for any calculations with semi-local ECP pseudopotentials + for any calculations with semi-local ECP pseudopotentials. Default = install - --with-fftw FFTW3, library for fast fourier transform + --with-fftw Install FFTW3 library for fast fourier transform. Default = install - --with-acml AMD core maths library, which provides LAPACK and BLAS + --with-acml AMD core maths library, which provides LAPACK and BLAS. Default = system --with-mkl Intel Math Kernel Library, which provides LAPACK, and BLAS. If MKL's FFTW3 interface is suitable (no FFTW-MPI support), @@ -191,8 +191,7 @@ The --with-PKG options follow the rules: --with-openblas OpenBLAS is a free high performance LAPACK and BLAS library, the successor to GotoBLAS. Default = install - --with-scalapack Parallel linear algebra library, needed for parallel - calculations. + --with-scalapack Parallel linear algebra library, needed for parallel calculations. Default = install --with-libxsmm Small matrix multiplication library. Default = install @@ -203,39 +202,40 @@ The --with-PKG options follow the rules: Default = no --with-deepmd Enable interface to DeePMD-kit library. Default = no - --with-plumed Enable interface to the PLUMED library. + --with-plumed Enable interface to the PLUMED library (requires MPI). Default = no --with-sirius Enable interface to the plane wave SIRIUS library. - This package requires: gsl, libspg, elpa, scalapack, hdf5, libxc and pugixml + This package requires: GSL, libspg, ELPA, ScaLAPACK, HDF5, Libxc and pugixml. Default = install --with-pugixml Enable support for XML parsing using the pugixml library. This library is required by SIRIUS. Default = no (unless a SIRIUS installation is requested) --with-gsl Enable the gnu scientific library (required for PLUMED and SIRIUS) Default = install - --with-libvdwxc Enable support of Van der Waals interactions in SIRIUS. Support provided by libvdwxc + --with-libvdwxc Enable support of Van der Waals interactions in SIRIUS. + Support provided by libvdwxc. Default = install - --with-spglib Enable the spg library (search of symmetry groups) - This package depends on cmake. + --with-spglib Enable the spg library (search of symmetry groups). + This package depends on CMake. Default = install --with-hdf5 Enable the hdf5 library (used by the sirius and trexio libraries) Default = install --with-spfft Enable the spare fft used in SIRIUS (hard dependency) Default = install - --with-spla Enable the Specialized Parallel Linear Algebra library (required by SIRIUS) + --with-spla Enable the Specialized Parallel Linear Algebra library (required by SIRIUS). Default = install - --with-cosma Enable cosma as a replacement for scalapack matrix multiplication + --with-cosma Enable cosma as a replacement for ScaLAPACK matrix multiplication Default = install - --with-libvori Enable libvori for the Voronoi integration (and the BQB compressed trajectory format) + --with-libvori Enable libvori for the Voronoi integration and the BQB compressed trajectory format. Default = install - --with-libtorch Enable libtorch the machine learning framework needed for NequIP and Allegro + --with-libtorch Enable libtorch the machine learning framework needed for NequIP and Allegro. Default = no - --with-libsmeagol Enable interface to SMEAGOL NEGF library + --with-libsmeagol Enable interface to SMEAGOL NEGF library (requires MPI). Default = no - --with-dftd4 Enable the DFTD4 package by Grimme - This package requires cmake, ninja + --with-dftd4 Enable the DFTD4 package by Grimme. + This package requires CMake and Ninja. Default = install - --with-trexio Enable the trexio library (read/write TREXIO files) + --with-trexio Enable the trexio library (read/write TREXIO files). Default = no FURTHER INSTRUCTIONS @@ -723,7 +723,7 @@ fi # MPI library conflicts if [ "${MPI_MODE}" = "no" ]; then if [ "${with_scalapack}" != "__DONTUSE__" ]; then - echo "Not using MPI, so scalapack is disabled." + echo "Not using MPI, so ScaLAPACK is disabled." with_scalapack="__DONTUSE__" fi if [ "${with_elpa}" != "__DONTUSE__" ]; then @@ -734,20 +734,24 @@ if [ "${MPI_MODE}" = "no" ]; then echo "Not using MPI, so PLUMED is disabled." with_plumed="__DONTUSE__" fi + if [ "${with_libsmeagol}" != "__DONTUSE__" ]; then + echo "Not using MPI, so libsmeagol is disabled." + with_libsmeagol="__DONTUSE__" + fi if [ "${with_sirius}" != "__DONTUSE__" ]; then echo "Not using MPI, so SIRIUS is disabled" with_sirius="__DONTUSE__" fi if [ "${with_spfft}" != "__DONTUSE__" ]; then - echo "Not using MPI, so spfft is disabled" + echo "Not using MPI, so SpFFT is disabled" with_spfft="__DONTUSE__" fi if [ "${with_spla}" != "__DONTUSE__" ]; then - echo "Not using MPI, so spla is disabled" + echo "Not using MPI, so SpLA is disabled" with_spla="__DONTUSE__" fi if [ "${with_cosma}" != "__DONTUSE__" ]; then - echo "Not using MPI, so cosma is disabled" + echo "Not using MPI, so COSMA is disabled" with_cosma="__DONTUSE__" fi else @@ -820,7 +824,7 @@ if [ "${with_spglib}" = "__INSTALL__" ] || [ "${with_cmake}" = "__DONTUSE__" ] && with_cmake="__INSTALL__" fi -# SIRIUS dependencies. Remove the gsl library from the dependencies if SIRIUS is not activated +# SIRIUS dependencies. Remove the GSL library from the dependencies if SIRIUS is not activated if [ "${with_sirius}" = "__INSTALL__" ]; then [ "${with_spfft}" = "__DONTUSE__" ] && with_spfft="__INSTALL__" [ "${with_spla}" = "__DONTUSE__" ] && with_spla="__INSTALL__" diff --git a/tools/toolchain/scripts/stage1/install_intelmpi.sh b/tools/toolchain/scripts/stage1/install_intelmpi.sh index a4b339b260..21b004cf7e 100755 --- a/tools/toolchain/scripts/stage1/install_intelmpi.sh +++ b/tools/toolchain/scripts/stage1/install_intelmpi.sh @@ -56,7 +56,7 @@ case "${with_intelmpi}" in # Nothing to do ;; *) - echo "==================== Linking INTELMPI to user paths ====================" + echo "==================== Linking Intel MPI to user paths ====================" pkg_install_dir="${with_intelmpi}" check_dir "${pkg_install_dir}/bin" check_dir "${pkg_install_dir}/lib" diff --git a/tools/toolchain/scripts/stage2/install_openblas.sh b/tools/toolchain/scripts/stage2/install_openblas.sh index 08f95cb2a6..5a06580c8f 100755 --- a/tools/toolchain/scripts/stage2/install_openblas.sh +++ b/tools/toolchain/scripts/stage2/install_openblas.sh @@ -106,7 +106,7 @@ case "${with_openblas}" in fi ;; __SYSTEM__) - echo "==================== Finding LAPACK from system paths ====================" + echo "==================== Finding OpenBLAS from system paths ====================" # assume that system openblas is threaded check_lib -lopenblas "OpenBLAS" OPENBLAS_LIBS="-lopenblas" @@ -119,7 +119,7 @@ case "${with_openblas}" in __DONTUSE__) ;; *) - echo "==================== Linking LAPACK to user paths ====================" + echo "==================== Linking OpenBLAS to user paths ====================" pkg_install_dir="$with_openblas" check_dir "${pkg_install_dir}/include" check_dir "${pkg_install_dir}/lib" diff --git a/tools/toolchain/scripts/stage6/install_gsl.sh b/tools/toolchain/scripts/stage6/install_gsl.sh index c866022475..f57b3d364f 100755 --- a/tools/toolchain/scripts/stage6/install_gsl.sh +++ b/tools/toolchain/scripts/stage6/install_gsl.sh @@ -21,7 +21,7 @@ cd "${BUILDDIR}" case "$with_gsl" in __INSTALL__) - echo "==================== Installing gsl ====================" + echo "==================== Installing GSL ====================" pkg_install_dir="${INSTALLDIR}/gsl-${gsl_ver}" install_lock_file="$pkg_install_dir/install_successful" if verify_checksums "${install_lock_file}"; then @@ -51,7 +51,7 @@ case "$with_gsl" in GSL_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" ;; __SYSTEM__) - echo "==================== Finding gsl from system paths ====================" + echo "==================== Finding GSL from system paths ====================" check_command pkg-config --modversion gsl add_include_from_paths GSL_CFLAGS "gsl.h" $INCLUDE_PATHS add_lib_from_paths GSL_LDFLAGS "libgsl.*" $LIB_PATHS @@ -60,7 +60,7 @@ case "$with_gsl" in # Nothing to do ;; *) - echo "==================== Linking gsl to user paths ====================" + echo "==================== Linking GSL to user paths ====================" pkg_install_dir="$with_gsl" check_dir "$pkg_install_dir/lib" check_dir "$pkg_install_dir/include" diff --git a/tools/toolchain/scripts/stage7/install_libsmeagol.sh b/tools/toolchain/scripts/stage7/install_libsmeagol.sh index c96b78bda3..7ab3d42bf3 100755 --- a/tools/toolchain/scripts/stage7/install_libsmeagol.sh +++ b/tools/toolchain/scripts/stage7/install_libsmeagol.sh @@ -19,9 +19,15 @@ source "${INSTALLDIR}"/toolchain.env LIBSMEAGOL_CFLAGS="" LIBSMEAGOL_LDFLAGS="" LIBSMEAGOL_LIBS="" + ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" +if [ "${MPI_MODE}" = "no" ]; then + report_warning ${LINENO} "MPI is disabled, skipping libsmeagol installation" + exit 0 +fi + case "${with_libsmeagol}" in __INSTALL__) echo "==================== Installing libsmeagol ====================" diff --git a/tools/toolchain/scripts/stage7/install_spglib.sh b/tools/toolchain/scripts/stage7/install_spglib.sh index 9d26c18bdd..9d584a5e86 100755 --- a/tools/toolchain/scripts/stage7/install_spglib.sh +++ b/tools/toolchain/scripts/stage7/install_spglib.sh @@ -21,7 +21,7 @@ cd "${BUILDDIR}" case "$with_spglib" in __INSTALL__) - echo "==================== Installing spglib ====================" + echo "==================== Installing Spglib ====================" pkg_install_dir="${INSTALLDIR}/spglib-${spglib_ver}" install_lock_file="$pkg_install_dir/install_successful" if verify_checksums "${install_lock_file}"; then @@ -63,7 +63,7 @@ case "$with_spglib" in fi ;; __SYSTEM__) - echo "==================== Finding spglib from system paths ====================" + echo "==================== Finding Spglib from system paths ====================" check_command pkg-config --modversion spglib add_include_from_paths SPGLIB_CFLAGS "spglib.h" $INCLUDE_PATHS add_lib_from_paths SPGLIB_LDFLAGS "libspglib.*" $LIB_PATHS @@ -71,7 +71,7 @@ case "$with_spglib" in __DONTUSE__) ;; *) - echo "==================== Linking spglib to user paths ====================" + echo "==================== Linking Spglib to user paths ====================" pkg_install_dir="$with_spglib" check_dir "$pkg_install_dir/lib" check_dir "$pkg_install_dir/include" diff --git a/tools/toolchain/scripts/stage8/install_spfft.sh b/tools/toolchain/scripts/stage8/install_spfft.sh index 3d2e8ff5b1..1e0002965f 100755 --- a/tools/toolchain/scripts/stage8/install_spfft.sh +++ b/tools/toolchain/scripts/stage8/install_spfft.sh @@ -21,7 +21,7 @@ cd "${BUILDDIR}" case "${with_spfft}" in __INSTALL__) - echo "==================== Installing spfft ====================" + echo "==================== Installing SpFFT ====================" pkg_install_dir="${INSTALLDIR}/SpFFT-${spfft_ver}" install_lock_file="$pkg_install_dir/install_successful" if verify_checksums "${install_lock_file}"; then @@ -147,7 +147,7 @@ case "${with_spfft}" in SPFFT_CUDA_LDFLAGS="-L'${pkg_install_dir}/lib/cuda' -Wl,-rpath,'${pkg_install_dir}/lib/cuda'" ;; __SYSTEM__) - echo "==================== Finding spfft from system paths ====================" + echo "==================== Finding SpFFT from system paths ====================" check_command pkg-config --modversion spfft add_include_from_paths SPFFT_CFLAGS "spfft.h" $INCLUDE_PATHS add_lib_from_paths SPFFT_LDFLAGS "libspfft.*" $LIB_PATHS @@ -156,7 +156,7 @@ case "${with_spfft}" in # Nothing to do ;; *) - echo "==================== Linking spfft to user paths ====================" + echo "==================== Linking SpFFT to user paths ====================" pkg_install_dir="$with_spfft" # use the lib64 directory if present (multi-abi distros may link lib/ to lib32/ instead) diff --git a/tools/toolchain/scripts/stage8/install_spla.sh b/tools/toolchain/scripts/stage8/install_spla.sh index db782e27dd..da1052e273 100755 --- a/tools/toolchain/scripts/stage8/install_spla.sh +++ b/tools/toolchain/scripts/stage8/install_spla.sh @@ -21,7 +21,7 @@ cd "${BUILDDIR}" case "${with_spla}" in __INSTALL__) - echo "==================== Installing spla ====================" + echo "==================== Installing SpLA ====================" pkg_install_dir="${INSTALLDIR}/SpLA-${spla_ver}" install_lock_file="$pkg_install_dir/install_successful" if verify_checksums "${install_lock_file}"; then @@ -133,7 +133,7 @@ case "${with_spla}" in SPLA_HIP_LDFLAGS="-L'${pkg_install_dir}/lib/hip' -Wl,-rpath,'${pkg_install_dir}/lib/hip'" ;; __SYSTEM__) - echo "==================== Finding spla from system paths ====================" + echo "==================== Finding SpLA from system paths ====================" check_command pkg-config --modversion spla add_include_from_paths SPLA_CFLAGS "spla.h" $INCLUDE_PATHS add_lib_from_paths SPLA_LDFLAGS "libspla.*" $LIB_PATHS @@ -142,7 +142,7 @@ case "${with_spla}" in # Nothing to do ;; *) - echo "==================== Linking spla to user paths ====================" + echo "==================== Linking SpLA to user paths ====================" pkg_install_dir="$with_spla" # use the lib64 directory if present (multi-abi distros may link lib/ to lib32/ instead)