Skip to content

Conference call notes 20261007

Kenneth Hoste edited this page Oct 7, 2026 · 1 revision

(back to Conference calls)

Notes on the 303rd EasyBuild conference call, Wednesday 7 Oct 2026 (08:00 UTC / 10:00 CEST)

Attendees

List of attendees (19):

  • Jorge Delgado Guerrero (University of Luxembourg)
  • Bob Dröge (Univ. of Groningen, The Netherlands)
  • Davide Grassano (CECAM)
  • Alexander Grund (ZIH, Dresden, Germany)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (University of Oxford, UK)
  • Georgios Kafanas (University of Luxembourg)
  • Emik Lin (Univ. of Hong Kong)
  • Kurt Lust (UAntwerpen)
  • Sam Moors (Vrije Universiteit Brussel, Belgium)
  • Sébastien Moretti (SIB, Switzerland)
  • Alan O'Cais (freelancer, HPC-UGent)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Steffen Reichert (ZIH, Dresden, Germany)
  • Jarne Renders (Vrije Universiteit Brussel, Belgium)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Åke Sandgren (Umeå University, Sweden)
  • Alain van Hoof (TU Eindhoven, Netherlands)
  • Cintia Willemyns (Vrije Universiteit Brussel, Belgium)

Agenda

  • overview of recent developments
  • outlook to next release
  • Q&A

Recent developments


News

  • EasyBuild joining the High-Performance Software Foundation (HPSF)
    • proposal has been submitted on 11 Sept 2026
    • EasyBuild was presented to HPSF Technical Advisory Council (TAC) on 1 Oct 2026
      • pitch made to let EasyBuild join HPSF at "Core" stage (highest possible)
        • currently only Spack and Kokkos are Core HPSF projects
      • presentation was very well received
      • HPSF TAC members now have a chance to vote
      • result of vote will be shared by 15 Oct (max. 2 weeks after presentation)
      • slides available
      • recording of meeting available
    • if proposal is accepted, next step would be to let EasyBuild become a Linux Foundation project...
      • necessary step to actually join HPSF
    • we hope to complete the whole process in the coming months, (well) before EUM'27 and HPSFcon'27

Merge sprints

  • future easyconfigs merge sprints planned:
    • Mon 19 Oct 2026
    • Mon 21 Dec 2026
    • Mon 15 Feb 2027
    • Mon 19 Apr 2027
    • Mon 21 Jun 2027
    • Mon 16 Aug 2027
  • aiming for semi-fixed schedule every other month: 3rd Monday in even months (with exceptions)
  • at some point a sprint to revise & close outdated open issues across different EasyBuild repos

Merged PRs

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

  • blog/docs (recently merged PRs)

    • ...
  • framework (recently merged PRs)

    • bug fixes
      • do not inherit parent extension_name (PR #5313)
    • enhancements
      • Add extension_name easyconfig parameter, to specify name of extension to use in generated module file (PR #5259)
        • should help with using PythonPackage rather than abusing PythonBundle
        • would be nice to have a template that picks up on extension_name when set, and falls back to name if not
          • could perhaps be done for existing _PYPI_ template constants?
      • Allow pathlib.Path for filetools.normalize_path (PR #5271)
      • Enable module extensions for Environment Modules 5.7.0+ (PR #5295)
      • Add extension_name property to EasyBlock (PR #5313)
    • changes
      • ...
    • code cleanup
      • ...
    • CI/test suite
      • Replace assertErrorRegex by standard assertRaisesRegex (PR #5010)
      • Use assert(Not)Regex instead of assertTrue or assertFalse in tests, 1/8 PRs merged: PR #5247
      • Use constants for commonly used test easyconfig folders, files and content
      • Remove raise_systemexit from tests (PR #5280)
      • prepare for renaming modulename to load_name (PR #5291)
      • Use dict.items and remove unused variables in tests (PR #5279)
      • Fix setting download timeout in end2end tests (PR #5293)
      • Fix some assertMultiRegex/assertRegex that need to handle multi line matches (PR #5312)
    • other
  • easyblocks (recently merged PRs)

    • bug fixes
      • Overwrite make_module_req to return no variable in Dataset easyblock (PR #4235)
    • enhancements
      • Add ignore patterns for tests on RISC-V to custom easyblock for LLVM (PR #4178)
      • Use extension_name to check for Python package names in pip list output (PR #4224)
      • Set extension_name in PyTorch easyblock (PR #4225)
    • updates
      • Update OpenFOAM easyblock for v14 (PR #4238)
    • changes
      • ...
    • new
      • ...
    • code cleanup
      • ...
    • CI/test suite
      • re-enable apt-get update in CI workflow for test suite (PR #4244)
  • easyconfigs (recently merged PRs)

    • ~50 easyconfig PRs were merged since last conf call
    • bug fixes/reports
      • demote pybind11 to a build dependency for Triton (PR #27018)
    • enhancements
      • ...
    • (noteworthy) new software
      • ...
    • noteworthy software updates
      • OpenFOAM v14 (PR #26962)
      • PyTorch v2.9.1, Triton v3.5.1 w/ CUDA 12.8.0 from wheels (PR #25267)
    • cleanup
      • ...
    • changes
      • Drop pybind11 from GCC to GCCcore level (PR #26864)
        • pybind11 is a runtime dep for PyTorch
        • should also be done for pybind11 easyconfigs using intel-compilers or llvm-compilers
    • CI/test suite
      • ...

Open (active) PRs

  • blog/docs (recently active open PRs + issues)

    • ...
  • framework (recently active open PRs + issues)

    • bugs
      • Fix leaked handles and processes in run_* functions (PR #5314)
    • enhancements
      • Add factory method make_deprecated_dict_class for creating a dict with deprecated/replaced keys (PR #5260)
      • Print download failures and retries to console in addition to log (PR #5294)
      • Automatically handle Git LFS for git_config sources (PR #5297)
      • Add pre-commit configuration and document development workflow (PR #5302, Claude Code)
    • code cleanup
      • Cleanup use of dicts, e.g. use of .keys() (PR #5165)
      • Fix issues found by ruff (malformed noqa comments, duplicate dict key, ...) and exit code of test modules (PR #5299, Claude Code)
    • changes
      • Raise an error if toolchain.dependencies is accessed before prepare_step (PR #5234)
      • Rename modulename to load_name for Extensions and allow as root-parameter (PR #5257)
      • Replace raw dict by CategorizedPaths NamedTuple(-like) (PR #5269)
      • Modernise packaging: drop distutils from setup.py, add pyproject.toml build-system, split requirements (PR #5298, Claude Code)
    • CI/test suite
      • Use constants for commonly used test easyconfig folders, files and content
        • 1/6 PRs still open: #5251
      • Use skipTest rather than faulty copy-paste of return conditions (PRs #5262, #5263, #5264, #5265, #5266)
      • CI: pin linting tools, cache modules tool, align Lmod versions, harden end-to-end workflows (PR #5300, Claude Code)
      • Fail tests that print unexpected output, instead of grepping the test log in CI (PR #5301, Claude Code)
      • Support running the test suite with pytest (incl. in parallel), add informational code coverage to CI (PR #5303, Claude Code)
      • Replace assertTrue/False by more targetted checks: PR #5304, PR #5305
      • Add assertStartsWith/assertEndsWith to TestCase: PR #5307, PR #5308, PR #5309, PR #5310
      • Simplify multi-segment path concatenation in tests (PR #5315)
  • easyblocks (recently active open PRs + issues)

    • bug fixes/reports
      • ...
    • enhancements
      • Updates to LAMMPS EasyBlock to work with development repo and builds with OBMD plugin (PR #4005)
      • Enhance test deduplication in PyTorch test parsing (PR #4203)
      • don't remove test installdir when --disable-cleanup-tmpdir is set for PythonPackage easyblock (PR #4208)
      • enhance GROMACS easyblock to allow building with CP2K QM/MM support (PR #4211)
      • Handle CCache in PyTorch easyblock + consistency fixes (PR #4216)
      • use self.cfg.dependency_names() to check CUDA dependency in sanity check of GROMACS easyblock (PR #4234)
      • Handle glob patterns in Cargo workspaces (PR #4243)
      • Extend PATHs for RPM easyblock (PR #4246)
    • updates
      • Adds improvements to sanity checks for OpenFOAM-org (>13) sanity checks (PR #4237)
      • Add support for newer opam releases in the OCaml easyblock (PR #4239)
      • Update jaxlib easyblock - adapt compiler handling for JAX 0.10+ (PR #4242)
    • changes
      • ...
    • code cleanup
      • ...
    • new easyblocks
      • add custom easyblock for PsN (PR #4137)
      • Add custom easyblock for PMIx (PR #4214)
      • Custom EasyBlock for Slicer (PR #4218)
      • add custom easyblock for eOn (PR #4240)
      • add custom easyblock for SeisSol (PR #4241)
    • CI/test suite
      • Replace assertErrorRegex by assertRaisesRegex (PR #4245)
  • easyconfigs (recently active open PRs + issues)

    • over ~740 open easyconfig PRs currently
    • bug fixes/reports
      • Add OpenSSL explicitly to R-bundle-CRAN to avoid mixing with system libs (PR #26676)
    • enhancements
      • ...
    • (noteworthy) new software
      • ...
    • software updates
      • ...
    • changes
      • enabling symbol versioning in cURL easyconfigs (issue #26684)
    • CI/test suite
      • ...

Q&A / other

  • interesting talk on dealing with AI contributions by a Linux kernel developer
  • Georgios: would a new feature like test_dependencies make sense?
    • see sympy for FEniCs (see PR #26788)
    • mainly to clarify for humans why those dependencies are required, very little additional benefit beyond that
    • maybe just adding a comment to a specific build dependency is sufficient?
  • Alan: patching we do for OpenMPI related to CUDA will become harder with OpenMPI 6.x
    • see discussion in Slack on this
    • we don't support that yet for libfabric
    • currently CUDA has first-class support in our toolchains, but ROCm doesn't (yet)
    • maybe we need a new configuration option in EasyBuild to declare "system features" (eb --system-features=CUDA,...)?
      • could define a SYSTEM_FEATURES constant that can be used in easyconfig files
        if CUDA in SYSTEM_FEATURES:
            ...
      • support for open-ended entries in builddependencies, for any CUDA version?
        • maybe with version range?
          builddependencies = [{'name': 'CUDA', 'version_range: '13.*'}]
  • OpenMPI 6.0 will support common ABI defined in MPI 5 standard (incl. MPI-IO)

Clone this wiki locally