diff --git a/gpaw/build/examples/BSC-MareNostrum4-skylake/build_20.1.0_Python38_FFTW_icc.BSC.sh b/gpaw/build/examples/BSC-MareNostrum4-skylake/build_20.1.0_Python38_FFTW_icc.BSC.sh new file mode 100755 index 0000000000000000000000000000000000000000..4d42553486fad8860d6b34c077092af0ce522616 --- /dev/null +++ b/gpaw/build/examples/BSC-MareNostrum4-skylake/build_20.1.0_Python38_FFTW_icc.BSC.sh @@ -0,0 +1,1072 @@ +#!/bin/bash +# +# Installation script for GPAW 20.1.0: +# * We compile our own Python as this is the best guarantee to not have to +# struggle with compatibility problems between various compilers used for +# various components +# * Using the matching version of ase, 3.19.3 +# * Compiling with the Intel compilers +# +# The FFT library is discovered at runtime. With the settings used in this script +# this should be MKL FFT, but it is possible to change this at runtime to either +# MKL, FFTW or the built-in NumPy FFT routines, see the installation instructions +# (link below). +# +# The original installation instructions for GPAW can be found at +# https://gitlab.com/gpaw/gpaw/-/blob/20.1.0/doc/install.rst +# + +packageID='20.1.0-Python38-FFTW-icc' +packageName='GPAW-UEABS' + +echo -e "\n###### Building $packageName/$packageID from $0\n\n" + +# The next three variables are only used to load the right UEABS module +# and to give example values for variable settings in comments. +install_root=$PROJECT/UEABS +systemID=BSC-MareNostrum4-skylake + +module purge +MODULEPATH=$install_root/$systemID/Modules:$MODULEPATH + +# +# The following UEABS_ variables are needed: +# We set them manually as we have no UEABS module for this system at the moment. +# +# Directory to put the downloaded sources of the packages. +UEABS_DOWNLOADS=$install_root/SOURCES +# Directory where packages should be installed. +UEABS_PACKAGES=$install_root/$systemID/Packages +# Directory where modules are installed +UEABS_MODULES=$install_root/$systemID/Modules + +install_dir=$UEABS_PACKAGES/$packageName/$packageID +modules_dir=$UEABS_MODULES/$packageName +#build_dir="/dev/shm/$USER/$packageName/$packageID" +build_dir="$SCRATCH/UEABS-tmp/$packageName/$packageID" + +# Software versions +python_version='3.8.7' +zlib_version='1.2.11' +ncurses_version='6.2' +readline_version='8.0' +sqlite_version='3.33.0' +sqlite_download='3330000' +libffi_version='3.3' +fftw_version='3.3.8' +libxc_version='4.3.4' + +setuptools_version='56.0.0' +setuptoolsscm_version='6.0.1' +wheel_version='0.35.1' + +attrs_version='20.3.0' +pybind11_version='2.6.2' +cython_version='0.29.21' + +py_version='1.10.0' +pyparsing_version='2.4.7' +toml_version='0.10.2' +iniconfig_version='1.1.1' +packaging_version='20.9' +pytest_version='6.2.3' + +numpy_version='1.18.5' +scipy_version='1.5.4' +ase_version='3.19.3' +GPAW_version='20.1.0' + +GPAWsetups_version='0.9.20000' # Check version on https://wiki.fysik.dtu.dk/gpaw/setups/setups.html + +# Compiler settings +#compiler_module='intel/2020.1' +#mpi_module='impi/2018.4' +#math_module='mkl/2020.1' +compiler_module='intel/2018.4' +mpi_module='impi/2018.4' +math_module='mkl/2018.4' +opt_level='-O2' +proc_opt_flags='-xHost' +fp_opt_flags='-ftz -fp-speculation=safe -fp-model source' +parallel=16 + +py_maj_min='3.8' + +################################################################################ +# +# Prepare the system +# + +# +# Load modules +# +mkdir -p $modules_dir +module load $compiler_module +module load $mpi_module +module load $math_module + +# +# Create the directories and make sure they are clean if that matters +# +/usr/bin/mkdir -p $UEABS_DOWNLOADS + +/usr/bin/mkdir -p $install_dir +/usr/bin/rm -rf $install_dir +/usr/bin/mkdir -p $install_dir + +/usr/bin/mkdir -p $modules_dir + +/usr/bin/mkdir -p $build_dir +/usr/bin/rm -rf $build_dir +/usr/bin/mkdir -p $build_dir + + +################################################################################ +# +# Download components +# + +echo -e "\n### Downloading files...\n" + +function wget() { + + echo "Please download $1 to $UEABS_DOWNLOADS" + +} + +cd $UEABS_DOWNLOADS + +downloads_OK=1 + +# zlib: https://www.zlib.net/zlib-1.2.11.tar.gz +zlib_file="zlib-$zlib_version.tar.gz" +zlib_url="https://www.zlib.net" +[[ -f $zlib_file ]] || wget "$zlib_url/$zlib_file" +[[ -f $zlib_file ]] || downloads_OK=0 + +# ncurses: https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.2.tar.gz +ncurses_file="ncurses-$ncurses_version.tar.gz" +ncurses_url="https://ftp.gnu.org/pub/gnu/ncurses" +[[ -f $ncurses_file ]] || wget "$ncurses_url/$ncurses_file" +[[ -f $ncurses_file ]] || downloads_OK=0 + +# readline: https://ftp.gnu.org/pub/gnu/readline/readline-8.0.tar.gz +readline_file="readline-$readline_version.tar.gz" +readline_url="https://ftp.gnu.org/pub/gnu/readline" +[[ -f $readline_file ]] || wget "$readline_url/$readline_file" +[[ -f $readline_file ]] || downloads_OK=0 + +# sqlite: https://www.sqlite.org/2020/sqlite-autoconf-3330000.tar.gz +sqlite_file="sqlite-autoconf-$sqlite_download.tar.gz" +sqlite_url="https://www.sqlite.org/2020" +[[ -f $sqlite_file ]] || wget "$sqlite_url/$sqlite_file" +[[ -f $sqlite_file ]] || downloads_OK=0 + +# libffi: https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gz +libffi_file="libffi-$libffi_version.tar.gz" +libffi_url="https://github.com/libffi/libffi/releases/download/v$libffi_version" +[[ -f $libffi_file ]] || wget "$libffi_url/$libffi_file" +[[ -f $libffi_file ]] || downloads_OK=0 + +# FFTW: http://www.fftw.org/fftw-3.3.8.tar.gz +fftw_file="fftw-$fftw_version.tar.gz" +fftw_url="http://www.fftw.org" +[[ -f $fftw_file ]] || wget "$fftw_url/$fftw_file" +[[ -f $fftw_file ]] || downloads_OK=0 + +# https://gitlab.com/libxc/libxc/-/archive/4.3.4/libxc-4.3.4.tar.bz2 +libxc_file="libxc-$libxc_version.tar.bz2" +libxc_url="https://gitlab.com/libxc/libxc/-/archive/$libxc_version" +[[ -f $libxc_file ]] || wget "$libxc_url/$libxc_file" +[[ -f $libxc_file ]] || downloads_OK=0 + +# Python: https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz +python_file="Python-$python_version.tar.xz" +python_url="https://www.python.org/ftp/python/$python_version" +[[ -f $python_file ]] || wget "$python_url/$python_file" +[[ -f $python_file ]] || downloads_OK=0 + +# Downloading setuptools. +setuptools_file="setuptools-$setuptools_version.tar.gz" +setuptools_url="https://pypi.python.org/packages/source/s/setuptools" +[[ -f $setuptools_file ]] || wget $setuptools_url/$setuptools_file +[[ -f $setuptools_file ]] || downloads_OK=0 + +# Downloading setuptoolssscm so that we can gather all sources for reproducibility. +setuptoolsscm_file="setuptools_scm-$setuptoolsscm_version.tar.gz" +setuptoolsscm_url="https://pypi.python.org/packages/source/s/setuptools_scm" +[[ -f $setuptoolsscm_file ]] || wget $setuptoolsscm_url/$setuptoolsscm_file +[[ -f $setuptoolsscm_file ]] || downloads_OK=0 + +# Downloading wheel so that we can gather all sources for reproducibility. +wheel_file="wheel-$wheel_version.tar.gz" +wheel_url="https://pypi.python.org/packages/source/w/wheel" +[[ -f $wheel_file ]] || wget "$wheel_url/$wheel_file" +[[ -f $wheel_file ]] || downloads_OK=0 + +# Downloading attrs so that we can gather all sources for reproducibility. +attrs_file="attrs-$attrs_version.tar.gz" +attrs_url="https://pypi.python.org/packages/source/a/attrs" +[[ -f $attrs_file ]] || wget $attrs_url/$attrs_file +[[ -f $attrs_file ]] || downloads_OK=0 + +# Downloading pybind11 so that we can gather all sources for reproducibility. +pybind11_file="pybind11-$pybind11_version.tar.gz" +pybind11_url="https://pypi.python.org/packages/source/p/pybind11" +[[ -f $pybind11_file ]] || wget $pybind11_url/$pybind11_file +[[ -f $pybind11_file ]] || downloads_OK=0 + +# Downloading Cython so that we can gather all sources for reproducibility. +cython_file="Cython-$cython_version.tar.gz" +cython_url="https://pypi.python.org/packages/source/c/cython" +[[ -f $cython_file ]] || wget "$cython_url/$cython_file" +[[ -f $cython_file ]] || downloads_OK=0 + +# Downloading py so that we can gather all sources for reproducibility. +py_file="py-$py_version.tar.gz" +py_url="https://pypi.python.org/packages/source/p/py" +[[ -f $py_file ]] || wget $py_url/$py_file +[[ -f $py_file ]] || downloads_OK=0 + +# Downloading pyparsing so that we can gather all sources for reproducibility. +pyparsing_file="pyparsing-$pyparsing_version.tar.gz" +pyparsing_url="https://pypi.python.org/packages/source/p/pyparsing" +[[ -f $pyparsing_file ]] || wget $pyparsing_url/$pyparsing_file +[[ -f $pyparsing_file ]] || downloads_OK=0 + +# Downloading toml so that we can gather all sources for reproducibility. +toml_file="toml-$toml_version.tar.gz" +toml_url="https://pypi.python.org/packages/source/t/toml" +[[ -f $toml_file ]] || wget $toml_url/$toml_file +[[ -f $toml_file ]] || downloads_OK=0 + +# Downloading iniconfig so that we can gather all sources for reproducibility. +iniconfig_file="iniconfig-$iniconfig_version.tar.gz" +iniconfig_url="https://pypi.python.org/packages/source/i/iniconfig" +[[ -f $iniconfig_file ]] || wget $iniconfig_url/$iniconfig_file +[[ -f $iniconfig_file ]] || downloads_OK=0 + +# Downloading packaging so that we can gather all sources for reproducibility. +packaging_file="packaging-$packaging_version.tar.gz" +packaging_url="https://pypi.python.org/packages/source/p/packaging" +[[ -f $packaging_file ]] || wget $packaging_url/$packaging_file +[[ -f $packaging_file ]] || downloads_OK=0 + +# Downloading pytest so that we can gather all sources for reproducibility. +pytest_file="pytest-$pytest_version.tar.gz" +pytest_url="https://pypi.python.org/packages/source/p/pytest" +[[ -f $pytest_file ]] || wget $pytest_url/$pytest_file +[[ -f $pytest_file ]] || downloads_OK=0 + +# NumPy needs customizations, so we need to download and unpack the sources +numpy_file="numpy-$numpy_version.zip" +numpy_url="https://pypi.python.org/packages/source/n/numpy" +[[ -f $numpy_file ]] || wget "$numpy_url/$numpy_file" +[[ -f $numpy_file ]] || downloads_OK=0 + +# SciPy +scipy_file="scipy-$scipy_version.tar.gz" +scipy_url="https://pypi.python.org/packages/source/s/scipy" +[[ -f $scipy_file ]] || wget "$scipy_url/$scipy_file" +[[ -f $scipy_file ]] || downloads_OK=0 + +# Downloading ase so that we can gather all sources for reproducibility +ase_file="ase-$ase_version.tar.gz" +ase_url="https://pypi.python.org/packages/source/a/ase" +[[ -f $ase_file ]] || wget "$ase_url/$ase_file" +[[ -f $ase_file ]] || downloads_OK=0 + +# GPAW needs customization, so we need to download and unpack the sources. +GPAW_file="gpaw-$GPAW_version.tar.gz" +GPAW_url="https://pypi.python.org/packages/source/g/gpaw" +[[ -f $GPAW_file ]] || wget "$GPAW_url/$GPAW_file" +[[ -f $GPAW_file ]] || downloads_OK=0 + +# Download GPAW-setup, a number of setup files for GPAW. +# https://wiki.fysik.dtu.dk/gpaw-files/gpaw-setups-0.9.20000.tar.gz +GPAWsetups_file="gpaw-setups-$GPAWsetups_version.tar.gz" +GPAWsetups_url="https://wiki.fysik.dtu.dk/gpaw-files" +[[ -f $GPAWsetups_file ]] || wget "$GPAWsetups_url/$GPAWsetups_file" +[[ -f $GPAWsetups_file ]] || downloads_OK=0 + +[[ $downloads_OK ]] || exit + + +################################################################################ +# +# Set PATH-style variables +# +/usr/bin/mkdir -p $install_dir/bin +PATH="$install_dir/bin:$PATH" +/usr/bin/mkdir -p $install_dir/lib +LD_LIBRARY_PATH="$install_dir/lib:$LD_LIBRARY_PATH" +export LIBRARY_PATH="$LD_LIBRARY_PATH" + + +################################################################################ +# +# Install ncurses +# +# We mirror the two-step EasyBuild install process. This may be overkill, but +# we know it works. +# + +echo -e "\n### Installing ncurses...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$ncurses_file + +cd ncurses-$ncurses_version + +# Configure step 1 +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export CXX=icpc +export CXXFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --with-shared --enable-overwrite --without-ada --enable-symlinks + +# Build step 1 +make -j $parallel + +# Install step 1 +make install + +# Add bin, lib and include to the PATH variables +PATH=$install_dir/bin:$PATH +LIBRARY_PATH=$install_dir/lib:$LIBRARY_PATH +LD_LIBRARY_PATH=$install_dir/lib:$LD_LIBRARY_PATH +CPATH=$install_dir/include:$CPATH + +# Configure step 2 +make distclean +./configure --prefix="$install_dir" \ + --with-shared --enable-overwrite --without-ada --enable-symlinks \ + --enable-ext-colors --enable-widec \ + --includedir=$install_dir/include/ncursesw/ + +# Build step 2 +make -j $parallel + +# Install step 2 +make install + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset CXXFLAGS +echo -e "\n### Finishing ncurses installation...\n" + + +################################################################################ +# +# Install readline +# + +echo -e "\n### Installing readline...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$readline_file + +cd readline-$readline_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export CPPFLAGS="-I$install_dir/include" +export LDFLAGS="-L$install_dir/lib -lncurses" +./configure --prefix="$install_dir" + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset CPPFLAGS +unset LDFLAGS +echo -e "\n### Finishing readline installation...\n" + + +################################################################################ +# +# Install zlib +# + +echo -e "\n### Installing zlib...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$zlib_file + +cd zlib-$zlib_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +echo -e "\n### Finishing zlib installation...\n" + + +################################################################################ +# +# Install libffi +# + +echo -e "\n### Installing libffi...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libffi_file + +cd libffi-$libffi_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-multi-os-directory + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +echo -e "\n### Finishing libffi installation...\n" + + +################################################################################ +# +# Install SQLite +# + +echo -e "\n### Installing SQLite...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$sqlite_file + +cd sqlite-autoconf-$sqlite_download + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC -DSQLITE_DISABLE_INTRINSIC" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset CPPFLAGS +echo -e "\n### Finishing SQLite installation...\n" + + +################################################################################ +# +# Install FFTW +# + +echo -e "\n### Installing FFTW...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$fftw_file + +# Patch the sources to compile with icc +cat >fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpiicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j $parallel + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +export PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install wheel +# +# The BSC system does seem to need setuptools_sscm to install pytest. +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We don't care about version numbers here as it is not important for the +# reproducibility of the benchmarks. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$packageID.lua <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpiicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j $parallel + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +export PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install wheel +# +# The BSC system does seem to need setuptools_sscm to install pytest. +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We don't care about version numbers here as it is not important for the +# reproducibility of the benchmarks. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$packageID.lua <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j $parallel + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We don't care about version numbers here as it is not important for the +# reproducibility of the benchmarks. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +#pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pluggy_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$packageID.lua <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j $parallel + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We don't care about version numbers here as it is not important for the +# reproducibility of the benchmarks. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +#pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pluggy_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$packageID.lua <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j $parallel + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Install wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We don't care about version numbers here as it is not important for the +# reproducibility of the benchmarks. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +#pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pluggy_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$packageID.lua <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j $parallel + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Install wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We don't care about version numbers here as it is not important for the +# reproducibility of the benchmarks. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +#pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pluggy_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$packageID.lua <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpiicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j $parallel + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We don't care about version numbers here as it is not important for the +# reproducibility of the benchmarks. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$modules_dir/$packageID.lua <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpiicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j $parallel + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$download_dir $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$download_dir $UEABS_DOWNLOADS/$pybind11_file + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We don't care about version numbers here as it is not important for the +# reproducibility of the benchmarks. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$modules_dir/$packageID.lua <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpiicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j 32 + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\nInitialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +PATH="$install_dir/bin:$PATH" +LD_LIBRARY_PATH="$install_dir/lib:$LD_LIBRARY_PATH" +LIBRARY_PATH="$install_dir/lib:$LIBRARY_PATH" +PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install setuptools and wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +# setuptools_scm seems to be needed to install py. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We do need to care about version numbers because the LRZ system doesn't allow +# downloading from the compute nodes, so we have to do everything manually in +# advance. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir + +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$modules_dir/$packageID <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpiicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j 32 + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\nInitialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +PATH="$install_dir/bin:$PATH" +LD_LIBRARY_PATH="$install_dir/lib:$LD_LIBRARY_PATH" +LIBRARY_PATH="$install_dir/lib:$LIBRARY_PATH" +PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install setuptools and wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +# setuptools_scm seems to be needed to install py. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We do need to care about version numbers because the LRZ system doesn't allow +# downloading from the compute nodes, so we have to do everything manually in +# advance. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir + +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$modules_dir/$packageID <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j 32 + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +export PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install setuptools and wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +# setuptools_scm seems to be needed to install py. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We do need to care about version numbers because the LRZ system doesn't allow +# downloading from the compute nodes, so we have to do everything manually in +# advance. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir + +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +#pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pluggy_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$modules_dir/$packageID <fftw.patch <&5 + $as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; } + +EOF + +cd fftw-$fftw_version +patch -p1 <../fftw.patch + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +export MPICC=mpicc +export F77=ifort +export F77FLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-sse --disable-sse2 --disable-avx --enable-avx2 --disable-avx512 --disable-avx-128-fma --disable-kcvi \ + --enable-fma \ + --disable-openmp --disable-threads \ + --enable-mpi \ + -disable-static --enable-shared --disable-fortran + +# Build +make -j $parallel + +# Install +make install + +# Clean-up +unset CC +unset CFLAGS +unset MPICC +unset F77 +unset F77FLAGS + +echo -e "\n### Finishing FFTW installation...\n" + + +################################################################################ +# +# Install libxc +# + +echo -e "\n### Installing libxc...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$libxc_file + +cd libxc-$libxc_version + +# Configure +autoreconf -i + +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fPIC" +./configure --prefix="$install_dir" \ + --disable-static --enable-shared --disable-fortran +# Build +make -j $parallel + +# Install +make -j install + +# Clean-up +unset CC +unset CFLAGS + +echo -e "\n### Finishing libxc installation...\n" + + +################################################################################ +# +# Install Python +# + +echo -e "\n### Installing Python...\n" + +cd $build_dir + +# Uncompress +tar -xf $UEABS_DOWNLOADS/$python_file + +cd Python-$python_version + +# Configure +export CC=icc +export CFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC -diag-disable=1678,10148,111,169,188,3438,2650,3175,1890" +export CXX=icpc +export FC=ifort +export F90=$FC +export FFLAGS="$opt_level $proc_opt_flags $fp_opt_flags -fwrapv -fPIC" +export LD=icc +export LDFLAGS="-L$install_dir/lib" +export CPPFLAGS="-I$install_dir/include" +./configure --prefix="$install_dir" \ + --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu \ + --enable-shared --disable-ipv6 \ + --enable-optimizations \ + --with-ensurepip=upgrade +# --with-icc \ + +# Build +make -j 32 + +# Install +make install +cd $install_dir/bin +ln -s python$py_maj_min python + +# Clean-up +unset CC +unset CFLAGS +unset CXX +unset FC +unset F90 +unset FFLAGS +unset LD +unset LDFLAGS +unset CPPFLAGS + +echo -e "\n### Finishing Python installation...\n" + + +################################################################################ +# +# Initialising for installing Python packages +# + +echo -e "\n### Initialising for installing Python packages...\n" + +/usr/bin/mkdir -p "$install_dir/lib/python$py_maj_min/site-packages" +cd $install_dir +/usr/bin/ln -s lib lib64 +export PYTHONPATH="$install_dir/lib/python$py_maj_min/site-packages" + + +################################################################################ +# +# Install setuptools and wheel +# + +echo -e "\n### Installing wheel...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptools_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$wheel_file +# setuptools_scm seems to be needed to install py. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$setuptoolsscm_file + +echo -e "\n### Finishing wheel installation...\n" + + +################################################################################ +# +# Some other Python packages that are needed +# + +echo -e "\n### Installing additional Python packages...\n" + +cd $build_dir + +# attrs is needed for Cython and the optional pytest. +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$attrs_file +# pybind11 is needed for scipy +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pybind11_file + +echo -e "\n### Finishing additional Python packages installation...\n" + + +################################################################################ +# +# Optional: Install pytest and its dependencies to test NumPy and SciPy with +# import numpy +# numpy.test() +# import scipy +# scipy.text() +# We do need to care about version numbers because the LRZ system doesn't allow +# downloading from the compute nodes, so we have to do everything manually in +# advance. +# + +echo -e "\n### Installing pytest...\n" + +cd $build_dir + +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$toml_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pyparsing_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$py_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$iniconfig_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$packaging_file +#pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pluggy_file +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$pytest_file + +echo -e "\n### Finishing pytest installation...\n" + + +################################################################################ +# +# Install Cython +# + +echo -e "\n### Installing Cython...\n" + +cd $build_dir +pip$py_maj_min install --prefix="$install_dir" --no-deps --ignore-installed --find-links=$UEABS_DOWNLOADS $UEABS_DOWNLOADS/$cython_file + +echo -e "\n### Finishing Cython installation...\n" + + +################################################################################ +# +# Install NumPy +# + +echo -e "\n### Installing NumPy...\n" + +cd $build_dir + +# Uncompress +unzip $UEABS_DOWNLOADS/$numpy_file + +cd numpy-$numpy_version + +cat >site.cfg <siteconfig.py <$modules_dir/$packageID <&1 | tee loki-inst -cd .. -sed -e "s||$tgt|g" -e "s||$PYTHONHOME|" setup/load-gpaw.sh > $tgt/load.sh - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/davide/gpaw-cpu/setup/customize-power8.py b/gpaw/build/examples/davide/gpaw-cpu/setup/customize-power8.py deleted file mode 100644 index a098bfb54a08be9c3c8474feb72ecf98f83ecb24..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/gpaw-cpu/setup/customize-power8.py +++ /dev/null @@ -1,39 +0,0 @@ -# Setup customisation for gpaw/cuda -import os - -# compiler and linker -compiler = 'gcc' -mpicompiler = 'mpicc' -mpilinker = 'mpicc' -extra_compile_args = ['-std=c99', '-mcpu=power8'] - -# libraries -libraries = ['z'] - -# openblas -library_dirs += [os.environ['OPENBLAS_ROOT'] + '/lib'] -include_dirs += [os.environ['OPENBLAS_ROOT'] + '/include'] -libraries += ['openblas'] - -# scalapack -library_dirs += [os.environ['SCALAPACK_ROOT'] + '/lib'] -libraries += ['scalapack'] - -# libxc -library_dirs += [os.environ['LIBXCDIR'] + '/lib'] -include_dirs += [os.environ['LIBXCDIR'] + '/include'] -libraries += ['xc'] - -# GPAW defines -define_macros += [('GPAW_NO_UNDERSCORE_CBLACS', '1')] -define_macros += [('GPAW_NO_UNDERSCORE_CSCALAPACK', '1')] -define_macros += [("GPAW_ASYNC",1)] -define_macros += [("GPAW_MPI2",1)] -define_macros += [('GPAW_CUDA', '1')] - -# ScaLAPACK -scalapack = True - -# HDF5 -hdf5 = False - diff --git a/gpaw/build/examples/davide/gpaw-cpu/setup/load-gpaw.sh b/gpaw/build/examples/davide/gpaw-cpu/setup/load-gpaw.sh deleted file mode 100644 index f7f01edf5454c2b9854ec37ecd9ee32330b06bb0..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/gpaw-cpu/setup/load-gpaw.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -module load cuda/9.2.88 -module load cudnn/7.1.4--cuda--9.2.88 -module load gnu/6.4.0 -module load openmpi/3.1.0--gnu--6.4.0 -source $CINECA_SCRATCH/lib/openblas-0.3.4-openmp/load.sh -source /load.sh -source $CINECA_SCRATCH/lib/scalapack-2.0.2/load.sh -export GPAW_SETUP_PATH=$CINECA_SCRATCH/lib/gpaw-setups-0.9.11271 -export PATH=/bin:$PATH -export PYTHONPATH=/lib/python2.7/site-packages:$PYTHONPATH diff --git a/gpaw/build/examples/davide/gpaw/build.sh b/gpaw/build/examples/davide/gpaw/build.sh deleted file mode 100644 index 56ff5e88e4a6c25a2b5a54d32add958f764b5540..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/gpaw/build.sh +++ /dev/null @@ -1,36 +0,0 @@ -### GPAW installation script for D.A.V.I.D.E - -# version numbers (modify if needed) -gpaw_version=cuda - -# installation directory (modify!) -tgt=$CINECA_SCRATCH/lib/gpaw-${gpaw_version} - -# setup build environment -module load cuda/9.2.88 -module load cudnn/7.1.4--cuda--9.2.88 -module load gnu/6.4.0 -module load openmpi/3.1.0--gnu--6.4.0 -source $CINECA_SCRATCH/lib/openblas-0.3.4-openmp/load.sh -source $CINECA_SCRATCH/lib/python-2018-12-cuda/load.sh 2016-06 -source $CINECA_SCRATCH/lib/scalapack-2.0.2/load.sh -export GPAW_SETUP_PATH=$CINECA_SCRATCH/lib/gpaw-setups-0.9.11271 -export CFLAGS="" - -# gpaw -git clone https://gitlab.com/mlouhivu/gpaw.git gpaw-$gpaw_version -cd gpaw-$gpaw_version -git checkout $gpaw_version -patch gpaw/eigensolvers/rmm_diis.py ../setup/patch-rmmdiis.diff -cp ../setup/customize-cuda.py . -cd c/cuda -cp ../../../setup/make.inc . -make 2>&1 | tee loki-make -cd - -python setup.py install --customize=customize-cuda.py --prefix=$tgt 2>&1 | tee loki-inst -cd .. -sed -e "s||$tgt|g" -e "s||$PYTHONHOME|" setup/load-gpaw.sh > $tgt/load.sh - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/davide/gpaw/setup/customize-cuda.py b/gpaw/build/examples/davide/gpaw/setup/customize-cuda.py deleted file mode 100644 index d2aae9409832d719e06a66450032d8588e769149..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/gpaw/setup/customize-cuda.py +++ /dev/null @@ -1,44 +0,0 @@ -# Setup customisation for gpaw/cuda -import os - -# compiler and linker -compiler = 'gcc' -mpicompiler = 'mpicc' -mpilinker = 'mpicc' -extra_compile_args = ['-std=c99', '-mcpu=power8'] - -# libraries -libraries = ['z'] - -# cuda -library_dirs += [os.environ['CUDA_LIB'], './c/cuda'] -include_dirs += [os.environ['CUDA_HOME'] + '/include'] -libraries += ['gpaw-cuda', 'cublas', 'cudart', 'stdc++'] - -# openblas -library_dirs += [os.environ['OPENBLAS_ROOT'] + '/lib'] -include_dirs += [os.environ['OPENBLAS_ROOT'] + '/include'] -libraries += ['openblas'] - -# scalapack -library_dirs += [os.environ['SCALAPACK_ROOT'] + '/lib'] -libraries += ['scalapack'] - -# libxc -library_dirs += [os.environ['LIBXCDIR'] + '/lib'] -include_dirs += [os.environ['LIBXCDIR'] + '/include'] -libraries += ['xc'] - -# GPAW defines -define_macros += [('GPAW_NO_UNDERSCORE_CBLACS', '1')] -define_macros += [('GPAW_NO_UNDERSCORE_CSCALAPACK', '1')] -define_macros += [("GPAW_ASYNC",1)] -define_macros += [("GPAW_MPI2",1)] -define_macros += [('GPAW_CUDA', '1')] - -# ScaLAPACK -scalapack = True - -# HDF5 -hdf5 = False - diff --git a/gpaw/build/examples/davide/gpaw/setup/load-gpaw.sh b/gpaw/build/examples/davide/gpaw/setup/load-gpaw.sh deleted file mode 100644 index f7f01edf5454c2b9854ec37ecd9ee32330b06bb0..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/gpaw/setup/load-gpaw.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -module load cuda/9.2.88 -module load cudnn/7.1.4--cuda--9.2.88 -module load gnu/6.4.0 -module load openmpi/3.1.0--gnu--6.4.0 -source $CINECA_SCRATCH/lib/openblas-0.3.4-openmp/load.sh -source /load.sh -source $CINECA_SCRATCH/lib/scalapack-2.0.2/load.sh -export GPAW_SETUP_PATH=$CINECA_SCRATCH/lib/gpaw-setups-0.9.11271 -export PATH=/bin:$PATH -export PYTHONPATH=/lib/python2.7/site-packages:$PYTHONPATH diff --git a/gpaw/build/examples/davide/gpaw/setup/make.inc b/gpaw/build/examples/davide/gpaw/setup/make.inc deleted file mode 100644 index 2fa2d24c2ffc12959844333af0e3df70a07b0f71..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/gpaw/setup/make.inc +++ /dev/null @@ -1,57 +0,0 @@ -#################################################################### -# make include file. # -#################################################################### -# -SHELL = /bin/sh - -# ---------------------------------------------------------------------- -# - gpaw-cuda Directory Structure / gpaw-cuda library -------------------- -# ---------------------------------------------------------------------- -# -TOPdir = . -INCdir = $(TOPdir) -PYTHONINCdir ?= $(PYTHONHOME)/include/python2.7/ -PYTHONLIBdir ?= $(PYTHONHOME)/lib/ -NUMPYINCdir ?= `python -c "import numpy; print numpy.get_include()"` -MPIINCdir ?= $(OPENMPI_HOME)/include -LIBdir = $(TOPdir) -CUGPAWLIB = $(LIBdir)/libgpaw-cuda.a - -# -# ---------------------------------------------------------------------- -# - NVIDIA CUDA includes / libraries / specifics ----------------------- -# ---------------------------------------------------------------------- -CUDAINCdir = $(CUDADIR)/include -CUDALIBdir = $(CUDADIR)/lib64 -CUDA_OPTS = - -# -# ---------------------------------------------------------------------- -# - gpaw-cuda includes / libraries / specifics ------------------------------- -# ---------------------------------------------------------------------- -# - -CUGPAW_INCLUDES = -I$(INCdir) -I$(CUDAINCdir) -I$(MPIINCdir) -I$(NUMPYINCdir) -I$(PYTHONINCdir) -CUGPAW_OPTS = -DPARALLEL=1 -DGPAW_CUDA=1 - -# -# ---------------------------------------------------------------------- -# - -CUGPAW_DEFS = $(CUGPAW_OPTS) $(CUDA_OPTS) $(CUGPAW_INCLUDES) - -# -# ---------------------------------------------------------------------- -# - Compilers / linkers - Optimization flags --------------------------- -# ---------------------------------------------------------------------- -CC = gcc -CCNOOPT = $(CUGPAW_DEFS) -CCFLAGS = $(CUGPAW_DEFS) -g -fPIC -std=c99 -m64 -O3 - -NVCC = nvcc -NVCCFLAGS = $(CUGPAW_DEFS) -O3 -g -gencode arch=compute_60,code=sm_60 -m64 --compiler-options '-O3 -g -std=c99 -fPIC' - -ARCH = ar -ARCHFLAGS= cr -RANLIB = ranlib - diff --git a/gpaw/build/examples/davide/gpaw/setup/patch-rmmdiis.diff b/gpaw/build/examples/davide/gpaw/setup/patch-rmmdiis.diff deleted file mode 100644 index adefa27c31dd72c87df2d3e35b8fcb56a7224dcf..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/gpaw/setup/patch-rmmdiis.diff +++ /dev/null @@ -1,34 +0,0 @@ -commit 761cba649d58e2d2f24c0a1e2fdad917b5929679 -Author: Martti Louhivuori -Date: Thu May 18 10:56:07 2017 +0300 - - Remove obsolete error calculation from DIIS step - -diff --git a/gpaw/eigensolvers/rmmdiis.py b/gpaw/eigensolvers/rmmdiis.py -index 7d60553..d182713 100644 ---- a/gpaw/eigensolvers/rmmdiis.py -+++ b/gpaw/eigensolvers/rmmdiis.py -@@ -299,23 +299,6 @@ class RMMDIIS(Eigensolver): - P_axi, kpt.eps_n[n_x], R_xG, n_x, - calculate_change=True) - self.timer.stop('Calculate residuals') -- self.timer.start('Calculate errors') -- errors_new_x = np.zeros(B) -- # errors_x[:] = 0.0 -- for n in range(n1, n2): -- if kpt.f_n is None: -- weight = kpt.weight -- else: -- weight = kpt.f_n[n] -- if self.nbands_converge != 'occupied': -- if wfs.bd.global_index(n) < self.nbands_converge: -- weight = kpt.weight -- else: -- weight = 0.0 -- errors_new_x[n-n1] += weight * integrate(R_xG[n - n1], -- R_xG[n - n1]) -- comm.sum(errors_x) -- self.timer.stop('Calculate errors') - - self.timer.stop('DIIS step') - # Final trial step diff --git a/gpaw/build/examples/davide/openblas/build.sh b/gpaw/build/examples/davide/openblas/build.sh deleted file mode 100644 index e108514a230e476ff391e327e9bbd5bac0f5902a..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/openblas/build.sh +++ /dev/null @@ -1,32 +0,0 @@ -### OpenBLAS installation script for D.A.V.I.D.E - -# version numbers (modify if needed) -openblas_version=0.3.4 - -# installation directory (modify!) -tgt=$CINECA_SCRATCH/lib/openblas-${openblas_version}-openmp - -# setup build environment -module load cuda/9.2.88 -module load cudnn/7.1.4--cuda--9.2.88 -module load gnu/6.4.0 -module load openmpi/3.1.0--gnu--6.4.0 -export CC=gcc -export CFLAGS='-mcpu=power8 -O3' -export CXX=g++ -export CXXFLAGS='-mcpu=power8 -O3' -export FC=gfortran -export FFLAGS='-mcpu=power8 -O3' - -# openblas -git clone https://github.com/xianyi/OpenBLAS -cd OpenBLAS -git checkout v$openblas_version -make TARGET=POWER8 USE_OPENMP=1 2>&1 | tee loki-make -make install PREFIX=$tgt 2>&1 | tee loki-install -sed -e "s||$tgt|g" ../setup/load-openblas.sh > $tgt/load.sh -cd .. - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/davide/openblas/setup/load-openblas.sh b/gpaw/build/examples/davide/openblas/setup/load-openblas.sh deleted file mode 100644 index eb99f2f9d7c089cd3a372a288516b7798b5ec32b..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/openblas/setup/load-openblas.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -export OPENBLAS_ROOT= -export LD_LIBRARY_PATH=$OPENBLAS_ROOT/lib:$LD_LIBRARY_PATH diff --git a/gpaw/build/examples/davide/python/build-extra.sh b/gpaw/build/examples/davide/python/build-extra.sh deleted file mode 100644 index 1b17596db68b62ce328e48e067d4fc89d5d02a4b..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/python/build-extra.sh +++ /dev/null @@ -1,84 +0,0 @@ -### Python (extra) modules installation script for D.A.V.I.D.E -### uses PYTHONUSERBASE to bundle all modules into a separate location -### away from the base python installation - -# load Python -source $PYTHONHOME/load.sh - -# bundle ID (e.g. time of release) (modify if needed) -bundle=2016-06 - -# version numbers (modify if needed) -numpy_version=1.10.4 -scipy_version=0.17.1 -ase_version=3.11.0 -pycuda_version=2017.1.1 -libxc_version=2.1.3 - -# installation directory (modify!) -tgt=$PYTHONHOME/bundle/$bundle - -# setup build environment -export CFLAGS="-fPIC $CFLAGS" -export FFLAGS="-fPIC $FFLAGS" - -# use --user to install modules -export PYTHONUSERBASE=$tgt -mkdir -p $PYTHONUSERBASE/lib/python2.7/site-packages - -# build in a separate directory -mkdir bundle-$bundle -cd bundle-$bundle - -# cython + mpi4py -pip install --user cython -pip install --user mpi4py - -# numpy -git clone git://github.com/numpy/numpy.git numpy-$numpy_version -cd numpy-$numpy_version -git checkout v$numpy_version -sed -e "s||$OPENBLAS_ROOT|g" ../../setup/davide-openblas.cfg > site.cfg -python setup.py build -j 4 install --user 2>&1 | tee loki-inst -cd .. - -# scipy -git clone git://github.com/scipy/scipy.git scipy-$scipy_version -cd scipy-$scipy_version -git checkout v$scipy_version -python setup.py build -j 4 install --user 2>&1 | tee loki-inst -cd .. - -# ase -git clone https://gitlab.com/ase/ase.git ase-$ase_version -cd ase-$ase_version -git checkout $ase_version -python setup.py install --user 2>&1 | tee loki-inst -cd .. - -# libxc -tar xvfz ~/src/libxc-${libxc_version}.tar.gz -cd libxc-$libxc_version -./configure --prefix=$PYTHONUSERBASE --enable-shared | tee loki-conf -make | tee loki-make -make install | tee loki-inst -export LD_LIBRARY_PATH=$PYTHONUSERBASE/lib:$LD_LIBRARY_PATH -cd .. - -# pycuda -pip install --user pycuda==$pycuda_version - -# go back to the main build directory -cd .. - -# if this is the first bundle, use it as default -if [ ! -e $PYTHONHOME/bundle/default ] -then - cd $PYTHONHOME/bundle - ln -s $bundle default - cd - -fi - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/davide/python/build.sh b/gpaw/build/examples/davide/python/build.sh deleted file mode 100644 index 6dbaeea61c402250233bbf8b62886f8718a3051d..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/python/build.sh +++ /dev/null @@ -1,40 +0,0 @@ -### Python installation script for D.A.V.I.D.E -### uses --prefix to set a custom installation directory - -# version numbers (modify if needed) -python_version=2.7.13 - -# installation directory (modify!) -tgt=$CINECA_SCRATCH/lib/python-2018-12-cuda - -# setup build environment -module load cuda/9.2.88 -module load cudnn/7.1.4--cuda--9.2.88 -module load gnu/6.4.0 -module load openmpi/3.1.0--gnu--6.4.0 -source $CINECA_SCRATCH/lib/openblas-0.3.4-openmp/load.sh -export CC=gcc -export CFLAGS='-mcpu=power8 -O3' -export CXX=g++ -export CXXFLAGS='-mcpu=power8 -O3' -export F77=gfortran -export FFLAGS='-mcpu=power8 -O3' - -# python -git clone https://github.com/python/cpython.git python-$python_version -cd python-$python_version -git checkout v$python_version -./configure --prefix=$tgt --enable-shared --disable-ipv6 --enable-unicode=ucs4 2>&1 | tee loki-conf -make 2>&1 | tee loki-make -make install 2>&1 | tee loki-inst -cd .. -sed -e "s||$tgt|g" setup/load-python.sh > $tgt/load.sh - -# install pip -source $tgt/load.sh -python -m ensurepip -pip install --upgrade pip - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/davide/python/setup/davide-openblas.cfg b/gpaw/build/examples/davide/python/setup/davide-openblas.cfg deleted file mode 100644 index ba027c31a76734ca1d69c30f38c0c4832d35c59a..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/python/setup/davide-openblas.cfg +++ /dev/null @@ -1,4 +0,0 @@ -[openblas] -libraries = openblas -library_dirs = /lib -include_dirs = /include diff --git a/gpaw/build/examples/davide/python/setup/load-python.sh b/gpaw/build/examples/davide/python/setup/load-python.sh deleted file mode 100644 index 69b2033864e3bbf9f756946f78eb24f71cc4ddaa..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/python/setup/load-python.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -export PYTHONHOME= -export PYTHONPATH=$PYTHONHOME/lib -export PATH=$PYTHONHOME/bin:$PATH -export MANPATH=$PYTHONHOME/share/man:$MANPATH -export LD_LIBRARY_PATH=$PYTHONHOME/lib:$LD_LIBRARY_PATH - -if [[ $# -gt 0 ]] -then - export PYTHONUSERBASE=$PYTHONHOME/bundle/$1 - export PATH=$PYTHONUSERBASE/bin:$PATH - export LD_LIBRARY_PATH=$PYTHONUSERBASE/lib:$LD_LIBRARY_PATH -elif [[ -e $PYTHONHOME/bundle/default ]] -then - export PYTHONUSERBASE=$PYTHONHOME/bundle/default - export PATH=$PYTHONUSERBASE/bin:$PATH - export LD_LIBRARY_PATH=$PYTHONUSERBASE/lib:$LD_LIBRARY_PATH -fi -if [[ -e $PYTHONUSERBASE/include/xc.h ]] -then - export LIBXCDIR=$PYTHONUSERBASE -fi diff --git a/gpaw/build/examples/davide/scalapack/build.sh b/gpaw/build/examples/davide/scalapack/build.sh deleted file mode 100644 index 52a7bb31071ea15a099ee970a951042a5c2242c1..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/scalapack/build.sh +++ /dev/null @@ -1,32 +0,0 @@ -### ScaLAPACK installation script for D.A.V.I.D.E - -# version numbers (modify if needed) -scalapack_version=2.0.2 - -# installation directory (modify!) -tgt=$CINECA_SCRATCH/lib/scalapack-${scalapack_version} - -# setup build environment -module load cuda/9.2.88 -module load cudnn/7.1.4--cuda--9.2.88 -module load gnu/6.4.0 -module load openmpi/3.1.0--gnu--6.4.0 -source $CINECA_SCRATCH/lib/openblas-0.3.4-openmp/load.sh -export CFLAGS="-mcpu=power8 -O3" -export FFLAGS="-mcpu=power8 -O3" - -# scalapack -tar xvfz ~/scalapack-${scalapack_version}.tgz -cd scalapack-${scalapack_version} -cp ../setup/SLmake.inc . -mkdir build -cd build -cmake -DBLAS_LIBRARIES=$OPENBLAS_ROOT/lib/libopenblas.so -DLAPACK_LIBRARIES=$OPENBLAS_ROOT/lib/libopenblas.so -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=$tgt .. -make 2>&1 | tee loki-make -make install 2>&1 | tee loki-install -sed -e "s||$tgt|g" ../../setup/load-scalapack.sh > $tgt/load.sh -cd ../.. - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/davide/scalapack/setup/SLmake.inc b/gpaw/build/examples/davide/scalapack/setup/SLmake.inc deleted file mode 100644 index 4d5f6aa38cc020b0ae04f9714a16febf21216b59..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/scalapack/setup/SLmake.inc +++ /dev/null @@ -1,61 +0,0 @@ -############################################################################ -# -# Program: ScaLAPACK -# -# Module: SLmake.inc -# -# Purpose: Top-level Definitions -# -# Creation date: February 15, 2000 -# -# Modified: October 13, 2011 -# -# Send bug reports, comments or suggestions to scalapack@cs.utk.edu -# -############################################################################ -# -# C preprocessor definitions: set CDEFS to one of the following: -# -# -DNoChange (fortran subprogram names are lower case without any suffix) -# -DUpCase (fortran subprogram names are upper case without any suffix) -# -DAdd_ (fortran subprogram names are lower case with "_" appended) - -CDEFS = -DAdd_ - -# -# The fortran and C compilers, loaders, and their flags -# - -FC = mpif90 -CC = mpicc -NOOPT = -mcpu=power8 -O0 -FCFLAGS = -mcpu=power8 -O3 -shared -fPIC -CCFLAGS = -mcpu=power8 -O3 -shared -fPIC -FCLOADER = $(FC) -CCLOADER = $(CC) -FCLOADFLAGS = $(FCFLAGS) -CCLOADFLAGS = $(CCFLAGS) - -# -# The archiver and the flag(s) to use when building archive (library) -# Also the ranlib routine. If your system has no ranlib, set RANLIB = echo -# - -ARCH = ar -ARCHFLAGS = cr -RANLIB = ranlib - -# -# The name of the ScaLAPACK library to be created -# - -SCALAPACKLIB = libscalapack.so - -# -# BLAS, LAPACK (and possibly other) libraries needed for linking test programs -# - -BLASLIB = -lopenblas -L$(OPENBLAS_ROOT)/lib -I$(OPENBLAS_ROOT)/include -LAPACKLIB = -LIBS = $(LAPACKLIB) $(BLASLIB) - diff --git a/gpaw/build/examples/davide/scalapack/setup/load-scalapack.sh b/gpaw/build/examples/davide/scalapack/setup/load-scalapack.sh deleted file mode 100644 index c37538574e2d073453dba51efd66a5d7599649cb..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/davide/scalapack/setup/load-scalapack.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -export SCALAPACK_ROOT= -export LD_LIBRARY_PATH=$SCALAPACK_ROOT/lib:$LD_LIBRARY_PATH diff --git a/gpaw/build/examples/juwels/gpaw/build.sh b/gpaw/build/examples/juwels/gpaw/build.sh deleted file mode 100644 index 5206b59856d7179d009f82c34a70e2d27a3a362c..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/gpaw/build.sh +++ /dev/null @@ -1,30 +0,0 @@ -### GPAW installation script for JUWELS - -# version numbers (modify if needed) -gpaw_version=1.1.0 - -# installation directory (modify!) -tgt=$HOME/lib/gpaw-${gpaw_version} - -# setup build environment -module load CUDA/9.2.88 -module load Intel/2019.0.117-GCC-7.3.0 -module load IntelMPI/2018.4.274 -module load imkl/2019.0.117 -source $HOME/lib/python-2019-01/load.sh 2016-06 -export GPAW_SETUP_PATH=$HOME/lib/gpaw-setups-0.9.11271 -export CFLAGS="" - -# gpaw -git clone https://gitlab.com/mlouhivu/gpaw.git gpaw-$gpaw_version -cd gpaw-$gpaw_version -git checkout $gpaw_version -patch gpaw/eigensolvers/rmm_diis.py ../setup/patch-rmmdiis.diff -cp ../setup/customize-juwels.py . -python setup.py install --customize=customize-juwels.py --prefix=$tgt 2>&1 | tee loki-inst -cd .. -sed -e "s||$tgt|g" -e "s||$PYTHONHOME|" setup/load-gpaw.sh > $tgt/load.sh - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/juwels/gpaw/setup/customize-juwels.py b/gpaw/build/examples/juwels/gpaw/setup/customize-juwels.py deleted file mode 100644 index 7d7457df750f04cefd55523a6e1a6fb0cb2a646a..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/gpaw/setup/customize-juwels.py +++ /dev/null @@ -1,34 +0,0 @@ -# Setup customisation for gpaw/cuda -import os - -# compiler and linker -compiler = 'icc' -mpicompiler = 'mpicc' -mpilinker = 'mpicc' -extra_compile_args = ['-std=c99'] - -# libraries -libraries = ['z'] - -# use MKL -library_dirs += [os.environ['MKLROOT'] + '/lib/intel64/'] -libraries = ['mkl_intel_lp64', 'mkl_sequential', 'mkl_core'] -mpi_libraries += ['mkl_scalapack_lp64', 'mkl_blacs_intelmpi_lp64'] - -# libxc -library_dirs += [os.environ['LIBXCDIR'] + '/lib'] -include_dirs += [os.environ['LIBXCDIR'] + '/include'] -libraries += ['xc'] - -# GPAW defines -define_macros += [('GPAW_NO_UNDERSCORE_CBLACS', '1')] -define_macros += [('GPAW_NO_UNDERSCORE_CSCALAPACK', '1')] -define_macros += [("GPAW_ASYNC",1)] -define_macros += [("GPAW_MPI2",1)] - -# ScaLAPACK -scalapack = True - -# HDF5 -hdf5 = False - diff --git a/gpaw/build/examples/juwels/gpaw/setup/load-gpaw.sh b/gpaw/build/examples/juwels/gpaw/setup/load-gpaw.sh deleted file mode 100644 index 2bb4fe410fe5c1494b2994999ffd3c4f190aaf3d..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/gpaw/setup/load-gpaw.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -module load CUDA/9.2.88 -module load Intel/2019.0.117-GCC-7.3.0 -module load IntelMPI/2018.4.274 -module load imkl/2019.0.117 -source $HOME/lib/python-2019-01/load.sh 2016-06 -export GPAW_SETUP_PATH=$HOME/lib/gpaw-setups-0.9.11271 -export PATH=/bin:$PATH -export PYTHONPATH=/lib/python2.7/site-packages:$PYTHONPATH diff --git a/gpaw/build/examples/juwels/gpaw/setup/patch-rmmdiis.diff b/gpaw/build/examples/juwels/gpaw/setup/patch-rmmdiis.diff deleted file mode 100644 index adefa27c31dd72c87df2d3e35b8fcb56a7224dcf..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/gpaw/setup/patch-rmmdiis.diff +++ /dev/null @@ -1,34 +0,0 @@ -commit 761cba649d58e2d2f24c0a1e2fdad917b5929679 -Author: Martti Louhivuori -Date: Thu May 18 10:56:07 2017 +0300 - - Remove obsolete error calculation from DIIS step - -diff --git a/gpaw/eigensolvers/rmmdiis.py b/gpaw/eigensolvers/rmmdiis.py -index 7d60553..d182713 100644 ---- a/gpaw/eigensolvers/rmmdiis.py -+++ b/gpaw/eigensolvers/rmmdiis.py -@@ -299,23 +299,6 @@ class RMMDIIS(Eigensolver): - P_axi, kpt.eps_n[n_x], R_xG, n_x, - calculate_change=True) - self.timer.stop('Calculate residuals') -- self.timer.start('Calculate errors') -- errors_new_x = np.zeros(B) -- # errors_x[:] = 0.0 -- for n in range(n1, n2): -- if kpt.f_n is None: -- weight = kpt.weight -- else: -- weight = kpt.f_n[n] -- if self.nbands_converge != 'occupied': -- if wfs.bd.global_index(n) < self.nbands_converge: -- weight = kpt.weight -- else: -- weight = 0.0 -- errors_new_x[n-n1] += weight * integrate(R_xG[n - n1], -- R_xG[n - n1]) -- comm.sum(errors_x) -- self.timer.stop('Calculate errors') - - self.timer.stop('DIIS step') - # Final trial step diff --git a/gpaw/build/examples/juwels/python/build-extra.sh b/gpaw/build/examples/juwels/python/build-extra.sh deleted file mode 100644 index 8ab157293cc7e8b382f41d235d1ad62d87ee6b5b..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/python/build-extra.sh +++ /dev/null @@ -1,88 +0,0 @@ -### Python (extra) modules installation script for JUWELS -### uses PYTHONUSERBASE to bundle all modules into a separate location -### away from the base python installation - -# load Python -source $PYTHONHOME/load.sh - -# bundle ID (e.g. time of release) (modify if needed) -bundle=2016-06 - -# version numbers (modify if needed) -numpy_version=1.10.4 -scipy_version=0.17.1 -ase_version=3.11.0 -pycuda_version=2017.1.1 -libxc_version=2.1.3 - -# installation directory (modify!) -tgt=$PYTHONHOME/bundle/$bundle - -# setup build environment -export CFLAGS="-fPIC $CFLAGS" -export FFLAGS="-fPIC $FFLAGS" - -# use --user to install modules -export PYTHONUSERBASE=$tgt -mkdir -p $PYTHONUSERBASE/lib/python2.7/site-packages - -# build in a separate directory -mkdir bundle-$bundle -cd bundle-$bundle - -# cython + mpi4py -pip install --user cython -pip install --user mpi4py - -# numpy -git clone git://github.com/numpy/numpy.git numpy-$numpy_version -cd numpy-$numpy_version -git checkout v$numpy_version -sed -e "s||$MKLROOT|g" ../../setup/juwels-mkl.cfg > site.cfg -sed -e "s||$FFLAGS|g" ../../setup/patch-intel-fcompiler.diff > patch-intel-fcompiler.diff -sed -e "s||$CFLAGS|g" ../../setup/patch-intel-ccompiler.diff > patch-intel-ccompiler.diff -patch numpy/distutils/fcompiler/intel.py patch-intel-fcompiler.diff -patch numpy/distutils/intelccompiler.py patch-intel-ccompiler.diff -python setup.py build -j 4 install --user 2>&1 | tee loki-inst -cd .. - -# scipy -git clone git://github.com/scipy/scipy.git scipy-$scipy_version -cd scipy-$scipy_version -git checkout v$scipy_version -python setup.py build -j 4 install --user 2>&1 | tee loki-inst -cd .. - -# ase -git clone https://gitlab.com/ase/ase.git ase-$ase_version -cd ase-$ase_version -git checkout $ase_version -python setup.py install --user 2>&1 | tee loki-inst -cd .. - -# libxc -tar xvfz ~/src/libxc-${libxc_version}.tar.gz -cd libxc-$libxc_version -./configure --prefix=$PYTHONUSERBASE --enable-shared | tee loki-conf -make | tee loki-make -make install | tee loki-inst -export LD_LIBRARY_PATH=$PYTHONUSERBASE/lib:$LD_LIBRARY_PATH -cd .. - -# pycuda -pip install --user pycuda==$pycuda_version - -# go back to the main build directory -cd .. - -# if this is the first bundle, use it as default -if [ ! -e $PYTHONHOME/bundle/default ] -then - cd $PYTHONHOME/bundle - ln -s $bundle default - cd - -fi - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/juwels/python/build.sh b/gpaw/build/examples/juwels/python/build.sh deleted file mode 100644 index 252f31e4dda62c25173c28995d925d520c69b6ba..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/python/build.sh +++ /dev/null @@ -1,39 +0,0 @@ -### Python installation script for JUWELS -### uses --prefix to set a custom installation directory - -# version numbers (modify if needed) -python_version=2.7.13 - -# installation directory (modify!) -tgt=$HOME/lib/python-2019-01 - -# setup build environment -module load CUDA/9.2.88 -module load Intel/2019.0.117-GCC-7.3.0 -module load IntelMPI/2018.4.274 -module load imkl/2019.0.117 -export CC=icc -export CFLAGS='-O2 -xAVX2 -axCORE-AVX512' -export CXX=icpc -export FC=ifort -export F90=$FC -export FFLAGS=$CFLAGS - -# python -git clone https://github.com/python/cpython.git python-$python_version -cd python-$python_version -git checkout v$python_version -./configure --prefix=$tgt --enable-shared --disable-ipv6 --enable-unicode=ucs4 2>&1 | tee loki-conf -make 2>&1 | tee loki-make -make install 2>&1 | tee loki-inst -cd .. -sed -e "s||$tgt|g" setup/load-python.sh > $tgt/load.sh - -# install pip -source $tgt/load.sh -python -m ensurepip -pip install --upgrade pip - -# fix permissions -chmod -R g+rwX $tgt -chmod -R o+rX $tgt diff --git a/gpaw/build/examples/juwels/python/setup/juwels-mkl.cfg b/gpaw/build/examples/juwels/python/setup/juwels-mkl.cfg deleted file mode 100644 index 3e2d3e8c391129507b6fbec06c00e3965863af55..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/python/setup/juwels-mkl.cfg +++ /dev/null @@ -1,5 +0,0 @@ -[mkl] -library_dirs = /lib/intel64 -include_dirs = /include -lapack_libs = -mkl_libs = mkl_rt diff --git a/gpaw/build/examples/juwels/python/setup/load-python.sh b/gpaw/build/examples/juwels/python/setup/load-python.sh deleted file mode 100644 index 69b2033864e3bbf9f756946f78eb24f71cc4ddaa..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/python/setup/load-python.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -export PYTHONHOME= -export PYTHONPATH=$PYTHONHOME/lib -export PATH=$PYTHONHOME/bin:$PATH -export MANPATH=$PYTHONHOME/share/man:$MANPATH -export LD_LIBRARY_PATH=$PYTHONHOME/lib:$LD_LIBRARY_PATH - -if [[ $# -gt 0 ]] -then - export PYTHONUSERBASE=$PYTHONHOME/bundle/$1 - export PATH=$PYTHONUSERBASE/bin:$PATH - export LD_LIBRARY_PATH=$PYTHONUSERBASE/lib:$LD_LIBRARY_PATH -elif [[ -e $PYTHONHOME/bundle/default ]] -then - export PYTHONUSERBASE=$PYTHONHOME/bundle/default - export PATH=$PYTHONUSERBASE/bin:$PATH - export LD_LIBRARY_PATH=$PYTHONUSERBASE/lib:$LD_LIBRARY_PATH -fi -if [[ -e $PYTHONUSERBASE/include/xc.h ]] -then - export LIBXCDIR=$PYTHONUSERBASE -fi diff --git a/gpaw/build/examples/juwels/python/setup/patch-intel-ccompiler.diff b/gpaw/build/examples/juwels/python/setup/patch-intel-ccompiler.diff deleted file mode 100644 index 17266bdf36acd62c3109c25b5a99ee3adde2e8a4..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/python/setup/patch-intel-ccompiler.diff +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/numpy/distutils/intelccompiler.py b/numpy/distutils/intelccompiler.py -index 20c6d2b..7bdc3d0 100644 ---- a/numpy/distutils/intelccompiler.py -+++ b/numpy/distutils/intelccompiler.py -@@ -48,13 +48,12 @@ class IntelEM64TCCompiler(UnixCCompiler): - A modified Intel x86_64 compiler compatible with a 64bit GCC-built Python. - """ - compiler_type = 'intelem' -- cc_exe = 'icc -m64' -- cc_args = '-fPIC' -+ cc_exe = 'icc' -+ cc_args = '-fPIC ' - - def __init__(self, verbose=0, dry_run=0, force=0): - UnixCCompiler.__init__(self, verbose, dry_run, force) -- self.cc_exe = ('icc -m64 -fPIC -fp-model strict -O3 ' -- '-fomit-frame-pointer -openmp -xSSE4.2') -+ self.cc_exe = ('icc -fPIC ') - compiler = self.cc_exe - if platform.system() == 'Darwin': - shared_flag = '-Wl,-undefined,dynamic_lookup' diff --git a/gpaw/build/examples/juwels/python/setup/patch-intel-fcompiler.diff b/gpaw/build/examples/juwels/python/setup/patch-intel-fcompiler.diff deleted file mode 100644 index a9dd7b07d5d89c4867fa5ef26903ffa7fc76b3dd..0000000000000000000000000000000000000000 --- a/gpaw/build/examples/juwels/python/setup/patch-intel-fcompiler.diff +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/numpy/distutils/fcompiler/intel.py b/numpy/distutils/fcompiler/intel.py -index 2dd08e7..1df2a99 100644 ---- a/numpy/distutils/fcompiler/intel.py -+++ b/numpy/distutils/fcompiler/intel.py -@@ -120,10 +120,10 @@ class IntelEM64TFCompiler(IntelFCompiler): - return ['-fPIC'] - - def get_flags_opt(self): -- return ['-openmp -fp-model strict'] -+ return ['-fPIC '] - - def get_flags_arch(self): -- return ['-xSSE4.2'] -+ return [''] - - # Is there no difference in the version string between the above compilers - # and the Visual compilers? diff --git a/gpaw/build/examples/davide/gpaw-cpu/setup/patch-rmmdiis.diff b/gpaw/build/patch similarity index 100% rename from gpaw/build/examples/davide/gpaw-cpu/setup/patch-rmmdiis.diff rename to gpaw/build/patch diff --git a/gpaw/build/patch-rmmdiis.diff b/gpaw/build/patch-rmmdiis.diff deleted file mode 100644 index adefa27c31dd72c87df2d3e35b8fcb56a7224dcf..0000000000000000000000000000000000000000 --- a/gpaw/build/patch-rmmdiis.diff +++ /dev/null @@ -1,34 +0,0 @@ -commit 761cba649d58e2d2f24c0a1e2fdad917b5929679 -Author: Martti Louhivuori -Date: Thu May 18 10:56:07 2017 +0300 - - Remove obsolete error calculation from DIIS step - -diff --git a/gpaw/eigensolvers/rmmdiis.py b/gpaw/eigensolvers/rmmdiis.py -index 7d60553..d182713 100644 ---- a/gpaw/eigensolvers/rmmdiis.py -+++ b/gpaw/eigensolvers/rmmdiis.py -@@ -299,23 +299,6 @@ class RMMDIIS(Eigensolver): - P_axi, kpt.eps_n[n_x], R_xG, n_x, - calculate_change=True) - self.timer.stop('Calculate residuals') -- self.timer.start('Calculate errors') -- errors_new_x = np.zeros(B) -- # errors_x[:] = 0.0 -- for n in range(n1, n2): -- if kpt.f_n is None: -- weight = kpt.weight -- else: -- weight = kpt.f_n[n] -- if self.nbands_converge != 'occupied': -- if wfs.bd.global_index(n) < self.nbands_converge: -- weight = kpt.weight -- else: -- weight = 0.0 -- errors_new_x[n-n1] += weight * integrate(R_xG[n - n1], -- R_xG[n - n1]) -- comm.sum(errors_x) -- self.timer.stop('Calculate errors') - - self.timer.stop('DIIS step') - # Final trial step