-
Notifications
You must be signed in to change notification settings - Fork 0
Sync meeting on EESSI software layer (2023 05 16)
Kenneth Hoste edited this page May 31, 2023
·
1 revision
(copied from https://hackmd.io/58wNKPaCSSS97D7U-5KB4g)
This document collects information about the EESSI/2023.04 software-layer (what toolchains and software packages it should include, how to build the software, what issues are encountered and how they have been resolved). It also serves to coordinate the building of the software layer version and keeps track of meetings/discussions around that.
Attending: Thomas, Kenneth, Jure, Alan, Richard
- 2023.04 compat layer for x86_64 + aarch64 has been ingested
$ ls /cvmfs/pilot.eessi-hpc.org/versions/2023.04/compat/linux aarch64 x86_64
- GCC
- building GCC 10.3 on top of 2023.04 compat layer works fine
- requires changes in GCC easyblock, see https://github.com/easybuilders/easybuild-easyblocks/pull/2921
- building GCC 9.3 fails
- probably due to GCC + binutils in compat layer being too new
- building GCC 11.3.0 (for foss/2022a) and 12.2.0 (for foss/2022b) fails in RPATH sanity check
No '(RPATH)' found in 'readelf -d' output for /cvmfs/pilot.eessi-hpc.org/versions/2023.04/software/linux/x86_64/intel/skylake_avx512/software/GCCcore/11.3.0/lib64/libgcc_s.so.1:
- Need to figure out what the problem is here...
- Does this actually work on top of 2021.12?
- building GCC 10.3 on top of 2023.04 compat layer works fine
- Python/3.9.5-GCCcore-10.3.0
- Rust 1.52.1 build dependency fails, but Rust 1.60.0 works fine...
- We can work around this for EESSI via an EasyBuild hook
- OpenBLAS
- trouble due to make 4.4 in compat layer, see https://github.com/xianyi/OpenBLAS/issues/3899
- could add a specific version of make as a build dependency in OpenBLAS easyconfigs
- worked for NESSI: FFTW (didn't test FlexiBLAS + ScaLAPACK yet)
- bot is easily triggering GitHub rate limit
- we can add a GitHub token for EasyBuild
- we can skip easyconfigs specified in an easystack file before setting up the configuration (to skip --include-easyblocks-from-pr)
- EasyBuild could warn about missing GitHub token when from-pr options are used in easystack file
- bot could install the temporary token it creates via a certificate for EasyBuild (but need to be careful with build jobs running in parallel)
- bot could recognize build error due to rate limit
- multiple easystack files?
- eessi-2023.04-easybuild-4.7.1-2021a.yml
- eessi-2023.04-eb471-2021a-x86_64.yml: stuff that only works on x86_64
easyconfigs: example-1.2.3: tags: only-x86_64, min_mem=64gb
- eessi-2023.04-easybuild-4.7.1-2021a.yml
- bot
- getting https://github.com/EESSI/eessi-bot-software-layer/pull/172 merged (Kenneth + Thomas)
- allow to instruct bot to use fatter nodes for some builds
arch_target_map = { "linux/x86_64/intel/haswell" : "--constraint shape=c4.4xlarge", "linux/x86_64/intel/haswell:largemem" : "--constraint shape=c4.8xlarge"
- bot:build:singlecore => single-core build nodes (Python packages, etc.)
- bot:build => regular build nodes
- bot:build:largemem => fat build nodes
- goals:
- get foss/2021a working
- TODO
- (Thomas) document workflow of adding software to EESSI + using the bot
- configure bots
- AWS: configure for list of CPUs
- Azure:
- set up partitions in Slurm clusters
- configure for list of CPUs
- build stuff via PR + bot for foss/2021a
- start with GCC/10.3.0
- build same stuff we have in EESSI pilot 2021.12 (OpenFOAM, etc.)
- split up the work: SciPy-bundle, Qt5, ...
- build stuff for foss/2022a