Skip to content

Conference call notes 20250409

Kenneth Hoste edited this page Apr 9, 2025 · 1 revision

(back to Conference calls)

Notes on the 267th EasyBuild conference call, Wednesday 9 April 2025 (15:00 UTC / 17:00 CEST)

Attendees

List of attendees (16):

  • Simon Branford (Univ. of Birmingham, UK)
  • Davide Grassano (CECAM)
  • Jasper Grimm (University of York, UK)
  • Alexander Grund (ZIH, Dresden, Germany)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (University of Oxford, UK)
  • Georgios Kafanas (University of Luxembourg)
  • Kurt Lust (UAntwerpen / LUMI)
  • Sébastien Moretti (SIB, Switzerland)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Bart Oldeman (McGill University, Digital Research Alliance of Canada)
  • Andrea Piserchia (E4)
  • Jan Reuter (JSC, Germany)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Alex Domingo (Vrije Universiteit Brussel, Belgium
  • Cintia Willemyns (Vrije Universiteit Brussel, Belgium)

Agenda

  • overview of recent developments
  • 2025a update of common toolchains
  • Q&A

Recent developments

  • latest EasyBuild release: EasyBuild v5.0.0 (18 March 2025) 🥳
  • next (stable) EasyBuild release: EasyBuid v5.0.1 (soon, days-not-weeks)

News

  • 5.0.x branches have been removed, all active development is now done in develop branch (again)
    • main branch corresponds to latest stable release
    • 5.0.x branch may temporarily return during release process of upcoming EasyBuild v5.0.x releases
    • PRs that were opened before release of EasyBuild v5.0.0 should be synced with current develop branch (+ test report with EasyBuild v5.0.0)
  • slides & recordings of EUM'25 talks available via https://easybuild.io/eum25/#program
  • EasyBuild + EESSI shop: https://shop.easybuild.io
    • for now, only coffee mugs...
  • EasyBuild blog: https://blog.easybuild.io
    • first blog post: report on EUM'25
    • hoping to have at least one blog post per month
    • topics:
      • events
      • release announcements
      • feature highlights
      • EasyBuild sites showing how they use EasyBuild?
    • all help welcome!
    • ideas
      • Alex' work on reproducible source tarballs
      • Mikael's LSP
  • structural merge sprints to be planned
    • once a month, fixed day?
    • pairing up of maintainer with frequent contributor?

Merged PRs

(changed made in PRs marked with * are included latest EasyBuild stable release)

  • docs (merged PRs)

    • ...
  • framework (merged PRs)

    • bug fixes
      • Avoid processing the same EasyConfig multiple times (PR #4767*)
      • Fix quoting of command in setup shell script (PR #4792*)
      • Don't expand paths being considered for generated module file for temporary 'fake' module file to avoid filtering out paths for directories that don't exist yet (PR #4809*)
      • Avoid unecessary warning about skipping checksum verification of Git repos (PR #4813*)
      • Add --max-parallel configuration option to control maximum number of cores to use, set to 16 by default (PR #4816*)
      • Fix help string of findPythonDeps.py (PR #4821)
      • Fix missed message in trivial equal-asserts (PR #4831)
      • Avoid failure when only some passed easyconfigs exist (PR #4847)
    • enhancements
      • Ignore other classes if software specific easyblock class was found (PR #4769*)
      • Allow test case filtering by class name (PR #4788*)
      • Also allow trailing whitespaces for examples and citing easyconfig parameters (PR #4796)
      • Improve test failure output for assertEqual (PR #4807*)
    • changes
      • ...
    • code cleanup
      • make python2_is_deprecated function cause an exit when using Python 2 (PR #4810)
      • update list of defaults for silence_deprecation_warnings (PR #4811)
      • remove source tarball for Python 3.7.2 from test sources (PR #4828)
    • CI
      • Modernize tests that require GitHub token (PR #4776)
      • clean up easyblocks included in test_github_xxx_include_easyblocks_from_pr to avoid breaking other tests (PR #4822*)
      • fix milestone used in test_github_merge_pr (PR #4824*)
      • go back to using develop branch rather than 5.0.x branch in GitHub Actions workflows (PR #4820)
      • fix test_github_preview_pr which got broken because there's no more easyconfigs for bzip2 1.0.6 in easyconfigs repo (PR #4827)
      • Fix tests after removal of 5.0.x branch (PR #4830)
      • Delete .coveragerc (PR #4833)
      • fix wrong variable name used for Python version in linting CI (PR #4839)
      • Fix failing GitHub integration CI tests (PR #4841)
      • fix testsuite badge (PR #4845)
  • easyblocks (merged PRs)

    • bug fixes
      • Fix cargo build when git branch is referenced (PR #3654*)
      • Explicitly disable libxml2 support in LLVM easyblock if libxml2 is not available as dependency (PR #3657*)
      • Make AOCC compiler wrappers aware of keepsymlinks option (PR #3659*)
      • convert RUNPATH into RPATH for Rust binaries in recent Rust versions (> 1.79.0) (PR #3660*)
      • fix use of run_shell_cmd in PyTorch easyblock to check for xmlrunner (PR #3664*)
      • Update QuantumESPRESSO easyblock to use cfg.parallel property (PR #3688)
      • Fix LLVM build on non-x86 (PR #3674)
        • this PR introduced a bug that needs to be fixed before we push out EasyBuild v5.0.1, see comments in PR
    • enhancements
      • add back easyblock for fastStructure, ported to run_shell_cmd and module_load_environment (PRs #3642 + #3692)
    • updates
      • ...
    • changes
      • Use PythonPackage as the default_easyblock for PythonBundle (PR #3649*)
    • new easyblocks
      • ...
    • code cleanup
      • Recursive glob expansion of library files in GROMACS and convert lib_subdirs into a property (PR #3641*)
    • CI
      • ...
  • easyconfigs (merged PRs)

    • XXX easyconfig PRs were merged since last conf call
    • bug fixes/reports
      • ...
    • enhancements
      • ...
    • (noteworthy) new software
      • ...
    • noteworthy software updates
    • cleanup
      • ...
    • changes
      • ...

Open (active) PRs

  • docs (open PRs + issues)

  • framework (open PRs + issues)

    • bug fixes
      • Regression: CMAKE_LIBRARY_PATH=lib added to modulefiles (PR #4844 )
    • enhancements
      • Add capability to export RPATH wrappers for a toolchain (PR #4596)
      • add a CUDA device code sanity check (PR #4692)
    • code cleanup
      • ...
    • changes
      • ...
  • easyblocks (open PRs + issues)

    • bug fixes/reports
      • ...
    • enhancements
      • Enhance LLVM EasyBlock to better handle offload builds and test failures (PR #3675)
        • includes fix for bug introduced in PR #3674
    • updates
      • ...
    • changes
      • ...
    • code cleanup
      • ...
    • new easyblocks
      • ...
  • easyconfigs (open PRs + issues)

    • ~1.1k open easyconfig PRs
    • bug fixes/reports
      • ...
    • enhancements
      • ...
    • (noteworthy) new software
      • ...
    • software updates
      • ...
    • changes
      • ...

2025a common toolchains

  • (2024b is skipped to catch up with original schedule for defining common toolchain versions)
    • EasyBuild v5.0 is ideal excuse for that break in continuity...
  • GCC 14.2 as a base (see easyconfigs PR #21114)
  • we should define candidate toolchains using latest version of all components
  • easyconfigs using GCCcore/14.2.0 toolchain available for Python 3.13.1, Perl + Perl-bundle-CPAN 5.40.0
  • effort sort of on hold until EasyBuild v5.0.0 is released...
  • easyconfigs PR #22125 for FlexiBLAS, OpenBLAS, BLIS
  • trouble with maturin (required for cryptography, required for Python-bundle-PyPI), escapes RPATH (PR #22349)
  • updates for intel-compilers and impi in PR #22657

Q&A / others

  • Mikael's colleague looking into enhancing bot that provides feedback/add labels in easyconfig PRs
    • to help with more efficiently processing PRs
  • Alex: don't require that CUDA is a direct dependency to define %(cudaver)s like template
  • Alex: experiences with NVHPC?
    • our NVHPC easyconfigs only bundle the compilers
    • nvompi toolchains on top
    • pretty brittle, -M options only use if you use libraries that come with NVHPC installation
      • like -Mscalapack (which gets translated to -lscalapack_lp64, a library provided by OpenMPI included in NVHPC)
    • NVHPC easyblock strips things down by default, but can be used otherwise
    • was partially done because they didn't build OpenMPI with their own compiler
    • present concrete proposal for how to go forward with NVHPC in future conf call?
    • NVHPC-based installations are relatively rare use cases (like V*SP, or software implemented in OpenACC)
    • NVHPC easyconfigs should be renamed to NVIDIA-compilers?
Clone this wiki locally