Skip to content

Commit 1a98901

Browse files
committed
Merge branch '2023.06-software.eessi.io' of github-trz:EESSI/software-layer into fix_CI_and_reframe_issues_on_grace
2 parents fed90b8 + 716d979 commit 1a98901

10 files changed

Lines changed: 232 additions & 29 deletions

EESSI-install-software.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ fi
271271

272272
# Install NVIDIA drivers in host_injections (if they exist)
273273
if command_exists "nvidia-smi"; then
274+
export LD_LIBRARY_PATH="/.singularity.d/libs:${LD_LIBRARY_PATH}"
274275
nvidia-smi --version
275276
ec=$?
276277
if [ ${ec} -eq 0 ]; then

bot/build.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,15 @@ if [[ "${REPOSITORY_NAME}" == "dev.eessi.io" ]]; then
184184
COMMON_ARGS+=("--repository" "software.eessi.io,access=ro")
185185
fi
186186

187-
# add $software_layer_dir and /dev as extra bind paths; needed because of the result of
188-
# realpath this script may not yet be at a location bind mounted into the container
187+
# add $software_layer_dir and /dev as extra bind paths
188+
# - $software_layer_dir is needed because it is used as prefix for running scripts
189+
# - /dev is needed to access /dev/fuse
189190
COMMON_ARGS+=("--extra-bind-paths" "${software_layer_dir},/dev")
190191

192+
# pass through '--contain' to avoid leaking in scripts into the container session
193+
# note, --pass-through can be used multiple times if needed
194+
COMMON_ARGS+=("--pass-through" "--contain")
195+
191196
# make sure to use the same parent dir for storing tarballs of tmp
192197
PREVIOUS_TMP_DIR=${PWD}/previous_tmp
193198

easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023b.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,7 @@ easyconfigs:
4141
options:
4242
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/20902
4343
from-commit: 79f4cf21490f7f5b187af889be5426c1332a497d
44+
- astropy-7.0.0-gfbf-2023b.eb:
45+
options:
46+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/22469
47+
from-commit: fc22841fef99cbb2a221c18029b15e692e78c27c
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
easyconfigs:
2+
- CUDA-12.4.0.eb:
3+
options:
4+
accept-eula-for: CUDA
5+
# see https://github.com/easybuilders/easybuild-easyblocks/pull/3516
6+
include-easyblocks-from-commit: 3469151ce7e4f85415c877dee555aeea7691c757
7+
- UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb
8+
- UCC-CUDA-1.2.0-GCCcore-13.2.0-CUDA-12.4.0.eb:
9+
options:
10+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21565
11+
from-commit: 46141a3f40e699433fac03af2d3ed81bd5a62da7
12+
- OSU-Micro-Benchmarks-7.5-gompi-2023b-CUDA-12.4.0.eb:
13+
options:
14+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21926
15+
# from-commit: de79ec74eb076e1aceda5e21235a73c05ed6764c
16+
# use merge commit
17+
from-commit: f3bd10b19f7caf4de3302bc7a73749341db9c7d8

easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.4-001-system.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,7 @@ easyconfigs:
1414
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/22183
1515
from-commit: 2b2fe53c885799cbf13b77ddfa9532c48b296e9d
1616
- ReFrame-4.6.2.eb
17+
- Pandoc-3.6.2.eb:
18+
options:
19+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/22493
20+
from-commit: da8ed20bad0dd1c6533c568f6c4fbb7c3d15342e

easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.4-2023a.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,66 @@ easyconfigs:
2727
- ALL-0.9.2-foss-2023a.eb
2828
- CDO-2.2.2-gompi-2023a.eb
2929
- BWA-0.7.17-20220923-GCCcore-12.3.0.eb
30+
- METIS-5.1.0-GCCcore-12.3.0.eb
31+
- SCOTCH-7.0.3-gompi-2023a.eb
32+
- CGAL-5.6-GCCcore-12.3.0.eb
33+
- ParaView-5.11.2-foss-2023a.eb
34+
- gnuplot-5.4.8-GCCcore-12.3.0.eb
35+
- Boost.MPI-1.82.0-gompi-2023a.eb:
36+
options:
37+
# source URLs for Boost.MPI have changed, corresponding PR is
38+
# https://github.com/easybuilders/easybuild-easyconfigs/pull/22240
39+
# Boost.MPI is a dependency of ESPResSo
40+
from-commit: e610fe1ac5393d1de668a466fdaaea74c580ee03
41+
- ESPResSo-4.2.1-foss-2023a.eb
42+
- Rivet-3.1.9-gompi-2023a-HepMC3-3.2.6.eb
43+
- Pillow-10.0.0-GCCcore-12.3.0.eb
44+
- sympy-1.12-gfbf-2023a.eb
45+
- networkx-3.1-gfbf-2023a.eb
46+
- expecttest-0.1.5-GCCcore-12.3.0.eb
47+
- PyYAML-6.0-GCCcore-12.3.0.eb
48+
- pytest-flakefinder-1.1.0-GCCcore-12.3.0.eb
49+
- pytest-rerunfailures-12.0-GCCcore-12.3.0.eb
50+
- pytest-shard-0.1.2-GCCcore-12.3.0.eb
51+
- scikit-learn-1.3.1-gfbf-2023a.eb
52+
- MUMPS-5.6.1-foss-2023a-metis.eb:
53+
options:
54+
# source URLs for MUMPS have changed, corresponding PR is
55+
# https://github.com/easybuilders/easybuild-easyconfigs/pull/22582
56+
# MUMPS is a dependency of snakemake
57+
from-commit: 0437ff1ad34283398f55d4a6e01e6540b1ae9688
58+
- snakemake-8.4.2-foss-2023a.eb
59+
- LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb
60+
- PyTorch-2.1.2-foss-2023a.eb
61+
- matplotlib-3.7.2-gfbf-2023a.eb
62+
- PyQt5-5.15.10-GCCcore-12.3.0.eb
63+
- Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb
64+
- dask-2023.9.2-foss-2023a.eb
65+
- JupyterNotebook-7.0.2-GCCcore-12.3.0.eb
66+
- ImageMagick-7.1.1-15-GCCcore-12.3.0.eb
67+
- Z3-4.12.2-GCCcore-12.3.0.eb
68+
- PyOpenGL-3.1.7-GCCcore-12.3.0.eb
69+
- OpenJPEG-2.5.0-GCCcore-12.3.0.eb
70+
- Highway-1.0.4-GCCcore-12.3.0.eb
71+
- ELPA-2023.05.001-foss-2023a.eb
72+
- libxc-6.2.2-GCC-12.3.0.eb:
73+
options:
74+
# possible change in gitlabs tarball packaging, affected by .gitattributes
75+
# https://github.com/easybuilders/easybuild-easyconfigs/pull/22580
76+
from-commit: 456d64bbeacf465e8f7e7ff378864e26352d045d
77+
- ParMETIS-4.0.3-gompi-2023a.eb:
78+
options:
79+
# source URLs for ParMETIS-4.0.3 have changed, corresponding PR is
80+
# https://github.com/easybuilders/easybuild-easyconfigs/pull/22579
81+
# ParMETIS-4.0.3 is a dependency of SuperLU_DIST-8.1.2
82+
from-commit: 977e5208a720f23ace41b83b84da8b717d0aeada
83+
- SuperLU_DIST-8.1.2-foss-2023a.eb
84+
- PETSc-3.20.3-foss-2023a.eb
85+
- MODFLOW-6.4.4-foss-2023a.eb
86+
- NLopt-2.7.1-GCCcore-12.3.0.eb
87+
- nettle-3.9.1-GCCcore-12.3.0.eb
88+
- Xvfb-21.1.8-GCCcore-12.3.0.eb
89+
- libsndfile-1.2.2-GCCcore-12.3.0.eb
90+
- PostgreSQL-16.1-GCCcore-12.3.0.eb
91+
- ImageMagick-7.1.1-15-GCCcore-12.3.0.eb
92+
- GDAL-3.7.1-foss-2023a.eb

easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.4-2023b.yml

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,123 @@ easyconfigs:
105105
# options:
106106
# from-pr: 20792
107107
- Valgrind-3.23.0-gompi-2023b.eb
108+
# from here on easyconfigs were originally built with EB 4.9.2
109+
- IPython-8.17.2-GCCcore-13.2.0.eb
110+
- dlb-3.4-gompi-2023b.eb
111+
# originally built with EB 4.9.2, PR 20889 was included since EB 4.9.3
112+
# - pystencils-1.3.4-gfbf-2023b.eb:
113+
# options:
114+
# # see https://github.com/easybuilders/easybuild-easyconfigs/pull/20889
115+
# from-commit: c66c4788a17f7e4f55aa23f9fdb782aad97c9ce7
116+
- pystencils-1.3.4-gfbf-2023b.eb
117+
# originally built with EB 4.9.2, PR 21017 was included since EB 4.9.3, PR 3393
118+
# was included since EB 4.9.3
119+
# - Extrae-4.2.0-gompi-2023b.eb:
120+
# options:
121+
# # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21017
122+
# from-commit: 120f4d56efebd2bc61382db4c84a664a339c66cf
123+
# # see https://github.com/easybuilders/easybuild-easyblocks/pull/3393
124+
# include-easyblocks-from-commit: c4951c78d62fa5cf8e9f6fe0ead212d2a4d7cb9c
125+
- Extrae-4.2.0-gompi-2023b.eb
126+
- Boost.MPI-1.83.0-gompi-2023b.eb:
127+
options:
128+
# source URLs for Boost.* have changed, corresponding PR is
129+
# https://github.com/easybuilders/easybuild-easyconfigs/pull/22240
130+
# Boost.MPI is a dependency of pyMBE
131+
from-commit: e610fe1ac5393d1de668a466fdaaea74c580ee03
132+
# originally built with EB 4.9.2, PR 21034 was included since EB 4.9.3
133+
# - pyMBE-0.8.0-foss-2023b.eb:
134+
# options:
135+
# # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21034
136+
# from-commit: 76e7fc6657bab64bfbec826540a3a8f0040258f2
137+
- pyMBE-0.8.0-foss-2023b.eb
138+
# originally built with EB 4.9.2, PR 21200 was included since EB 4.9.3
139+
# - STAR-2.7.11b-GCC-13.2.0.eb:
140+
# options:
141+
# # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21200
142+
# from-commit: 765ba900daf5953e306c4dad896febe52fdd6c00
143+
- STAR-2.7.11b-GCC-13.2.0.eb
144+
- HPL-2.3-foss-2023b.eb
145+
# originally built with EB 4.9.2, PR 21366 was included since EB 4.9.3
146+
# - R-bundle-CRAN-2024.06-foss-2023b.eb:
147+
# options:
148+
# # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21366
149+
# # we use a commit from the Brunsli PR here to get rid of the Highway dependency
150+
# from-commit: 1736a123b1685836452587a5c51793257570bb2d
151+
- R-bundle-CRAN-2024.06-foss-2023b.eb
152+
# from here on easyconfigs were originally built with EB 4.9.3
153+
- GROMACS-2024.3-foss-2023b.eb:
154+
options:
155+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21430
156+
from-commit: 8b509882d03402e2998ff9b22c154a6957e36d6b
157+
# originally built with EB 4.9.3, PR 21436 was merged into develop before EB
158+
# 4.9.4 was released, but maybe it wasn't included in EB 4.9.4, to be on the safe
159+
# side we just use the commit, PR 3569 was targetting Sapphire Rapids, so likely
160+
# that is not needed here, however we keep it to stay in sync with what was used
161+
# for Sapphire Rapids
162+
- LAMMPS-29Aug2024-foss-2023b-kokkos.eb:
163+
options:
164+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21436
165+
from-commit: 9dc24e57880a8adb06ae10557c5315e66671a533
166+
# see https://github.com/easybuilders/easybuild-easyblocks/pull/3569
167+
include-easyblocks-from-commit: 362b4679193612e04abe336fa041e2a34d183991
168+
# from here on easyconfigs were originally built with EB 4.9.4
169+
- SIONlib-1.7.7-GCCcore-13.2.0-tools.eb:
170+
options:
171+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21752
172+
# NOTE, commit is the last one before the merge commit for PR 21752
173+
from-commit: 6b8b53493a1188a5baa56a133574daac239730e7
174+
- Score-P-8.4-gompi-2023b.eb:
175+
options:
176+
# see https://github.com/easybuilders/easybuild-easyblocks/pull/3496
177+
# NOTE, commit is the last one before the merge commit for PR 3496
178+
include-easyblocks-from-commit: 60633b0acfd41a0732992d9e16800dae71a056eb
179+
- Cython-3.0.10-GCCcore-13.2.0.eb
180+
- Mustache-1.3.3-foss-2023b.eb:
181+
options:
182+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21783
183+
# NOTE, commit is the last one before the merge commit for PR 21783
184+
from-commit: 5fa3db9eb36f91cba3fbf351549f8ba2849abc33
185+
- GDRCopy-2.4-GCCcore-13.2.0.eb
186+
- GROMACS-2024.4-foss-2023b.eb:
187+
options:
188+
# https://github.com/easybuilders/easybuild-easyconfigs/pull/21851
189+
# NOTE, below commit is the merge commit for PR 21851
190+
from-commit: f0fa64b440deaf5fb0a6d26ff1bb3e9f36626c8a
191+
- SlurmViewer-1.0.1-GCCcore-13.2.0.eb:
192+
options:
193+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21899
194+
# NOTE, below commit is the merge commit for PR 21899
195+
from-commit: 0bdeb23c9ea5a3caefd353ecd936919424c1bba4
196+
- wxWidgets-3.2.6-GCC-13.2.0.eb:
197+
options:
198+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21915
199+
# NOTE, below commit is the merge commit for PR 21915
200+
from-commit: 58f16c0caf8c5494c68e9eda8cbf19e9145d3cfa
201+
- DP3-6.2-foss-2023b.eb:
202+
options:
203+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21765
204+
# NOTE, below commit is the merge commit for PR 21765
205+
from-commit: c7e4bfe1a57cf9781ce346ba8ae9081644408c23
206+
- WSClean-3.5-foss-2023b.eb:
207+
options:
208+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21765
209+
# NOTE, below commit is the merge commit for PR 21765
210+
from-commit: c7e4bfe1a57cf9781ce346ba8ae9081644408c23
211+
- EveryBeam-0.6.1-foss-2023b.eb:
212+
options:
213+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21765
214+
# NOTE, below commit is the merge commit for PR 21765
215+
from-commit: c7e4bfe1a57cf9781ce346ba8ae9081644408c23
216+
# a few apps installed in late march/early april 2025
217+
- lit-18.1.7-GCCcore-13.2.0.eb:
218+
options:
219+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/20902
220+
from-commit: 79f4cf21490f7f5b187af889be5426c1332a497d
221+
- astropy-7.0.0-gfbf-2023b.eb:
222+
options:
223+
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/22469
224+
from-commit: fc22841fef99cbb2a221c18029b15e692e78c27c
108225
# JUST FOR TESTING WHETHER adding --contain removes lua error messages and lets
109226
# ReFrame tests run
110227
- BWA-0.7.18-GCCcore-13.2.0.eb:

eb_hooks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ def pre_prepare_hook_highway_handle_test_compilation_issues(self, *args, **kwarg
502502
# note: keep condition in sync with the one used in
503503
# post_prepare_hook_highway_handle_test_compilation_issues
504504
if self.version in ['1.0.4'] and tcname == 'GCCcore' and tcversion == '12.3.0':
505-
if cpu_target in [CPU_TARGET_A64FX, CPU_TARGET_NEOVERSE_V1]:
505+
if cpu_target in [CPU_TARGET_A64FX, CPU_TARGET_NEOVERSE_V1, CPU_TARGET_NVIDIA_GRACE]:
506506
self.cfg.update('configopts', '-DHWY_ENABLE_TESTS=OFF')
507507
if cpu_target == CPU_TARGET_NEOVERSE_N1:
508508
self.orig_optarch = build_option('optarch')

eessi_container.sh

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ display_help() {
8989
echo " -n | --nvidia MODE - configure the container to work with NVIDIA GPUs,"
9090
echo " MODE==install for a CUDA installation, MODE==run to"
9191
echo " attach a GPU, MODE==all for both [default: false]"
92+
echo " -p | --pass-through ARG - argument to pass through to the launch of the"
93+
echo " container; can be given multiple times [default: not set]"
9294
echo " -r | --repository CFG - configuration file or identifier defining the"
9395
echo " repository to use; can be given multiple times;"
9496
echo " CFG may include a suffix ',access={ro,rw}' to"
@@ -126,6 +128,7 @@ VERBOSE=0
126128
STORAGE=
127129
LIST_REPOS=0
128130
MODE="shell"
131+
PASS_THROUGH=()
129132
SETUP_NVIDIA=0
130133
REPOSITORIES=()
131134
RESUME=
@@ -182,6 +185,10 @@ while [[ $# -gt 0 ]]; do
182185
NVIDIA_MODE="$2"
183186
shift 2
184187
;;
188+
-p|--pass-through)
189+
PASS_THROUGH+=("$2")
190+
shift 2
191+
;;
185192
-r|--repository)
186193
REPOSITORIES+=("$2")
187194
shift 2
@@ -842,8 +849,10 @@ if [ ! -z ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} ]; then
842849
export APPTAINERENV_EESSI_SOFTWARE_SUBDIR_OVERRIDE=${EESSI_SOFTWARE_SUBDIR_OVERRIDE}
843850
fi
844851

845-
# always add --contain option to further isolate container run from host
846-
ADDITIONAL_CONTAINER_OPTIONS+=("--contain")
852+
# add pass through arguments
853+
for arg in "${PASS_THROUGH[@]}"; do
854+
ADDITIONAL_CONTAINER_OPTIONS+=(${arg})
855+
done
847856

848857
echo "Launching container with command (next line):"
849858
echo "singularity ${RUN_QUIET} ${MODE} ${ADDITIONAL_CONTAINER_OPTIONS[@]} ${EESSI_FUSE_MOUNTS[@]} ${CONTAINER} $@"

install_apptainer_ubuntu.sh

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,13 @@
22

33
set -e
44

5-
# see https://github.com/apptainer/singularity/issues/5390#issuecomment-899111181
6-
sudo apt-get install alien
7-
alien --version
8-
epel_subdir="pub/epel/8"
9-
apptainer_rpm=$(curl --silent -L https://dl.fedoraproject.org/${epel_subdir}/Everything/x86_64/Packages/a/ | grep 'apptainer-[0-9]' | sed 's/.*\(apptainer[0-9._a-z-]*.rpm\).*/\1/g')
10-
curl -OL https://dl.fedoraproject.org/${epel_subdir}/Everything/x86_64/Packages/a/${apptainer_rpm}
11-
sudo alien -d ${apptainer_rpm}
12-
sudo apt install ./apptainer*.deb
13-
# No unpriviledged user name spaces in Ubuntu 23.10+
14-
ubuntu_version=$(lsb_release -r | awk '{print $2}')
15-
if [[ $(echo -e "$ubuntu_version\n23.10" | sort -V | head -n 1) == "23.10" ]]; then
16-
sudo tee /etc/apparmor.d/apptainer << 'EOF'
17-
# Permit unprivileged user namespace creation for apptainer starter
18-
abi <abi/4.0>,
19-
include <tunables/global>
20-
profile apptainer /usr/libexec/apptainer/bin/starter{,-suid}
21-
flags=(unconfined) {
22-
userns,
23-
# Site-specific additions and overrides. See local/README for details.
24-
include if exists <local/apptainer>
25-
}
26-
EOF
27-
sudo systemctl reload apparmor
28-
fi
5+
sudo apt update
6+
sudo apt install -y software-properties-common
7+
8+
sudo add-apt-repository -y ppa:apptainer/ppa
9+
sudo apt update
10+
sudo apt install -y apptainer-suid
11+
2912
apptainer --version
3013
# also check whether 'singularity' command is still provided by Apptainer installation
3114
singularity --version

0 commit comments

Comments
 (0)