Conference call notes 20250618 - easybuilders/easybuild GitHub Wiki
(back to Conference calls)
Notes on the 272nd EasyBuild conference call, Wednesday 18 June 2025 (08:00 UTC / 10:00 CEST)
Attendees
List of attendees (20):
- Simon Branford (Univ. of Birmingham, UK)
- Bibek Chapagain (Barcelona Supercomputing Centre, Spain)
- Alex Domingo (Vrije Universiteit Brussel, Belgium)
- Loris Ercole (CECA)
- Davide Grassano (CECAM)
- Jasper Grimm (University of York, UK)
- Alexander Grund (ZIH, Dresden, Germany)
- Leonardo Honfi Camilo (Wageningen University, The Netherlands)
- Kenneth Hoste (HPC-UGent, Belgium)
- Adam Huffman (University of Oxford, UK)
- Georgios Kafanas (Univ. of Luxembourg)
- Sébastien Moretti (SIB, Switzerland)
- Mikael Öhman (Chalmers University of Technology, Sweden)
- Jure Pečar (EMBL, Germany)
- Andrea Piserchia (E4)
- Jan Reuter (JSC, Germany)
- Åke Sandgren (Umeå University, Sweden)
- Jörg Saßmannshausen (Imperial College London, UK)
- Alain van Hoof (TU Eindhoven, Netherlands)
- 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.1.0 (26 May 2025)
- next (stable) EasyBuild release: EasyBuid v5.1.1 (ETA: end of June'25)
News
- successful easyconfigs merge sprint on Mon 16 June 2025
- (see merge sprint notes)
- main goal was to push down on number of open easyconfig PRs
- 114 easyconfig PRs merged + 175 PRs closed
- now well below 700 open easyconfig PRs (was around/over 1k for quite a while)
- future easyconfigs merge sprints planned:
- Mon 18 Aug 2025
- Mon 13 Oct 2025
- Mon 15 Dec 2025
- Mon 16 Feb 2026
- trying semi-fixed schedule: 3rd Monday in even months
- impact of closing old/stale PRs
- can be discouraging for less frequent contributors to see their old PRs closed
- necessary evil to get on top of things again, we can't do that without doing some "damage"...
- important to focus bulk of our efforts on recent software/contributions
Merged PRs
(changed made in PRs marked with *
are included latest EasyBuild stable release)
-
docs (merged PRs)
- ...
-
framework (merged PRs)
- bug fixes
- enhancements
- add configuration option to ignore unversioned (0.0.0) Python packages (PR #4912)
- Add
required
argument toget_cuda_cc_template_value
(PR #4913) - add total iteration count to trace output (PR #4919)
- add support for pre/post
easyblock
hook (PR #4923) - Catch
HTTPException
when doing GitHub API request (PR #4926)
- changes
- ...
- code cleanup
- CI
- ...
-
easyblocks (merged PRs)
- bug fixes
- Improve reliability of PyTorch test reporting (PR #3723)
- some dedicated CI for these functions would be good
- enhance custom easyblock for LLVM: ensure sysroot dynamic linker is used + add ignore patterns for failing tests that can be ignored (PR #3741)
- Fix unbound variable
install_args
in Conda easyblock (PR #3763) - set
$CARGO_NET_OFFLINE
totrue
inset_cargo_vars
method ofCargo
easyblock (only ifoffline
mode is used), so it's set for every extension whenCargoPythonBundle
easyblock is used (PR #3764) - use
parallel
property rather than value of (deprecated)parallel
easyconfig parameter in ORCA easyblock (PR #3772) - (re)set environment variables used by
cargo
in prepare step ofCargo
easyblock (PR #3774)
- Improve reliability of PyTorch test reporting (PR #3723)
- enhancements
- enhance
Bundle
generic easyblock to also run test step for each bundle component (PR #3748)- this causes some trouble with some easyblocks, being fixed (see for example PR #3775)
- Alex is looking into pulling apart
prepare
step by introducing aload
step that's done beforefetch
(cfr. framework issue #1376)- could be helpful with
Bundle
easyblock woes as well
- could be helpful with
- enhance
run_pip_check
function to respect EasyBuild configuration option to ignore unversioned (0.0.0) Python packages (PR #3753) - enhance SuperLU easyblock to set configure options for ParMETIS (or disable it if ParMETIS is not a dependency) (PR #3767)
- enhance
- updates
- ...
- changes
- ...
- new easyblocks
- ...
- code cleanup
- ...
- CI
- ...
- bug fixes
-
easyconfigs (merged PRs)
- >>100 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)
- there still are some gaps in documentation that covers changed in EasyBuild 5.0.0
-
framework (open PRs + issues)
- bugs
- enhancements
- add
sanitycheck_dependencies
easyconfig parameter (PR #4916) - Add AMDGCN option similar to cuda-compute-capabilities (WIP PR #4860)
- Implementing a new LLVM based toolchain (WIP PR #4914)
- Proposed changes to make EasyBuild plugin-able through entrypoints (WIP PR #4918)
- make NVHPC a full toolchain with nvidia-compilers, NVHPCX and NVBLAS (PR #4927)
- add
- code cleanup
- ...
- changes
- Change the architecture constant RISCV64 (PR #4915)
-
easyblocks (open PRs + issues)
- bug fixes/reports
- Fix failure in sanity-check-only/module-only rebuilds of OpenMPI (PR #3724)
- disable trace output when unpacking crates in Cargo easyblock (PR #3750)
(***)
Bug when building multiple versions of LLVM in one call to easybuild (issue #3758)- Fix start_dir for components of Bundle easyblock (PR #3769)
- revert Python shebangs change for conda (PR #3760)
- Use
self.start_dir
in LLVM easyblock (PR #3770) - Fix
CMakeNinja
test command (PR #3771) - Reset runtest for components in a bundle (PR #3775)
- Make matching component sources in
Bundle
easyblock more reliable (PR #3778) - Moved several pieces of logic from the
__init__
to configure_step in LLVM easyblock (PR #3781)
- enhancements
- update LLVM easyblock to fix build on RISC-V systems (PR #3676)
- Let
CMakeMake
set the Python paths for CMake (PR #3694) - LLVM: Use dlopen for AMDGPU/CUDA libomptarget / offload target libraries (PR #3747)
- Changes to Easyblocks needed to work with the new LLVM toolchain (WIP PR #3759)
- updates
- changes
- Disable developer warnings in CMake by using -Wno-deprecated -Wno-dev (PR #3677)
- Deprecate the Clang Easyblock in Favor of the LLVM one for newer (>=18.1.6) versions of LLVM (PR #3746)
CMakeMake
easyblock: Suggestion to set-DFETCHCONTENT_FULLY_DISCONNECTED=ON
by default (issue #3757)
- code cleanup
- ...
- new easyblocks
- add new easyblock for BLIS and AOCL-BLAS (PR #3773)
- bug fixes/reports
-
easyconfigs (open PRs + issues)
- ~680 open easyconfig PRs \o/
- bug fixes/reports
- ...
- enhancements
- ...
- (noteworthy) new software
- ...
- software updates
- PyTorch 2.6.0 w/
foss/2024a
(PR #22824)
- PyTorch 2.6.0 w/
- changes
- ...
2025b
common toolchains
- will likely be set in stone Aug/Sept'25
- GCC 14.3.0 (PR #22942) will be the base for
foss/2025b
andintel/2025b
- Python 3.13.5 w/
GCC/14.3.0
(PR #23027)
- Python 3.13.5 w/
Q&A / others
- NVHPC toolchain (opt-in to NVHPC ecosystem)
- see Alex' open PRs
- VASP (6.5.0) works with NVHPC toolchain, 100% of tests pass (incl. GPU)
- idea is to start using this approach with NVHPC 2025.x
- interest from Åke, Jan, Mikael, Jörg, ...
- Davide is making good progress with LLVM-based toolchain
- may replace
foss
in the future? - need to actively start playing with this
- Mikael: latest
Mesa
already hasLLVM
(minimal) dependency- open door to conflicts for LLVM dependencies/toolchain, etc.
- could this be made a build-only dep, via static linking?
- or like Triton, where a custom LLVM commit is built via
components
, but does not get installed (so not a runtime dep)
- or like Triton, where a custom LLVM commit is built via
- more problematic case:
llvmlite
which digs deep in LLVM, still requires LLVM 15.x currently - Jan: should stick to one LLVM per easyconfigs generation
- => should be OK to drop
minimal
for LLVM dependency inMesa-24.1.3-GCCcore-13.3.0.eb
- may replace
- Jan is having "fun" with AMD ROCm
- see https://github.com/Thyre/easybuild-custom/tree/support-passing-amdgcn/easybuild/easyconfigs/r
- first target is https://github.com/ROCm/ROCmValidationSuite
- https://github.com/rocm/rocm-examples requires way more (~50 ROCm packages)
- AMD is shifting to monorepo for development of ROCm libraries, see https://github.com/ROCm/rocm-libraries/tree/develop/projects
- improvements being made to get rid of hardcoded paths (
/opt/rocm
) - see also ROCm overview that was added to EESSI documentation recently: https://eessi.io/docs/rocm
- see https://github.com/Thyre/easybuild-custom/tree/support-passing-amdgcn/easybuild/easyconfigs/r
- xtb got broken because it downloads unlocked dependencies (issue #23105)
- Mikael has been looking into similar issues with downloading happening during installation of Rust
- Alexander: options to deal with "hermetic" CUDA requirement for TensorFlow