-
Notifications
You must be signed in to change notification settings - Fork 145
Conference call notes 20250226
Kenneth Hoste edited this page Feb 26, 2025
·
1 revision
(back to Conference calls)
Notes on the 265th EasyBuild conference call, Wednesday 26 Feb 2025 (09:00 UTC / 10:00 CET)
List of attendees (14):
- 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 (Big Data Institute, Oxford, UK)
- Georgios Kafanas (University of Luxembourg)
- Kurt Lust (UAntwerpen / LUMI)
- Alan O'Cais (Univ. of Barcelona, CECAM)
- Jure Pečar (EMBL)
- Andrea Piserchia (E4)
- Jörg Saßmannshausen (Imperial College London, UK)
- Roberto Scipioni (Red Oak Consulting, UK)
- Alain van Hoof (TU Eindhoven, Netherlands)
- Cintia Willemyns (Vrije Universiteit Brussel, Belgium)
- overview of recent developments
- outlook to EasyBuild 5.0 release
- 2025a update of common toolchains
- Q&A
- latest EasyBuild release:
- stable: EasyBuild v4.9.4 (22 Sept 2024)
- beta: EasyBuild v5.0.0beta2 (24 Feb 2025)
- see also https://docs.easybuild.io/easybuild-v5/release-candidates/#beta2
-
feedback is welcome via mailing list,
#eb5
channel in Slack, conf calls, dedicated issue -
eb --install-latest-eb-release
will not install this beta release
- next (stable) EasyBuild release:
- EasyBuild v5.0.0 🔥
-
current target release date: Wed 12 March 2025
-
5.0.x
branches will likely be collapsed intodevelop
after the release of EasyBuild 5.0.0- to avoid that
--from-pr
is broken for everyone with no new EasyBuild release being available in which it still works...
- to avoid that
-
- next EasyBuild conf call on Wed 12 March may be replaced with a presentation on EasyBuild 5.0
-
current target release date: Wed 12 March 2025
- additional EasyBuild 4.9.x versions could still be done via
4.9.x
branches, but none are planned currently
- EasyBuild v5.0.0 🔥
-
EasyBuild v5.0.0
- project board: https://github.com/orgs/easybuilders/projects/18/views/2
- detailed notes on latest developments here
- to test development version of EasyBuild 5.0:
# set up Python virtual environment, and jump into it python3 -m venv eb5 source eb5/bin/activate # install EasyBuild 5.0 development version into it pip install https://github.com/easybuilders/easybuild-framework/archive/5.0.x.tar.gz pip install https://github.com/easybuilders/easybuild-easyblocks/archive/5.0.x.tar.gz pip install https://github.com/easybuilders/easybuild-easyconfigs/archive/5.0.x.tar.gz # go! eb --version
-
docs (merged PRs)
- ...
-
framework (merged PRs)
-
bug fixes
- incompatibility with Lmod 8.7.56 due to
module show
producing non-zero exit code for non-existent module (issue #4759)-
fixed in Lmod 8.7.57:
module show
will (again) always exit with zero exit code when$LMOD_QUIET
is set (like EasyBuild has been doing for years)
-
fixed in Lmod 8.7.57:
-
[5.0.x]
trouble with huge build directories (issue #22247)- fixed by not keeping debug symbols by default (PR #4764)
-
[5.0.x]
correctly deal with easyblocks that still use deprecatedmake_module_req_guess
method: remove environment variables if they're not present in guesses (PR #4763)
- incompatibility with Lmod 8.7.56 due to
-
enhancements
- ...
- changes
-
code cleanup
- ...
-
bug fixes
-
easyblocks (merged PRs)
-
bug fixes
-
[5.0.x]
Fix building PyTorch when usingsetup.py
as the build command (PR #3574, fixes issue #3570) -
[5.0.x]
Fix$PYTHONPATH
for hermetic python in TensorFlow builds with EB 5.x (PR #3568) -
[develop]
Set Cargo variables also for extensions (PR #3576) -
[5.0.x]
fix compatibility with--module-only
in AOCC easyblock (PR #3594) -
[5.0.x]
Fix bug in FlexiBLAS easyblock to allow AOCL-BLAS to be default (PR #3605) -
[5.0.x]
fix Molpro easyblock inmodule-only
mode (PR #3615)
-
- enhancements
-
updates
-
[5.0.x]
revamp NEURON easyblock (PR #3618)
-
-
changes
-
[5.0.x]
adopt easyblocks to usemodule_load_environment
instead of deprecatedmake_module_req_guess
- 32 PRs merged
- see overview in issue #3527
-
[5.0.x]
update easyblocks to useEasyConfig.parallel
property (PR #3557)
-
-
new easyblocks
- ...
- code cleanup
-
bug fixes
-
easyconfigs (merged PRs)
- ~57 easyconfig PRs were merged since last conf call
-
bug fixes/reports
-
[develop]
unset$BUILD_VERSION
set by torchvision easyblock in preinstallopts for torchaudio in easyconfigs for PyTorch-bundle 2.1.2 (PR #22258)- workaround for known long-standing bug in EasyBuild framework (see framework issue #4706)
-
[develop,5.0.x]
add missing dependency on pybind11 for contourpy in matplotlib v3.9.2 (PRs #22294 + #22301)- fallout caused by making
pybind11
a build dependency ofSciPy-bundle
v2024.05 (PR #22170)
- fallout caused by making
-
[develop]
Avoid using$HOME/.cargo
when installing poetry by usingCargoPythonBundle
easyblock (PR #22257)
-
-
enhancements
-
[develop]
enable plugins that require HDF5 + Boost dependencies for Visit v3.4.1 (PR #22334)
-
-
(noteworthy) new software
- ...
-
noteworthy software updates
- ...
-
cleanup
- ...
- changes
-
docs (open PRs + issues)
- ...
-
framework (open PRs + issues)
- bug fixes
-
enhancements
-
[5.0.x]
Copy build log and artifacts to a permanent location after failures (PR #4601)- mostly new code, so worth considering to include in EasyBuild v5.0.0 (but not a priority)
-
[5.0.x]
Problem using$CPATH
in modulefiles overwriting system paths (issue #3331)- almost done, but we need a way to deal with hardcoded use of
'CPATH'
inmodextrapaths
- we'll probably introduce support for something like:
modextrapaths = {SEARCH_PATH_HEADERS: 'include/example'}
- almost done, but we need a way to deal with hardcoded use of
-
[develop]
initial work towards integratingeasy_update
functionality (PR #4714) -
[develop]
enhanceapply_regex_substitutions
(PR #4758)- relevant for enhancements to PyTorch easyblock
-
[develop]
ignore other classes if software specific easyblock class was found (PR #4769)- relevant for enhancements to PyTorch easyblock
-
[develop]
Introducecheck_readelf_rpath
easyconfig parameter to optionally skip RPATH checks (PR #4768)- see also easyconfigs PR #22346
-
[develop]
add support for specifying dependencies required to obtain source files viasource_deps
easyconfig parameter (PR #4766)
-
-
code cleanup
- ...
-
changes
-
[5.0.x]
With new clang based intel compilers (ifx
,icx
,icpx
) we should use-march=native
(issue #4744)
-
-
easyblocks (open PRs + issues)
- bug fixes/reports
- ...
- enhancements
-
[5.0.x]
enhance LLVM easyblock for compilation of clang/flang + other llvm-projects (PR #3373)- Davide has tested a lot of installations with a pure LLVM-based toolchain on top of this
-
[5.0.x]
Addbuild_target
parameter toPythonPackage
(PR #3575) -
[develop]
Use unittest XML files to parse PyTorch test results (PR #3633)
-
-
updates
-
[develop]
Adapt cp2k regtest argument (PR #3623)
-
-
changes
-
[5.0.x]
Use context managers for templating changes in Bundle easyblock (PR #3547)
-
-
code cleanup
- ...
-
new easyblocks
-
[5.0.x]
custom easyblock for VSCode (PR #3638)
-
- bug fixes/reports
-
easyconfigs (open PRs + issues)
-
~1k open easyconfig PRs
- we're (over)due for a cleanup of backlog of old/stale easyconfigs PRs
- closing PRs that are only using unsupported/deprecated toolchains, see https://docs.easybuild.io/policies/toolchains/#current-situation
- bug fixes/reports
- enhancements
-
(noteworthy) new software
- ...
- software updates
-
changes
-
[5.0.x]
avoid usingbuildcmd
in PySide2 easyconfig (PR #22380)
-
-
~1k open easyconfig PRs
- (
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
- 8th EasyBuild User Survey, please fill it out! (closes 28 Feb'25)
- agenda for EUM'25 is public: https://easybuild.io/eum25/#program
- all (50) seats for in-person attendance are taken!
- remote attendance via Zoom will still be possible, registration will be re-opened soon for that
- (Alan) libfabric in 2025a toolchains?
- see also https://hpc.guix.info/blog/2024/11/targeting-the-crayhpe-slingshot-interconnect/ + https://github.com/HewlettPackard/shs-libcxi
- unclear whether Cray libfabric that was open sourced is bug free
- also used for intra-node communication
- cxi plugin for OpenMPI is not enough for GPU-to-GPU communications
- libfabric isn't as capable as UCX is in EasyBuild, which can be made CUDA-aware through a plugin
- can something similar be done via
$FI_PROVIDER_PATH
? - likely not enough for OpenMPI
- can something similar be done via
- paper in the works on getting OpenMPI running on Cray hardware (cfr. future Cray User Group?)
- warnings on MPI init during startup when using OpenMPI
- not seen in experiments done in EESSI community?
- (Jörg) easyconfig for scikit-hep working (easyconfigs PR #22394)
- Ninja used in awkward-cpp going beserk
- maybe
$NINJAFLAGS
would help like it was for Qt (see issue #2076) - do we need to consider introducing a wrapper around
ninja
that actually runsninja -j X
?- could be done in a generic way:
wrap_cmds = {'ninja': "ninja -j %(parallel)s"}
- could be done in a generic way:
- (Jure) fun with
rocm-smi
upstream in EPEL- (Åke)
rocm-smi
is included in easyconfigs PR #19591 -
rocm-smi
may need to be in OS anyway to determine whether AMD GPUs are available - some libraries that come with
rocm-smi
are required for some things (like OpenMPI?) - see also Bob's recent work in EESSI
-
rocm-smi
is (maybe) deprecated, to be replaced withamd-smi
- => should ask Bob through EESSI Slack
- custom easyblock for ROCM-LLVM in https://github.com/bedroge/eb-rocm will need to be merged with reworked LLVM easyblock from easyblocks PR #3373
- (Åke)
- (Alexander) hwloc we use in OpenMPI is not CUDA-aware
- hwloc is built with
--without-cuda
- do we need a custom hwloc easyconfig that is built CUDA-aware?
hwloc-2.9.2-GCCcore-13.2.0-CUDA-12.1.1.eb
module load foss
-
module swap hwloc/2.9.2-GCCcore-13.2.0-CUDA-12.1.1
- this would make Lmod make the OpenMPI module inactive
- introduce
hwloc-CUDA
?- load along with
UCX-CUDA
?
- load along with
-
CUDA
as build dep forhwloc
?- not sure if that could work on CPU-only systems...
- forces people to install CUDA & accept the EULA
- maybe via hwloc support for plugins?
- (Alan) seems like it could work
- via
--enable-plugin=cuda-nvml
- hwloc is built with
- (Andrea) STREAM homepage is down?