diff --git a/definition-files/ubuntu/Singularity.18.04.base b/definition-files/ubuntu/Singularity.18.04.base index bba4590c9b1855cb80cda39faa6296641978d116..0080fccd018317a5c4452ca91df0993b1c7350fe 100644 --- a/definition-files/ubuntu/Singularity.18.04.base +++ b/definition-files/ubuntu/Singularity.18.04.base @@ -1,89 +1,16 @@ -Bootstrap: debootstrap -MirrorURL: http://at.archive.ubuntu.com/ubuntu -OSVersion: bionic +Bootstrap: docker +From: ubuntu:18.04 %labels maintainer IT-IMGW <it.img-wien@univie.ac.at> -%environment - # Set operating system mirror URL - export MIRRORURL='http://at.archive.ubuntu.com/ubuntu' - - # Set operating system version - export OSVERSION='bionic' - - # Set system locale - #export LC_ALL='C' - export LANG=C.UTF-8 - - # Set debian frontend interface - export DEBIAN_FRONTEND='noninteractive' - -%post -c /bin/bash - - # Set operating system mirror URL - export MIRRORURL='http://at.archive.ubuntu.com/ubuntu' - - # Set operating system version - export OSVERSION='bionic' - - # Set system locale - # export LC_ALL=C - export LANG=C.UTF-8 - - # Set debian frontend interface - export DEBIAN_FRONTEND='noninteractive' - - # Install system metapackages - apt-get -y install ubuntu-standard - apt-get -y install ubuntu-server - - # Add repositories - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} main" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} universe" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} multiverse" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} restricted" - - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates main" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates universe" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates multiverse" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates restricted" - - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports main" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports universe" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports multiverse" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports restricted" - - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security main" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security universe" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security multiverse" - add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security restricted" - - # Upgrade all software packages to their latest versions - apt-get -y update && apt-get -y upgrade - - # Install common packages from 'main' - apt-get -y install autoconf - apt-get -y install automake - apt-get -y install build-essential - apt-get -y install cmake - apt-get -y install evince - apt-get -y install expect - apt-get -y install gfortran - apt-get -y install libtool - apt-get -y install mlocate - apt-get -y install pkg-config - apt-get -y install wget - apt-get -y install zip - - # Cleanup - apt-get -y autoremove --purge - apt-get -y clean +%files + $PWD/definition-files/runscript /.singularity.d/runscript + $PWD/definition-files/run-help /.singularity.d/runscript.help - # Update database for mlocate - updatedb +%post # command prompt name - CNAME=u18.04.base + CNAME=u18.base # does not work goes into /.singularity.d/env/91-environment.sh echo "export PS1=\"[IMGW-$CNAME]\w\$ \"" >> /.singularity.d/env/99-zz-custom-env.sh # add some labels diff --git a/definition-files/ubuntu/Singularity.18.04.base.bootstrap b/definition-files/ubuntu/Singularity.18.04.base.bootstrap new file mode 100644 index 0000000000000000000000000000000000000000..bba4590c9b1855cb80cda39faa6296641978d116 --- /dev/null +++ b/definition-files/ubuntu/Singularity.18.04.base.bootstrap @@ -0,0 +1,96 @@ +Bootstrap: debootstrap +MirrorURL: http://at.archive.ubuntu.com/ubuntu +OSVersion: bionic + +%labels + maintainer IT-IMGW <it.img-wien@univie.ac.at> + +%environment + # Set operating system mirror URL + export MIRRORURL='http://at.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + #export LC_ALL='C' + export LANG=C.UTF-8 + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://at.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + # export LC_ALL=C + export LANG=C.UTF-8 + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Install system metapackages + apt-get -y install ubuntu-standard + apt-get -y install ubuntu-server + + # Add repositories + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security restricted" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install common packages from 'main' + apt-get -y install autoconf + apt-get -y install automake + apt-get -y install build-essential + apt-get -y install cmake + apt-get -y install evince + apt-get -y install expect + apt-get -y install gfortran + apt-get -y install libtool + apt-get -y install mlocate + apt-get -y install pkg-config + apt-get -y install wget + apt-get -y install zip + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + # command prompt name + CNAME=u18.04.base + # does not work goes into /.singularity.d/env/91-environment.sh + echo "export PS1=\"[IMGW-$CNAME]\w\$ \"" >> /.singularity.d/env/99-zz-custom-env.sh + # add some labels + echo "libc $(ldd --version | head -n1 | cut -d' ' -f4)" >> "$SINGULARITY_LABELS" + echo "linux $(cat /etc/os-release | grep PRETTY_NAME | cut -d'=' -f2)" >> "$SINGULARITY_LABELS" + +%environment + export LANG=C.UTF-8 + export LIBRARY=/usr/lib64:/lib64:/lib + export INCLUDE=/usr/include \ No newline at end of file diff --git a/development/spack.cs.yaml b/development/spack.cs.yaml index 8125a4fa78440a50e33563c7b403b1b800d3603e..cc97708133e13e0e831eac20e62fa34298d63a7b 100644 --- a/development/spack.cs.yaml +++ b/development/spack.cs.yaml @@ -1,12 +1,14 @@ spack: specs: - #- hdf5@1.10.7+mpi target=skylake - - openmpi@4.1.1 fabrics=ucx schedulers=slurm +legacylaunchers+thread_multiple+pmi target=skylake - - ucx@ +thread_multiple+pic+rc+dm+dc+ud+cma+mlx5-dv target=skylake + - openblas@0.3.18 target=skylake + - netcdf-fortran@4.5.2 target=skylake + - netcdf-c@4.7.4+parallel-netcdf target=skylake + - hdf5@1.12.1+mpi+fortran+hl+threadsafe+szip target=skylake + - openmpi@4.1.1+legacylaunchers+pmi fabrics=ucx schedulers=slurm target=skylake + - ucx@1.11.2 +thread_multiple+pic+rc+dm+dc+ud+cma target=skylake container: images: - # os: "ubuntu:18.04" os: "centos:8" spack: 0.19.0 @@ -21,3 +23,6 @@ spack: labels: mpi: "openmpi@4.1.1" + netcdf: "4.7.4" + hdf5: "1.12.1" + ucx: "1.11.2+ud" diff --git a/development/spack.yaml b/development/spack.yaml index c952c54f139a5531f0f954fa8178f83760b5e1de..178c161e34cbb6a46f78de2ba7bc1c98e1b1bb8e 100644 --- a/development/spack.yaml +++ b/development/spack.yaml @@ -1,7 +1,7 @@ spack: specs: - - hdf5@1.10.7+mpi target=skylake - - openmpi@3.1.6 target=skylake + - hdf5@1.10.7+mpi+fortran+hl target=skylake + - openmpi@3.1.6 fabrics=ucx target=skylake container: images: @@ -19,4 +19,4 @@ spack: labels: app: "hdf5@1.10.7+mpi" - mpi: "openmpi@3.1.6" \ No newline at end of file + mpi: "openmpi@3.1.6" diff --git a/models/WRF/Singularity.wrf b/models/WRF/Singularity.wrf index 9406e9e578afd1cd214758cbfa9a831c39f8ae89..8efe12b27e3396ae82bf6e8a74003bd9a4c609a7 100644 --- a/models/WRF/Singularity.wrf +++ b/models/WRF/Singularity.wrf @@ -25,7 +25,9 @@ NETCDF=/usr/lib64/openmpi/ mkdir -vp /wrf/WRF /wrf/WPS \ && cat /wrf/WRF.tar.gz | tar --no-same-owner --strip-components=1 -zxC /wrf/WRF \ - && cat /wrf/WPS.tar.gz | tar --no-same-owner --strip-components=1 -zxC /wrf/WPS + && cat /wrf/WPS.tar.gz | tar --no-same-owner --strip-components=1 -zxC /wrf/WPS \ + && rm /wrf/WRF.tar.gz /wrf/WPS.tar.gz + # Build WRF with Option 34 and 1 # GCC with openmpi