From 8463ce9766757fa123b1a74ca45a198ae1b97f65 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> Date: Wed, 13 Jul 2022 10:49:07 +0200 Subject: [PATCH] Add installation script for CI prerequisites on Levante. --- .ci/bb/levante-dkrz/install_prerequisites.sh | 77 ++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100755 .ci/bb/levante-dkrz/install_prerequisites.sh diff --git a/.ci/bb/levante-dkrz/install_prerequisites.sh b/.ci/bb/levante-dkrz/install_prerequisites.sh new file mode 100755 index 000000000..7b9d22858 --- /dev/null +++ b/.ci/bb/levante-dkrz/install_prerequisites.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +set -eu +unset CDPATH + +module purge +module load git + +install_dir='/work/mh0287/m300488/libcdi-ci-sw/install' +work_dir="$(pwd)/build" +make_cmd='make -j22' + +mkdir -p "${work_dir}" && cd "${work_dir}" + +# Get PPM 1.0.8: +wget https://swprojects.dkrz.de/redmine/attachments/download/517/ppm-1.0.8.tar.gz +tar xvf ppm-1.0.8.tar.gz +ppm_src_dir="${work_dir}/ppm-1.0.8" +ppm_name_tag='ppm-1.0.8' +ppm_config_args='--enable-MPI --disable-netcdf --disable-hdf5 --disable-parmetis --disable-metis --disable-crypto' + +# Get YAXT 0.9.3: +git clone --depth=1 -b release-0.9.3 https://gitlab.dkrz.de/dkrz-sw/yaxt.git +yaxt_src_dir="${work_dir}/yaxt" +yaxt_name_tag='yaxt-0.9.3' +yaxt_config_args='' + +export CC='mpicc' +export FC='mpif90' + +# Install for GCC 11.2.0: +compiler_name_tag='gcc-11.2.0' +module load openmpi/4.1.2-gcc-11.2.0 + +# Install PPM: +build_dir="${ppm_name_tag}-${compiler_name_tag}" +mkdir "${build_dir}" +( cd "${build_dir}" + "${ppm_src_dir}/configure" ${ppm_config_args} --prefix="${install_dir}/${ppm_name_tag}-${compiler_name_tag}" + $make_cmd + $make_cmd check + $make_cmd install ) + +# Install YAXT: +build_dir="${yaxt_name_tag}-${compiler_name_tag}" +mkdir "${build_dir}" +( cd "${build_dir}" + "${yaxt_src_dir}/configure" ${yaxt_config_args} --prefix="${install_dir}/${yaxt_name_tag}-${compiler_name_tag}" + $make_cmd + $make_cmd check + $make_cmd install ) + +module unload openmpi/4.1.2-gcc-11.2.0 + +# Install for Intel Classic 2021.5.0: +compiler_name_tag='intel-classic-2021.5.0' +module load openmpi/4.1.2-intel-2021.5.0 + +# Install PPM: +build_dir="${ppm_name_tag}-${compiler_name_tag}" +mkdir "${build_dir}" +( cd "${build_dir}" + "${ppm_src_dir}/configure" ${ppm_config_args} --prefix="${install_dir}/${ppm_name_tag}-${compiler_name_tag}" + $make_cmd + $make_cmd check + $make_cmd install ) + +# Install YAXT: +build_dir="${yaxt_name_tag}-${compiler_name_tag}" +mkdir "${build_dir}" +( cd "${build_dir}" + "${yaxt_src_dir}/configure" ${yaxt_config_args} --prefix="${install_dir}/${yaxt_name_tag}-${compiler_name_tag}" + $make_cmd + $make_cmd check + $make_cmd install ) + +module unload openmpi/4.1.2-intel-2021.5.0 -- GitLab