Conference call notes 20201014 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 158th EasyBuild conference call, Wednesday October 14th 2020 (15:00 UTC - 17:00 CEST)

Attendees

Alphabetical list of attendees (13):

  • Simon Branford (Univ. of Birmingham, UK)
  • Terje Kvernes (University of Oslo, Norway)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (Big Data Institute, Oxford, UK)
  • Alan O'Cais (Jülich Supercomputing Centre, Germany)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Åke Sandgren (Umeå University, Sweden)
  • Jörg Saßmannshausen (NIHR Biomedical Research Centre, UK)
  • Joachim Hein (Lunarc, Lund University, Sweden)
  • Maxime Boissonneault (Compute Canada)
  • Caspar van Leeuwen (SURF.nl)
  • Davide Vanzo (Microsoft HPC)
  • Lars Viklund (Umeå University, Sweden)

Agenda

  • recent developments
    • incl. fosscuda/2020a
  • updates on 2020b version of common toolchains (foss, intel)
  • support for "spec" file to specify software stacks to install with EasyBuild
  • Q&A

Recent developments

  • ETA next release (probably EasyBuild v4.3.1): next week?
  • recent changes
    • framework
      • avoid appending lib stubs pattern to RPATH filter over and over again (PR #3452)
      • add support for NVHPC compiler + toolchain (PR #3454)
      • fix compatibility with Python 3.9 by renaming fancy root logger (PR #3465)
      • take into account --include-easyblocks-from-pr when uploading test reports (PR #3446)
    • easyblocks
      • add sanity check commands to Clang easyblock and print warning for missing ncurses (PR #2193)
      • make OpenBLAS respect the parallelism set by EasyBuild (PR #2196)
      • enhance OpenFOAM easyblock to add symlinks for libraries to ensure 'mpi' versions have preference over 'dummy' versions (PR #2196)
        • fixes partially broken OpenFOAM installations when using eb --rpath
      • leverage installed OpenSSL/BoringSSL when cURL is used as a dependency for TensorFlow (PR #2197)
    • easyconfigs
      • fix source for SQLite 3.31.1 (PR #11483)
        • was using source tarball for SQLite 3.29.0
        • sanity check enhanced to check output of sqlite3 --version
      • fix installation of Bioconductor 3.11 bundle on aarch64 (PR #11417)
      • add patches for OpenBLAS easyconfigs to fix miscomputation on POWER and performance issues (threads racing to allocate per-threads memory buffers) (PR #11445, PR #11444, PR #11443)
      • add missing DB dependency for Perl (PR #11452, PR #11451)
      • fix PyVCF easyconfig, only supports Python 2 (PR #11437)
      • stick to Python 2 as build dep for Qt5 5.13.1 + 5.14.1 (PR #11385, PR #11386)
      • fix infinite loop build bug on ppc64le for R v4.0.0 (PR #11428)
      • fix OpenFOAM 2.3.1-intel-2019b installation on RHEL8 (PR #11409)
      • TensorFlow v2.3.1 w/ foss/2019b + fosscuda/2019b (PR #11375)
  • to merge soon:

Updates on fosscuda/2020a

2020b update of common toolchains

  • base: GCC 10.2 + binutils 2.35
  • foss:
  • intel:
    • see PR #11337
    • compilers: 2020 update 3 (Aug 21st 2020)
    • MPI: 2019 update 8 (Jul 15th 2020)
    • MKL: 2020 update 3 (Sept 1st 2020)
    • is GCC 10.x supported officially as base compiler?
      • reply from Kenneth's inside Intel contact:

        GCC 10.2:
        Since gcc 10.2 released on July 23, no past releases of 19.1 (like PSXE 2020 update 2) have been tested with it. Upcoming PSXE 2020 update 4 (compiler 19.1.3) is tested with gcc 10.2.  For 2021.1 Beta 09 was tested with gcc 10.2.
        We haven't seen major issues for gcc 10.2 vs 10.1 so it would be safe to assume that PSXE 2020 update 2 will work (it was tested against gcc 10.1).
        
        binutils 2.35:
        We haven’t tested any IL0 compiler against binutils 2.35 (released on July 24). We only do testing with binutils that come with OS we      support. The most recent binutils we tested are 2.34 coming with Ubuntu 20.04.
        So we cannot claim the compiler will work fine with binutils 2.35.
        
  • recent progress:
  • notes:
    • planning to drop versionsuffix when using Python 3 as a dep (retain with Python 2)
  • TODO:
    • testing large applications on top of these candidate toolchain definitions! (R, OpenFOAM, GROMACS, ...)

Support for "spec" file to specify software stacks to install with EasyBuild

  • see https://github.com/easybuilders/easybuild-framework/issues/3468
  • see also notes of EESSI meeting on this topic @ https://github.com/EESSI/software-layer/wiki/Brainstorm-meeting-(Oct-9th-2020)
  • feedback
    • Maxime: use easyconfig filenames rather than nested structure?
    • other use case next to defining software stacks: communicating software to re-install after updating EasyBuild
      • Åke: would be nice if EB is smart enough to combine multiple of those spec.yml files
      • Terje: discriminate between "hard" and "soft" fixes in spec.yml that comes with EB release
      • Kenneth: support for specifying command to check whether rebuild is needed
      • Mikael: would never use this blindly, want to be able to filter through and decide myself what to redo
      • Adam: could also be done in separate section in release notes in short term in the mean time?
      • could print overview of what to reinstall after installing a particular EasyBuild release
      • Caspar: this is just one use case...

Easyconfigs merge sprint

Ideas for next EasyBuild User Meeting

Q&A

  • Mikael: --install-latest-eb-release should spit out link to release notes?