Skip to content

Sync meeting on EESSI software layer (2023 05 16)

Kenneth Hoste edited this page May 31, 2023 · 1 revision

EESSI/2023.04 software layer

(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.

Meeting 2023-05-16, 09:00 CEST (UTC+2)

Attending: Thomas, Kenneth, Jure, Alan, Richard

Topics

  • 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
    • 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?
  • 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
  • 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
  • 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
    • 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
Clone this wiki locally