From 439702f44333895abd3b0592a6e26d8400a12785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Sch=C3=BCtt?= Date: Wed, 3 Mar 2021 23:21:59 +0100 Subject: [PATCH] Toolchain: Do not cache NPROCS --- tools/toolchain/install_cp2k_toolchain.sh | 7 ++----- tools/toolchain/scripts/common_vars.sh | 3 --- tools/toolchain/scripts/generate_arch_files.sh | 2 +- tools/toolchain/scripts/stage0/install_cmake.sh | 4 ++-- tools/toolchain/scripts/stage0/install_gcc.sh | 8 ++++---- tools/toolchain/scripts/stage1/install_mpich.sh | 2 +- tools/toolchain/scripts/stage1/install_openmpi.sh | 4 ++-- tools/toolchain/scripts/stage1/install_valgrind.sh | 4 ++-- tools/toolchain/scripts/stage2/install_fftw.sh | 2 +- tools/toolchain/scripts/stage2/install_openblas.sh | 6 +++--- tools/toolchain/scripts/stage2/install_reflapack.sh | 2 +- tools/toolchain/scripts/stage3/install_libint.sh | 2 +- tools/toolchain/scripts/stage3/install_libxc.sh | 2 +- tools/toolchain/scripts/stage4/install_cosma.sh | 6 +++--- tools/toolchain/scripts/stage4/install_libxsmm.sh | 4 ++-- tools/toolchain/scripts/stage4/install_scalapack.sh | 2 +- tools/toolchain/scripts/stage5/install_elpa.sh | 2 +- tools/toolchain/scripts/stage5/install_ptscotch.sh | 2 +- tools/toolchain/scripts/stage5/install_superlu.sh | 2 +- tools/toolchain/scripts/stage6/install_gsl.sh | 4 ++-- tools/toolchain/scripts/stage6/install_plumed.sh | 2 +- tools/toolchain/scripts/stage7/install_hdf5.sh | 4 ++-- tools/toolchain/scripts/stage7/install_libvdwxc.sh | 2 +- tools/toolchain/scripts/stage7/install_libvori.sh | 6 +++--- tools/toolchain/scripts/stage7/install_spglib.sh | 2 +- tools/toolchain/scripts/stage8/install_sirius.sh | 4 ++-- tools/toolchain/scripts/stage8/install_spfft.sh | 6 +++--- tools/toolchain/scripts/stage8/install_spla.sh | 6 +++--- tools/toolchain/scripts/tool_kit.sh | 4 +++- 29 files changed, 51 insertions(+), 55 deletions(-) diff --git a/tools/toolchain/install_cp2k_toolchain.sh b/tools/toolchain/install_cp2k_toolchain.sh index 896ed08f41..0e2f4726d9 100755 --- a/tools/toolchain/install_cp2k_toolchain.sh +++ b/tools/toolchain/install_cp2k_toolchain.sh @@ -338,9 +338,6 @@ else export MPI_MODE=no fi -# number of processors to use -export NPROCS=$(get_nprocs) - # default enable options dry_run=__FALSE__ enable_tsan=__FALSE__ @@ -384,7 +381,7 @@ while [ $# -ge 1 ]; do case $1 in -j) shift - export NPROCS=$1 + export NPROCS_OVERWRITE=$1 ;; --no-check-certificate) export DOWNLOADER_FLAGS="-n" @@ -865,7 +862,7 @@ fi # Installing tools required for building CP2K and associated libraries # ------------------------------------------------------------------------ -echo "Compiling with $NPROCS processes." +echo "Compiling with $(get_nprocs) processes." # set environment for compiling compilers and tools required for CP2K # and libraries it depends on diff --git a/tools/toolchain/scripts/common_vars.sh b/tools/toolchain/scripts/common_vars.sh index d2c405be68..71a2de77e4 100644 --- a/tools/toolchain/scripts/common_vars.sh +++ b/tools/toolchain/scripts/common_vars.sh @@ -22,9 +22,6 @@ SYS_LIB_PATH=${SYS_LIB_PATHS:-'/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/l INCLUDE_PATHS=${INCLUDE_PATHS:-"CPATH SYS_INCLUDE_PATH"} LIB_PATHS=${LIB_PATHS:-'LD_LIBRARY_PATH LIBRARY_PATH LD_RUN_PATH SYS_LIB_PATH'} -# number of processors -NPROCS=${NPROCS:-1} - # mode flags ENABLE_OMP=${ENABLE_OMP:-"__TRUE__"} ENABLE_TSAN=${ENABLE_TSAN:-"__FALSE__"} diff --git a/tools/toolchain/scripts/generate_arch_files.sh b/tools/toolchain/scripts/generate_arch_files.sh index 962475b4b7..d1a8264db7 100755 --- a/tools/toolchain/scripts/generate_arch_files.sh +++ b/tools/toolchain/scripts/generate_arch_files.sh @@ -236,7 +236,7 @@ compiled with it you will first need to execute at the prompt: source ${SETUPFILE} To build CP2K you should change directory: cd cp2k/ - make -j ${NPROCS} ARCH=local VERSION="${arch_vers}" + make -j $(get_nprocs) ARCH=local VERSION="${arch_vers}" arch files for GPU enabled CUDA versions are named "local_cuda.*" arch files for valgrind versions are named "local_valgrind.*" diff --git a/tools/toolchain/scripts/stage0/install_cmake.sh b/tools/toolchain/scripts/stage0/install_cmake.sh index eb0c221e83..e27c2efe99 100755 --- a/tools/toolchain/scripts/stage0/install_cmake.sh +++ b/tools/toolchain/scripts/stage0/install_cmake.sh @@ -41,8 +41,8 @@ case "$with_cmake" in cp CMakeLists.txt CMakeLists.txt.orig sed -i 's/option(BUILD_CursesDialog "Build the CMake Curses Dialog ccmake" ON)/option(BUILD_CursesDialog "Build the CMake Curses Dialog ccmake" OFF)/g' CMakeLists.txt fi - ./bootstrap --prefix="${pkg_install_dir}" --parallel="${NPROCS}" -- -DCMAKE_USE_OPENSSL=OFF > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 + ./bootstrap --prefix="${pkg_install_dir}" --parallel="$(get_nprocs)" -- -DCMAKE_USE_OPENSSL=OFF > configure.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 make install > install.log 2>&1 cd .. write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage0/$(basename ${SCRIPT_NAME})" diff --git a/tools/toolchain/scripts/stage0/install_gcc.sh b/tools/toolchain/scripts/stage0/install_gcc.sh index 7138eaa6c0..f231d54319 100755 --- a/tools/toolchain/scripts/stage0/install_gcc.sh +++ b/tools/toolchain/scripts/stage0/install_gcc.sh @@ -62,11 +62,11 @@ case "$with_gcc" in --enable-lto \ --enable-plugins \ > configure.log 2>&1 - make -j $NPROCS \ + make -j $(get_nprocs) \ CFLAGS="-fPIC $CFLAGS" \ CXXFLAGS="-fPIC $CXXFLAGS" \ > make.log 2>&1 - make -j $NPROCS install > install.log 2>&1 + make -j $(get_nprocs) install > install.log 2>&1 # thread sanitizer if [ $ENABLE_TSAN = "__TRUE__" ]; then # now the tricky bit... we need to recompile in particular @@ -78,7 +78,7 @@ case "$with_gcc" in # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55374#c10 cd x86_64*/libgfortran make clean > clean.log 2>&1 - make -j $NPROCS \ + make -j $(get_nprocs) \ CFLAGS="-std=gnu99 -g -O2 -fsanitize=thread " \ FCFLAGS="-g -O2 -fsanitize=thread" \ CXXFLAGS="-std=gnu99 -g -O2 -fsanitize=thread " \ @@ -87,7 +87,7 @@ case "$with_gcc" in make install > install.log 2>&1 cd ../libgomp make clean > clean.log 2>&1 - make -j $NPROCS \ + make -j $(get_nprocs) \ CFLAGS="-std=gnu99 -g -O2 -fsanitize=thread " \ FCFLAGS="-g -O2 -fsanitize=thread" \ CXXFLAGS="-std=gnu99 -g -O2 -fsanitize=thread " \ diff --git a/tools/toolchain/scripts/stage1/install_mpich.sh b/tools/toolchain/scripts/stage1/install_mpich.sh index 885e32a921..6ac39ac61d 100755 --- a/tools/toolchain/scripts/stage1/install_mpich.sh +++ b/tools/toolchain/scripts/stage1/install_mpich.sh @@ -46,7 +46,7 @@ case "$with_mpich" in # https://github.com/pmodels/mpich/issues/4300 ("${FC}" --version | grep -Eq 'GNU.+\s10\.') && compat_flag="-fallow-argument-mismatch" || compat_flag="" ./configure --prefix="${pkg_install_dir}" --libdir="${pkg_install_dir}/lib" MPICC="" FFLAGS="${FCFLAGS} ${compat_flag}" FCFLAGS="${FCFLAGS} ${compat_flag}" --without-x --enable-gl=no > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 make install > install.log 2>&1 cd .. write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage1/$(basename ${SCRIPT_NAME})" diff --git a/tools/toolchain/scripts/stage1/install_openmpi.sh b/tools/toolchain/scripts/stage1/install_openmpi.sh index 14766da191..9e88098dfd 100755 --- a/tools/toolchain/scripts/stage1/install_openmpi.sh +++ b/tools/toolchain/scripts/stage1/install_openmpi.sh @@ -51,8 +51,8 @@ case "$with_openmpi" in CFLAGS="${CFLAGS} -fgnu89-inline" fi ./configure --prefix=${pkg_install_dir} --libdir="${pkg_install_dir}/lib" --enable-mpi1-compatibility CFLAGS="${CFLAGS}" > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 - make -j $NPROCS install > install.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 + make -j $(get_nprocs) install > install.log 2>&1 cd .. write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage1/$(basename ${SCRIPT_NAME})" fi diff --git a/tools/toolchain/scripts/stage1/install_valgrind.sh b/tools/toolchain/scripts/stage1/install_valgrind.sh index 904d2fb1f5..52b5706471 100755 --- a/tools/toolchain/scripts/stage1/install_valgrind.sh +++ b/tools/toolchain/scripts/stage1/install_valgrind.sh @@ -34,8 +34,8 @@ case "$with_valgrind" in tar -xjf valgrind-${valgrind_ver}.tar.bz2 cd valgrind-${valgrind_ver} ./configure --prefix="${pkg_install_dir}" --libdir="${pkg_install_dir}/lib" > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 - make -j $NPROCS install > install.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 + make -j $(get_nprocs) install > install.log 2>&1 cd .. write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage1/$(basename ${SCRIPT_NAME})" fi diff --git a/tools/toolchain/scripts/stage2/install_fftw.sh b/tools/toolchain/scripts/stage2/install_fftw.sh index f60f6c9f91..78812539a1 100755 --- a/tools/toolchain/scripts/stage2/install_fftw.sh +++ b/tools/toolchain/scripts/stage2/install_fftw.sh @@ -48,7 +48,7 @@ case "$with_fftw" in grep '\bavx2\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx2" grep '\bavx512f\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx512" ./configure --prefix=${pkg_install_dir} --libdir="${pkg_install_dir}/lib" ${FFTW_FLAGS} > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 make install > install.log 2>&1 cd .. write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage2/$(basename ${SCRIPT_NAME})" diff --git a/tools/toolchain/scripts/stage2/install_openblas.sh b/tools/toolchain/scripts/stage2/install_openblas.sh index 4a5f75cb38..85f2dd8b58 100755 --- a/tools/toolchain/scripts/stage2/install_openblas.sh +++ b/tools/toolchain/scripts/stage2/install_openblas.sh @@ -48,7 +48,7 @@ case "$with_openblas" in # wrt NUM_THREADS=64: this is what the most common Linux distros seem to choose atm # for a good compromise between memory usage and scalability ( - make -j $NPROCS \ + make -j $(get_nprocs) \ MAKE_NB_JOBS=0 \ NUM_THREADS=64 \ USE_THREAD=1 \ @@ -58,7 +58,7 @@ case "$with_openblas" in PREFIX="${pkg_install_dir}" \ > make.log 2>&1 ) || ( - make -j $NPROCS \ + make -j $(get_nprocs) \ MAKE_NB_JOBS=0 \ TARGET=NEHALEM \ NUM_THREADS=64 \ @@ -69,7 +69,7 @@ case "$with_openblas" in PREFIX="${pkg_install_dir}" \ > make.nehalem.log 2>&1 ) - make -j $NPROCS \ + make -j $(get_nprocs) \ MAKE_NB_JOBS=0 \ NUM_THREADS=64 \ USE_THREAD=1 \ diff --git a/tools/toolchain/scripts/stage2/install_reflapack.sh b/tools/toolchain/scripts/stage2/install_reflapack.sh index d173108d99..74fe212aca 100755 --- a/tools/toolchain/scripts/stage2/install_reflapack.sh +++ b/tools/toolchain/scripts/stage2/install_reflapack.sh @@ -58,7 +58,7 @@ LAPACKELIB = liblapacke.a EOF # lapack/blas build is *not* parallel safe (updates to the archive race) # Run first in parallel which will result most likely in an incomplete library - make -j $NPROCS lib blaslib > make.log 2>&1 + make -j $(get_nprocs) lib blaslib > make.log 2>&1 # Complete library in non-parallel mode make -j 1 lib blaslib > make1.log 2>&1 # no make install, so have to do this manually diff --git a/tools/toolchain/scripts/stage3/install_libint.sh b/tools/toolchain/scripts/stage3/install_libint.sh index 17c948a6dd..b5521432a0 100755 --- a/tools/toolchain/scripts/stage3/install_libint.sh +++ b/tools/toolchain/scripts/stage3/install_libint.sh @@ -79,7 +79,7 @@ case "$with_libint" in --libdir="${pkg_install_dir}/lib" \ > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 make install > install.log 2>&1 cd .. diff --git a/tools/toolchain/scripts/stage3/install_libxc.sh b/tools/toolchain/scripts/stage3/install_libxc.sh index 2b885d2cf2..181fb0f5b6 100755 --- a/tools/toolchain/scripts/stage3/install_libxc.sh +++ b/tools/toolchain/scripts/stage3/install_libxc.sh @@ -37,7 +37,7 @@ case "$with_libxc" in tar -xzf libxc-${libxc_ver}.tar.gz cd libxc-${libxc_ver} ./configure --prefix="${pkg_install_dir}" --libdir="${pkg_install_dir}/lib" > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 make install > install.log 2>&1 cd .. write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" diff --git a/tools/toolchain/scripts/stage4/install_cosma.sh b/tools/toolchain/scripts/stage4/install_cosma.sh index f9939410f3..b67ae52cf2 100755 --- a/tools/toolchain/scripts/stage4/install_cosma.sh +++ b/tools/toolchain/scripts/stage4/install_cosma.sh @@ -65,8 +65,8 @@ case "$with_cosma" in ;; esac - make -j $NPROCS > make.log 2>&1 - make -j $NPROCS install > install.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 + make -j $(get_nprocs) install > install.log 2>&1 cd .. if [ "$ENABLE_CUDA" = "__TRUE__" ]; then @@ -95,7 +95,7 @@ case "$with_cosma" in -DCOSMA_WITH_APPS=NO .. > cmake.log 2>&1 ;; esac - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 install -d ${pkg_install_dir}/lib/cuda [ -f libs/grid2grid/src/grid2grid/*.a ] && install -m 644 libs/grid2grid/src/grid2grid/*.a ${pkg_install_dir}/lib/cuda >> install.log 2>&1 [ -f libs/options/*.so ] && install -m 644 libs/options/*.so ${pkg_install_dir}/lib/cuda >> install.log 2>&1 diff --git a/tools/toolchain/scripts/stage4/install_libxsmm.sh b/tools/toolchain/scripts/stage4/install_libxsmm.sh index b5b1a34b00..401d6e3887 100755 --- a/tools/toolchain/scripts/stage4/install_libxsmm.sh +++ b/tools/toolchain/scripts/stage4/install_libxsmm.sh @@ -57,7 +57,7 @@ EOF # stage of building an executable that uses the libxsmm # library cd libxsmm-${libxsmm_ver} - make -j $NPROCS \ + make -j $(get_nprocs) \ MALLOC=0 \ INTRINSICS=1 \ CXX=$CXX \ @@ -65,7 +65,7 @@ EOF FC=$FC \ PREFIX=${pkg_install_dir} \ > make.log 2>&1 - make -j $NPROCS \ + make -j $(get_nprocs) \ MALLOC=0 \ INTRINSICS=1 \ CXX=$CXX \ diff --git a/tools/toolchain/scripts/stage4/install_scalapack.sh b/tools/toolchain/scripts/stage4/install_scalapack.sh index 0c50099e79..a5fe8aa12a 100755 --- a/tools/toolchain/scripts/stage4/install_scalapack.sh +++ b/tools/toolchain/scripts/stage4/install_scalapack.sh @@ -55,7 +55,7 @@ case "$with_scalapack" in -DCMAKE_INSTALL_PREFIX="${pkg_install_dir}" \ -DCMAKE_INSTALL_LIBDIR="lib" \ -DCMAKE_BUILD_TYPE=Release .. > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 make install >> make.log 2>&1 popd > /dev/null diff --git a/tools/toolchain/scripts/stage5/install_elpa.sh b/tools/toolchain/scripts/stage5/install_elpa.sh index cfffbab925..ae1780be1c 100755 --- a/tools/toolchain/scripts/stage5/install_elpa.sh +++ b/tools/toolchain/scripts/stage5/install_elpa.sh @@ -117,7 +117,7 @@ case "$with_elpa" in LDFLAGS="-Wl,--enable-new-dtags ${MATH_LDFLAGS} ${SCALAPACK_LDFLAGS} ${cray_ldflags}" \ LIBS="${SCALAPACK_LIBS} ${MATH_LIBS}" \ > configure.log 2>&1 - make -j $NPROCS ${ELPA_MAKEOPTS} > make.log 2>&1 + make -j $(get_nprocs) ${ELPA_MAKEOPTS} > make.log 2>&1 make install > install.log 2>&1 cd .. done diff --git a/tools/toolchain/scripts/stage5/install_ptscotch.sh b/tools/toolchain/scripts/stage5/install_ptscotch.sh index ee72a04401..3a18ee80e7 100755 --- a/tools/toolchain/scripts/stage5/install_ptscotch.sh +++ b/tools/toolchain/scripts/stage5/install_ptscotch.sh @@ -42,7 +42,7 @@ case "$with_ptscotch" in -e "s|\(^CCD\).*|\1 = $MPICC|g" \ -e "s|\(^CFLAGS\).*|\1 = $CFLAGS -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Drestrict=__restrict -DIDXSIZE64 ${MPI_CFLAGS}|g" \ > Makefile.inc - make scotch -j $NPROCS > make.log 2>&1 + make scotch -j $(get_nprocs) > make.log 2>&1 make ptscotch -j $NROCS > make.log 2>&1 # PT-scotch make install is buggy in that it cannot create # intermediate directories diff --git a/tools/toolchain/scripts/stage5/install_superlu.sh b/tools/toolchain/scripts/stage5/install_superlu.sh index 5065308cfa..7ce7633d85 100755 --- a/tools/toolchain/scripts/stage5/install_superlu.sh +++ b/tools/toolchain/scripts/stage5/install_superlu.sh @@ -44,7 +44,7 @@ case "$with_superlu" in -DCMAKE_INSTALL_PREFIX=${pkg_install_dir} \ -DCMAKE_INSTALL_LIBDIR=${pkg_install_dir}/lib \ .. > cmake.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 make install > install.log 2>&1 cd .. diff --git a/tools/toolchain/scripts/stage6/install_gsl.sh b/tools/toolchain/scripts/stage6/install_gsl.sh index 402f0169f1..f3e4164572 100755 --- a/tools/toolchain/scripts/stage6/install_gsl.sh +++ b/tools/toolchain/scripts/stage6/install_gsl.sh @@ -37,8 +37,8 @@ case "$with_gsl" in --libdir="${pkg_install_dir}/lib" \ --enable-shared \ --enable-static > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 - make -j $NPROCS install > install.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 + make -j $(get_nprocs) install > install.log 2>&1 cd .. write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage6/$(basename ${SCRIPT_NAME})" fi diff --git a/tools/toolchain/scripts/stage6/install_plumed.sh b/tools/toolchain/scripts/stage6/install_plumed.sh index 9a0fdba916..87037f96ec 100755 --- a/tools/toolchain/scripts/stage6/install_plumed.sh +++ b/tools/toolchain/scripts/stage6/install_plumed.sh @@ -54,7 +54,7 @@ case "$with_plumed" in LIBS="${libs}" \ --prefix=${pkg_install_dir} \ --libdir="${pkg_install_dir}/lib" > configure.log 2>&1 - make VERBOSE=1 -j $NPROCS > make.log 2>&1 + make VERBOSE=1 -j $(get_nprocs) > make.log 2>&1 make install > install.log 2>&1 write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage6/$(basename ${SCRIPT_NAME})" fi diff --git a/tools/toolchain/scripts/stage7/install_hdf5.sh b/tools/toolchain/scripts/stage7/install_hdf5.sh index eeb03e9646..8b0f138b6f 100755 --- a/tools/toolchain/scripts/stage7/install_hdf5.sh +++ b/tools/toolchain/scripts/stage7/install_hdf5.sh @@ -39,8 +39,8 @@ case "$with_hdf5" in --libdir="${pkg_install_dir}/lib" \ --enable-shared \ > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 - make -j $NPROCS install > install.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 + make -j $(get_nprocs) install > install.log 2>&1 cd .. write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage7/$(basename ${SCRIPT_NAME})" fi diff --git a/tools/toolchain/scripts/stage7/install_libvdwxc.sh b/tools/toolchain/scripts/stage7/install_libvdwxc.sh index a052fe67bf..ddf02de811 100755 --- a/tools/toolchain/scripts/stage7/install_libvdwxc.sh +++ b/tools/toolchain/scripts/stage7/install_libvdwxc.sh @@ -81,7 +81,7 @@ case "$with_libvdwxc" in --with-mpi \ >> configure.log 2>&1 fi - make -j $NPROCS > compile.log 2>&1 + make -j $(get_nprocs) > compile.log 2>&1 make install > compile.log 2>&1 write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage7/$(basename ${SCRIPT_NAME})" fi diff --git a/tools/toolchain/scripts/stage7/install_libvori.sh b/tools/toolchain/scripts/stage7/install_libvori.sh index 2d198dd2a0..bfe58d22fe 100755 --- a/tools/toolchain/scripts/stage7/install_libvori.sh +++ b/tools/toolchain/scripts/stage7/install_libvori.sh @@ -47,9 +47,9 @@ case "${with_libvori:=__INSTALL__}" in -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE \ .. > cmake.log 2>&1 - CMAKE_BUILD_PARALLEL_LEVEL="${NPROCS}" cmake --build . > build.log 2>&1 - CMAKE_BUILD_PARALLEL_LEVEL="${NPROCS}" cmake --build . --target test > test.log 2>&1 - CMAKE_BUILD_PARALLEL_LEVEL="${NPROCS}" cmake --build . --target install > install.log 2>&1 + CMAKE_BUILD_PARALLEL_LEVEL="$(get_nprocs)" cmake --build . > build.log 2>&1 + CMAKE_BUILD_PARALLEL_LEVEL="$(get_nprocs)" cmake --build . --target test > test.log 2>&1 + CMAKE_BUILD_PARALLEL_LEVEL="$(get_nprocs)" cmake --build . --target install > install.log 2>&1 write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage7/$(basename "${SCRIPT_NAME}")" fi diff --git a/tools/toolchain/scripts/stage7/install_spglib.sh b/tools/toolchain/scripts/stage7/install_spglib.sh index 7e79597845..b810b61aa7 100755 --- a/tools/toolchain/scripts/stage7/install_spglib.sh +++ b/tools/toolchain/scripts/stage7/install_spglib.sh @@ -39,7 +39,7 @@ case "$with_spglib" in mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX="${pkg_install_dir}" -DCMAKE_BUILD_TYPE=Release .. > configure.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 make install >> make.log 2>&1 mkdir ${pkg_install_dir}/include/spglib cp ${pkg_install_dir}/include/{,spglib/}spglib.h diff --git a/tools/toolchain/scripts/stage8/install_sirius.sh b/tools/toolchain/scripts/stage8/install_sirius.sh index e3bd33df0d..84fddb4e71 100755 --- a/tools/toolchain/scripts/stage8/install_sirius.sh +++ b/tools/toolchain/scripts/stage8/install_sirius.sh @@ -138,7 +138,7 @@ case "$with_sirius" in -DUSE_ELPA=OFF \ ${COMPILATION_OPTIONS} .. > compile.log 2>&1 - make -j $NPROCS -C src >> compile.log 2>&1 + make -j $(get_nprocs) -C src >> compile.log 2>&1 install -d ${pkg_install_dir}/include >> install.log 2>&1 install -d ${pkg_install_dir}/lib >> install.log 2>&1 @@ -163,7 +163,7 @@ case "$with_sirius" in -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_CXX_COMPILER="${MPICXX}" \ -DCMAKE_C_COMPILER="${MPICC}" ${COMPILATION_OPTIONS} .. >> compile.log 2>&1 - make -j $NPROCS -C src >> compile.log 2>&1 + make -j $(get_nprocs) -C src >> compile.log 2>&1 install -d ${pkg_install_dir}/lib/cuda install -d ${pkg_install_dir}/include/cuda install -m 644 src/*.a ${pkg_install_dir}/lib/cuda >> install.log 2>&1 diff --git a/tools/toolchain/scripts/stage8/install_spfft.sh b/tools/toolchain/scripts/stage8/install_spfft.sh index f3be9c5729..1e0e3bf6a5 100755 --- a/tools/toolchain/scripts/stage8/install_spfft.sh +++ b/tools/toolchain/scripts/stage8/install_spfft.sh @@ -45,8 +45,8 @@ case "$with_spfft" in -DSPFFT_MPI=ON \ -DSPFFT_INSTALL=ON \ .. > cmake.log 2>&1 - make -j $NPROCS > make.log 2>&1 - make -j $NPROCS install > install.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 + make -j $(get_nprocs) install > install.log 2>&1 cd .. if [ "$ENABLE_CUDA" = "__TRUE__" ]; then @@ -62,7 +62,7 @@ case "$with_spfft" in -DSPFFT_INSTALL=ON \ -DSPFFT_GPU_BACKEND=CUDA \ .. > cmake.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 install -d ${pkg_install_dir}/lib/cuda [ -f src/libspfft.a ] && install -m 644 src/*.a ${pkg_install_dir}/lib/cuda >> install.log 2>&1 [ -f src/libspfft.so ] && install -m 644 src/*.so ${pkg_install_dir}/lib/cuda >> install.log 2>&1 diff --git a/tools/toolchain/scripts/stage8/install_spla.sh b/tools/toolchain/scripts/stage8/install_spla.sh index 78cf047385..f7429cd70c 100755 --- a/tools/toolchain/scripts/stage8/install_spla.sh +++ b/tools/toolchain/scripts/stage8/install_spla.sh @@ -46,8 +46,8 @@ case "$with_spla" in -DSPLA_INSTALL=ON \ -DSPLA_STATIC=OM \ .. > cmake.log 2>&1 - make -j $NPROCS > make.log 2>&1 - make -j $NPROCS install > install.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 + make -j $(get_nprocs) install > install.log 2>&1 cd .. if [ "$ENABLE_CUDA" = "__TRUE__" ]; then @@ -64,7 +64,7 @@ case "$with_spla" in -DSPLA_INSTALL=ON \ -DSPLA_GPU_BACKEND=CUDA \ .. > cmake.log 2>&1 - make -j $NPROCS > make.log 2>&1 + make -j $(get_nprocs) > make.log 2>&1 install -d ${pkg_install_dir}/lib/cuda [ -f src/libspla.a ] && install -m 644 src/*.a ${pkg_install_dir}/lib/cuda >> install.log 2>&1 [ -f src/libspla.so ] && install -m 644 src/*.so ${pkg_install_dir}/lib/cuda >> install.log 2>&1 diff --git a/tools/toolchain/scripts/tool_kit.sh b/tools/toolchain/scripts/tool_kit.sh index c2c166c948..011627dd52 100644 --- a/tools/toolchain/scripts/tool_kit.sh +++ b/tools/toolchain/scripts/tool_kit.sh @@ -135,7 +135,9 @@ reverse() ( # get the number of processes available for compilation get_nprocs() { - if $(command -v nproc >&- 2>&-); then + if [ -n "${NPROCS_OVERWRITE}" ]; then + echo "${NPROCS_OVERWRITE}" + elif $(command -v nproc >&- 2>&-); then echo $(nproc --all) else echo 1