Skip to content

Commit ef73ea9

Browse files
authored
Merge pull request EESSI#1049 from trz42/2023.06-a64fx-2023a-eb491-apps-1
{2023.06}[2023a,a64fx] apps originally built with EB 4.9.1
2 parents 73cab7f + e552fcb commit ef73ea9

2 files changed

Lines changed: 84 additions & 0 deletions

File tree

det_submit_opts.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import os
2+
import subprocess
3+
4+
from easybuild.framework.easystack import EasyStackParser
5+
6+
CPU_TARGET_A64FX = 'aarch64/a64fx'
7+
8+
9+
def get_orig_easystack(easystack, repo_path):
10+
""" write the original easystack file (before the diff was applied) """
11+
orig_easystack = f'{easystack}.orig'
12+
git_cmd = f'git -C {repo_path} show HEAD:{easystack}'.split()
13+
with open(os.path.join(repo_path, orig_easystack), 'w', encoding='utf-8') as outfile:
14+
subprocess.run(git_cmd, check=True, stdout=outfile)
15+
return orig_easystack
16+
17+
18+
def det_submit_opts(job):
19+
"""
20+
determine submit options from added easyconfigs
21+
Args:
22+
job (Job): namedtuple containing all information about job to be submitted
23+
24+
Returns:
25+
(string): string containing extra submit options
26+
"""
27+
easystack = 'easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-2023a.yml'
28+
repo_path = job.working_dir
29+
orig_easystack = get_orig_easystack(easystack, repo_path)
30+
31+
esp = EasyStackParser()
32+
orig_ecs = {x[0] for x in esp.parse(os.path.join(repo_path, orig_easystack)).ec_opt_tuples}
33+
pr_ecs = {x[0] for x in esp.parse(os.path.join(repo_path, easystack)).ec_opt_tuples}
34+
added_ecs = pr_ecs - orig_ecs
35+
print(f'added easyconfigs: {added_ecs}')
36+
37+
submit_opts = [job.slurm_opts]
38+
for ec in added_ecs:
39+
# remove OS part from arch_target
40+
arch_name = '/'.join(job.arch_target.split('/')[1:])
41+
# set walltime limit to 2 days when R-bundle-CRAN should be built on a64fx
42+
if ec.startswith('R-bundle-CRAN-2023.12-foss-2023a') and arch_name == CPU_TARGET_A64FX:
43+
submit_opts.append('--time=2-00:00:00')
44+
45+
return ' '.join(submit_opts)

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

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,3 +258,42 @@ easyconfigs:
258258
- PostgreSQL-16.1-GCCcore-12.3.0.eb
259259
- ImageMagick-7.1.1-15-GCCcore-12.3.0.eb
260260
- GDAL-3.7.1-foss-2023a.eb
261+
# from here on apps were originally built with EB 4.9.1 (except for
262+
# R-bundle-CRAN-2023.12-foss-2023a, which was originally built with 4.9.4)
263+
- ncdu-1.18-GCC-12.3.0.eb
264+
- SAMtools-1.18-GCC-12.3.0.eb
265+
- R-bundle-CRAN-2023.12-foss-2023a.eb
266+
# R-bundle-CRAN requires a lot of time. We first build that one and afterwards
267+
# continue with the ones below.
268+
#
269+
## while PR 20379 is included since EB 4.9.2, we need to use a commit to avoid
270+
## rebuilding R-bundle-Bioconductor due to the later PR 21948 which was only made
271+
## available with EB 5.0.0
272+
## - R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb:
273+
## options:
274+
## from-pr: 20379
275+
# - R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb:
276+
# options:
277+
# # (additional extensions have been added)
278+
# # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21948
279+
# from-commit: f9cfe6ac7d9019970c2be3e8b09db4d846cf005a
280+
## PR 18852 is included since EB 4.9.2
281+
## - ipympl-0.9.3-gfbf-2023a.eb:
282+
## options:
283+
## # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18852
284+
## from-pr: 18852
285+
# - ipympl-0.9.3-gfbf-2023a.eb
286+
## PR 20595 is included since EB 4.9.2
287+
## - ESPResSo-4.2.2-foss-2023a.eb:
288+
## options:
289+
## from-pr: 20595
290+
# - ESPResSo-4.2.2-foss-2023a.eb
291+
# - GATK-4.5.0.0-GCCcore-12.3.0-Java-17.eb
292+
# - WhatsHap-2.2-foss-2023a.eb
293+
## PR 20784 is included since EB 4.9.2
294+
## - BLAST+-2.14.1-gompi-2023a.eb:
295+
## options:
296+
## from-pr: 20784
297+
# - BLAST+-2.14.1-gompi-2023a.eb
298+
# - Valgrind-3.21.0-gompi-2023a.eb
299+
# - OrthoFinder-2.5.5-foss-2023a.eb

0 commit comments

Comments
 (0)