diff --git a/contrib/getfiles.nwchem b/contrib/getfiles.nwchem index 4aeb1d3803..5bbd31ec3e 100755 --- a/contrib/getfiles.nwchem +++ b/contrib/getfiles.nwchem @@ -1,57 +1,26 @@ #!/usr/bin/env bash # # $Id$ +source $NWCHEM_TOP/src/libext/libext_utils/getfiles_utils.sh cd $NWCHEM_TOP/src/nwpw/nwpwlib/nwpwxc/ rm -f dftd3.tgz wget https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3/dftd3.tgz +#openblas cd $NWCHEM_TOP/src/libext/openblas -VERSION=0.3.29 -rm -rf OpenBLAS*gz -rm -rf OpenBLAS* -tries=1 -until [ "$tries" -ge 6 ] -do - if [ "$tries" -gt 1 ]; then sleep 9; echo attempt no. $tries ; fi - curl -L https://github.com/OpenMathLib/OpenBLAS/archive/v${VERSION}.tar.gz -o OpenBLAS-${VERSION}.tar.gz ; - # check tar.gz integrity - gzip -t OpenBLAS-${VERSION}.tar.gz >& /dev/null - if [ $? -eq 0 ]; then break ; fi - tries=$((tries+1)) ; done -cd $NWCHEM_TOP/src/libext/scalapack +rm -rf OpenB* openblas* +get_openblas #scalapack -COMMIT=a23c2cdc6586c427686f6097ae66bb54ef693571 -echo "downloading" "scalapack-$COMMIT.tar.gz" -rm -rf scalapack-$COMMIT.tar.gz scalapack* -tries=1 -until [ "$tries" -ge 6 ] -do - if [ "$tries" -gt 1 ]; then sleep 9; echo attempt no. $tries ; fi - curl -L https://github.com/Reference-ScaLAPACK/scalapack/archive/$COMMIT.tar.gz -o scalapack-$COMMIT.tar.gz - # check tar.gz integrity - gzip -t scalapack-$COMMIT.tar.gz >& /dev/null - if [ $? -eq 0 ]; then break ; fi - tries=$((tries+1)) -done +cd $NWCHEM_TOP/src/libext/scalapack +rm -rf scalapa* +get_scalapack #ELPA cd $NWCHEM_TOP/src/libext/elpa -rm -rf elpa*tar.gz elpa* -SHORTVERSION=2025.06.002 -VERSION=new_release_${SHORTVERSION} -# echo curl -L https://github.com/marekandreas/elpa/archive/refs/tags/${VERSION}.tar.gz -o elpa-${VERSION}.tar.gz -# curl -L https://github.com/marekandreas/elpa/archive/refs/tags/${VERSION}.tar.gz -o elpa-${VERSION}.tar.gz -tries=1 -until [ "$tries" -ge 6 ] -do - if [ "$tries" -gt 1 ]; then echo sleeping for 9s ;sleep 9; echo attempt no. $tries ; fi - echo curl https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/${VERSION}/elpa-${VERSION}.tar.gz -o elpa-${VERSION}.tar.gz - curl -L https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/${VERSION}/elpa-${VERSION}.tar.gz -o elpa-${VERSION}.tar.gz - gzip -t elpa-${VERSION}.tar.gz >& /dev/null - if [ $? -eq 0 ]; then break ; fi - tries=$((tries+1)) ; done +rm -rf elpa* +get_elpa #caching if [ ! -z "$1" ]; then rsync -av $NWCHEM_TOP/src/nwpw/nwpwlib/nwpwxc/dftd3.tgz "$1"/. rsync -av $NWCHEM_TOP/src/libext/openblas/OpenBLAS*gz "$1"/. - rsync -av $NWCHEM_TOP/src/libext/scalapack/scalapack*zip "$1"/. + rsync -av $NWCHEM_TOP/src/libext/scalapack/scalapack*tar*gz "$1"/. rsync -av $NWCHEM_TOP/src/libext/elpa/elpa*tar.gz "$1"/. fi diff --git a/src/libext/elpa/build_elpa.sh b/src/libext/elpa/build_elpa.sh index 10d43d5566..054b50ea25 100755 --- a/src/libext/elpa/build_elpa.sh +++ b/src/libext/elpa/build_elpa.sh @@ -19,30 +19,9 @@ arch=`uname -m` #SHORTVERSION=2023.05.001 SHORTVERSION=2025.06.002 VERSION=new_release_${SHORTVERSION} +source ../libext_utils/getfiles_utils.sh +get_elpa $SHORTVERSION echo mpif90 is `which mpif90` -if [ -f elpa-${VERSION}.tar.gz ]; then - echo "using existing" elpa-${VERSION}.tar.gz -else - rm -rf elpa* - ELPA_URL=("https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/${VERSION}/elpa-${VERSION}.tar.gz" \ - "https://web.archive.org/web/20260214233634/https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_2025.06.002/elpa-new_release_2025.06.002.tar.gz") - # curl -L https://github.com/marekandreas/elpa/archive/refs/tags/${VERSION}.tar.gz -o elpa-${VERSION}.tar.gz - for url in "${ELPA_URL[@]}" - do - echo using $url - tries=1 - until [ "$tries" -ge 3 ] - do - if [ "$tries" -gt 1 ]; then echo sleeping for 9s ;sleep 9; echo attempt no. $tries ; fi - curl -L --progress-bar $url -o elpa-${VERSION}.tar.gz - gzip -t elpa-${VERSION}.tar.gz >& /dev/null - if [ $? -eq 0 ]; then break ; fi - tries=$((tries+1)) - done - gzip -t elpa-${VERSION}.tar.gz >& /dev/null - if [ $? -eq 0 ]; then break ; fi - done -fi tar xzf elpa-${VERSION}.tar.gz ln -sf elpa-${VERSION} elpa cd elpa diff --git a/src/libext/libext_utils/getfiles_utils.sh b/src/libext/libext_utils/getfiles_utils.sh new file mode 100644 index 0000000000..7dd420ac48 --- /dev/null +++ b/src/libext/libext_utils/getfiles_utils.sh @@ -0,0 +1,90 @@ + +get_elpa(){ + if [[ $# -eq 0 ]] ; then + elpa_shortv=2025.06.002 + else + elpa_shortv=$1 + fi + echo "Parameter #1 is $1" + VERSION=new_release_${elpa_shortv} + echo ELPA VERSION is $VERSION + if [ -f elpa-${VERSION}.tar.gz ]; then + echo "using existing" elpa-${VERSION}.tar.gz + else + rm -rf elpa* + ELPA_URL=("https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/${VERSION}/elpa-${VERSION}.tar.gz" \ + "https://web.archive.org/web/20260214233634/https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_2025.06.002/elpa-new_release_2025.06.002.tar.gz") + for url in "${ELPA_URL[@]}" + do + echo using $url + tries=1 + until [ "$tries" -ge 3 ] + do + if [ "$tries" -gt 1 ]; then echo sleeping for 9s ;sleep 9; echo attempt no. $tries ; fi + curl -L --progress-bar $url -o elpa-${VERSION}.tar.gz + gzip -t elpa-${VERSION}.tar.gz >& /dev/null + if [ $? -eq 0 ]; then break ; fi + tries=$((tries+1)) + done + gzip -t elpa-${VERSION}.tar.gz >& /dev/null + if [ $? -eq 0 ]; then return 0 ; fi + done + fi + return 1 +} +get_scalapack(){ + if [[ $# -eq 0 ]] ; then + # version=2.1.0 + COMMIT=a23c2cdc6586c427686f6097ae66bb54ef693571 + #COMMIT=bd1768b91262b4cdc7dd5f87b373b9b18eda4636 + #COMMIT=b935167ca4d244735abc04a3cd4f6d56699702a0 + else + COMMIT=$1 + fi + echo "Parameter #1 is $1" + echo Scalapack commit is $COMMIT + rm -rf scalapack + if [[ -f "scalapack-$COMMIT.tar.gz" ]]; then + echo "using existing" "scalapack-$COMMIT.tar.gz" + else + echo "downloading" "scalapack-$COMMIT.tar.gz" + rm -f scalapack-$COMMIT.tar.gz + tries=1 + until [ "$tries" -ge 6 ] + do + if [ "$tries" -gt 1 ]; then sleep 9; echo attempt no. $tries ; fi + curl -L https://github.com/Reference-ScaLAPACK/scalapack/archive/$COMMIT.tar.gz -o scalapack-$COMMIT.tar.gz + # check tar.gz integrity + gzip -t scalapack-$COMMIT.tar.gz >& /dev/null + if [ $? -eq 0 ]; then return 0 ; fi + tries=$((tries+1)) ; done + fi + return 1 +} + +get_openblas() +{ + if [[ $# -eq 0 ]] ; then + VERSION=0.3.29 + else + VERSION=$1 + fi + echo "Parameter #1 is $1" + echo OpenBLAS VERSION is $VERSION + if [ -f OpenBLAS-${VERSION}.tar.gz ]; then + echo "using existing" OpenBLAS-${VERSION}.tar.gz + else + rm -rf OpenBLAS* openblas* + tries=1 + until [ "$tries" -ge 6 ] + do + if [ "$tries" -gt 1 ]; then sleep 9; echo attempt no. $tries ; fi + curl -L https://github.com/OpenMathLib/OpenBLAS/archive/v${VERSION}.tar.gz -o OpenBLAS-${VERSION}.tar.gz ; + # check tar.gz integrity + gzip -t OpenBLAS-${VERSION}.tar.gz >& /dev/null + if [ $? -eq 0 ]; then return 0 ; fi + tries=$((tries+1)) ; done + fi + if [ $? -ne 0 ]; then echo "openBLAS tarball not ready"; rm -f OpenBLAS-${VERSION}.tar.gz; return 1 ; fi + return 0 +} diff --git a/src/libext/openblas/build_openblas.sh b/src/libext/openblas/build_openblas.sh index 00accc8589..5981797aa3 100755 --- a/src/libext/openblas/build_openblas.sh +++ b/src/libext/openblas/build_openblas.sh @@ -1,23 +1,9 @@ #!/usr/bin/env bash #set -v arch=`uname -m` +source ../libext_utils/getfiles_utils.sh VERSION=0.3.29 -#COMMIT=974acb39ff86121a5a94be4853f58bd728b56b81 -BRANCH=develop -if [ -f OpenBLAS-${VERSION}.tar.gz ]; then - echo "using existing" OpenBLAS-${VERSION}.tar.gz -else - rm -rf OpenBLAS* - tries=1 ; until [ "$tries" -ge 6 ] ; do - if [ "$tries" -gt 1 ]; then sleep 9; echo attempt no. $tries ; fi - curl -L https://github.com/OpenMathLib/OpenBLAS/archive/v${VERSION}.tar.gz -o OpenBLAS-${VERSION}.tar.gz ; - # check tar.gz integrity - gzip -t OpenBLAS-${VERSION}.tar.gz >& /dev/null - if [ $? -eq 0 ]; then break ; fi - tries=$((tries+1)) ; done -fi -gzip -t OpenBLAS-${VERSION}.tar.gz >& /dev/null -if [ $? -ne 0 ]; then echo "openBLAS tarball not ready"; rm -f OpenBLAS-${VERSION}.tar.gz; exit 1 ; fi +get_openblas $VERSION tar xzf OpenBLAS-${VERSION}.tar.gz ln -sf OpenBLAS-${VERSION} OpenBLAS cd OpenBLAS diff --git a/src/libext/scalapack/build_scalapa.sh b/src/libext/scalapack/build_scalapa.sh index b917f12901..a3f35ff1b0 100755 --- a/src/libext/scalapack/build_scalapa.sh +++ b/src/libext/scalapack/build_scalapa.sh @@ -139,31 +139,11 @@ fi if [[ ! -z "$BUILD_OPENBLAS" ]] ; then BLASOPT="-L`pwd`/../lib -lnwc_openblas" fi -#git clone https://github.com/scibuilder/scalapack.git -#svn co --non-interactive --trust-server-cert https://icl.utk.edu/svn/scalapack-dev/scalapack/trunk/ scalapack -VERSION=2.1.0 -#curl -L https://github.com/Reference-ScaLAPACK/scalapack/archive/v${VERSION}.tar.gz -o scalapack.tgz -#COMMIT=bc6cad585362aa58e05186bb85d4b619080c45a9 -#COMMIT=ea5d20668a6b8bbee645b7ffe44623c623969d33 -COMMIT=5bad7487f496c811192334640ce4d3fc5f88144b -COMMIT=782e739f8eb0e7f4d51ad7dd23fc1d03dc99d240 +source ../libext_utils/getfiles_utils.sh COMMIT=a23c2cdc6586c427686f6097ae66bb54ef693571 #COMMIT=bd1768b91262b4cdc7dd5f87b373b9b18eda4636 #COMMIT=b935167ca4d244735abc04a3cd4f6d56699702a0 -rm -rf scalapack -if [[ -f "scalapack-$COMMIT.tar.gz" ]]; then - echo "using existing" "scalapack-$COMMIT.tar.gz" -else - echo "downloading" "scalapack-$COMMIT.tar.gz" - rm -f scalapack-$COMMIT.tar.gz - tries=1 ; until [ "$tries" -ge 6 ] ; do - if [ "$tries" -gt 1 ]; then sleep 9; echo attempt no. $tries ; fi - curl -L https://github.com/Reference-ScaLAPACK/scalapack/archive/$COMMIT.tar.gz -o scalapack-$COMMIT.tar.gz - # check tar.gz integrity - gzip -t scalapack-$COMMIT.tar.gz >& /dev/null - if [ $? -eq 0 ]; then break ; fi - tries=$((tries+1)) ; done -fi +get_scalapack $COMMIT tar xzf scalapack-$COMMIT.tar.gz ln -sf scalapack-*$COMMIT scalapack #ln -sf scalapack-${VERSION} scalapack diff --git a/travis/cache_fetch.sh b/travis/cache_fetch.sh index 178b2707c2..44b36d6472 100755 --- a/travis/cache_fetch.sh +++ b/travis/cache_fetch.sh @@ -14,4 +14,5 @@ set -v ls -lart /home/runner/work/nwchem/nwchem/src/libext/mpich || true rsync -av ~/cache/dftd3.tgz src/nwpw/nwpwlib/nwpwxc/. || true rsync -av ~/cache/OpenBLAS*gz src/libext/openblas/. || true - rsync -av ~/cache/scalapack*zip src/libext/scalapack/. || true + rsync -av ~/cache/scalapack*tar*gz src/libext/scalapack/. || true + rsync -av ~/cache/elpa*tar*gz src/libext/elpa/. || true