Conference call notes 20220622 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 200th 🎉 EasyBuild conference call, Wednesday 22 June 2022 (08:00 UTC)

Attendees

Alphabetical list of attendees (10):

  • Simon Branford (Univ. of Birmingham, UK)
  • Jordi Camps (CNAG-CRG)
  • Jasper Grimm (University of York, UK)
  • Jorge Guerra (Universidad Politécnica de Madrid, Spain)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (Big Data Institute, Oxford, UK)
  • Robert Mijakovic (LuxProvide, Luxembourg)
  • Sebastien Moretti (SIB, Switzerland)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Åke Sandgren (Umeå University, Sweden)

Agenda

  • overview of recent developments
  • progress on 2022a update of common toolchains
  • Q&A

Recent developments

  • release timeline
    • latest release: EasyBuild v4.5.5 (8 June 2022)
    • ETA next release: early July 2022
  • recent changes
    • framework
      • bug fixes
        • make sure that ARCH constant has 'aarch64' (rather than 'arm64') as value on macOS ARM (PR #4018)
        • tweak is_patch_for function to make it more robust (PR #4028)
      • enhancements
        • allow searching for sources/patches in alternative location by specifying 'alt_location' in source/patch spec (PR #3994)
      • changes
        • show URLs used for download attempts in trace output (PR #4026)
        • update Lmod used to run tests to version 8.7.4 (PR #4027)
    • easyblocks
      • bug fixes
        • make VEP easyblock compatible with --sanity-check-only (PR #2743)
        • update Rosetta easyblock to take into account that $LD_LIBRARY_PATH, $CPATH, $PATH may not be defined (PR #2744)
        • only load temporary module file during sanity check for pybind11 for stand-alone installations, so it can be installed as extension (PR #2747)
        • make sure that CMakeMakeCp uses correct build dir (PR #2748)
      • enhancements
        • enable building of shared library for Libint 2.7+ (PR #2738)
      • updates
        • also support OpenSSL 3.0 in OpenSSL wrapper easyblock (PR #2746)
      • changes
        • ...
      • new software
        • add custom easyblock for STAR-CCM+ (PR #1613)
    • easyconfigs
      • ~70 easyconfig PRs were merged since last conf call
      • bug fixes
        • add missing Python dependency for HPDBSCAN to fix unresolved %(pyshortver)s template (PR #15694)
        • add patch for Mmg v5.6.0 to remove library CI tests that point to external sources (PR #15691)
        • correct configopts in deal.II v9.1.1 easyconfig (PR #15692)
          • we can/should enhance the tests to catch this?
        • add sysroot patch to Rust 1.60.0 (GCCcore/11.3.0) (PR #15593)
        • avoid that pygmo v2.18.0 installs stuff in Python installation directory (PR #15657)
      • enhancements
        • add custom sanity check paths to pygmo easyconfigs (PR #15657)
          • bot should use read-only install dirs
      • (noteworthy) new software
      • noteworthy software updates
      • changes
        • ...
  • to merge/fix/tackle soon
    • framework
      • reported bugs / bug fixes
        • tweak eb wrapper script to correctly handle errors when python command fails to run (PR #4019)
        • easyblock PR patches never applied when running in dry run mode (issue #4017)
          • probably need to force apply_patch in dry run mode somewhere...
      • enhancements
        • add Generation module naming scheme (PR #3547)
        • update prepare_rpath_wrappers to enable wrapper shipping with a module (WIP) PR #4003
          • relevant for EESSI project
          • see also companion PR for GCC easyblock (PR #2638)
        • add support for easystack file that contains easyconfig filenames (PR #4021)
          • WIP, requires a bit more love based on PR review
        • add toolchain option to customize linker command that compiler should use + use correct compiler options for using mold with GCC (WIP) (PR #4025)
          • need to figure out why using -fuse-ld=mold with Intel compilers doesn't result in using mold as linker...
        • add support for setting environment variables via 'pushenv' with modextravars (PR #4030)
        • add support for OneAPI compilers using toolchain option 'oneapi' (PR #4031)
      • changes
        • ...
    • easyblocks
      • bug reports/fixes
        • fix extension filter for Perl packages (PR #2699)
        • make Amber easyblock aware of FlexiBLAS (PR #2720)
        • PythonPackage is not compatible with --sanity-check-only (issue #2745)
        • installing LAMMPS prompts that the CPU architecture is unknown on AMD Milan (issue #2751)
        • can we improve support for 8 byte integers in linear algebra libraries? (issue #737)
          • related to building GAMESS on top of a toolchain that includes OpenBLAS
          • we can install OpenBLAS with both 4-byte and 8-byte integers, with different library names
          • and we can also enhance ScaLAPACK accordingly
      • enhancements
        • don't allow an easyblock that overrides run_all_steps() to be used in a bundle (PR #2732)
          • context: GROMACS does not play nice as a component (PR #2731)
        • improve PLUMED detection in GROMACS easyblock (PR #2749)
        • allow some PyTorch tests to fail + print warning if one or more tests fail (PR #2742)
      • updates
        • update LAMMPS easyblock for LAMMPS/29Oct20 (PR #2213)
        • update libQGLViewer easyblock to take into account changes in the shared library names depending on Qt versions they are compiled with (PR #2730)
      • new software
        • ...
      • changes
        • ...
    • easyconfigs
      • over 650 open easyconfig PRs, we're way overdue a significant cleanup round...
      • bug fixes
        • switch to Rust 1.60.0 build dependency for bamtofastq, since build of fails with Rust 1.52.1 (E0658) (PR #15636)
      • enhancements
        • add patch for GCCcore 11.3.0 to support using -fuse-ld=mold (PR #15715)
        • support offline installation of Rust (see also issue #13548)
      • new software
      • noteworthy software updates
        • RoseTTAFold v1.0.0 (PR #13795)
        • TensorFlow v2.7.1 (PR #14990)
          • PR should be ready to go now, final test reports coming in...
          • existing failing test reports were due to flukes?
        • hipSYCL v0.9.2 (PR #15074)
        • Qt6 (PR #15096)
        • AlphaFold v2.2.0 (PR #15129)
          • should be updated to AlphaFold v2.2.2
          • blocked by jax 0.3.9 (PR #15420, should be ready to merge)
        • PyTorch v1.11.0 (PR #15137)
          • blocked by enhanced PyTorch easyblock (PR #2742)
        • CP2K v9.1 with foss/2021a (PR #15146) and intel/2021a (PR #15147)
      • changes
        • in-place update to netCDF v4.9.0 with gompi/2022.05 (PR #15677)
        • suggestion: always use PythonBundle instead of PythonPackage (issue #15639)

2022a update of common toolchains

  • ~73 PRs merged already for easyconfigs in this generation
  • candidates for 2022a toolchains included with EasyBuild v4.5.5:
    • foss/2022.05 (see PR #15561)
      • GCC 11.3.0 (latest 11.x) + binutils 2.38
        • with ld.bfd as default linker (rather than ld.gold, which is no longer actively maintained)
      • OpenMPI 4.1.4 + UCX 1.12.1 + PMIx 4.1.2 + libfabric 1.15.1
      • FlexiBLAS 3.2.0 + OpenBLAS 0.3.20 + BLIS 0.9.0
      • FFTW 3.3.10
      • ScaLAPACK 2.2.0
    • intel/2022.05 (see PR #15485)
      • GCCcore 11.3.0 + binutils 2.38 as base
      • intel-compilers 2022.1.0 (latest)
      • impi 2021.6.0 (latest)
      • imkl 2022.1.0 (latest)
  • "major apps" with 2022.05 candidate toolchains:
  • TODO: test more software on top of candidate toolchains, incl. CP2K, OpenFOAM, TensorFlow, PyTorch, ...

Q&A

  • ...