-
Notifications
You must be signed in to change notification settings - Fork 145
Conference call notes 20241023
Bart Oldeman edited this page Oct 23, 2024
·
10 revisions
(back to Conference calls)
Notes on the 256th EasyBuild conference call, Wednesday 23 Oct 2024 (15:00 UTC)
List of attendees (18):
- Simon Branford (Univ. of Birmingham, UK)
- Bibek Chapagain (Barcelona Supercomputing Centre, Spain)
- Alex Domingo (Vrije Universiteit Brussel, Belgium)
- Davide Grassano (CECAM, Switzerland)
- Jasper Grimm (University of York, UK)
- Jorge Guerra (Universidad Politécnica de Madrid, Spain)
- Alexander Grund (ZIH, Dresden, Germany)
- Leonardo Honfi Camilo (Univ. of Wageningen, Netherlands)
- Kenneth Hoste (HPC-UGent, Belgium)
- Adam Huffman (Big Data Institute, Oxford, UK)
- Sébastien Moretti (SIB, Switzerland)
- Alan O'Cais (CECAM, Univ. of Barcelona)
- Jan Reuter (JSC, Germany)
- Jörg Saßmannshausen (Imperial College London, UK)
- Åke Sandgren (Umeå University, Sweden)
- Alexandre Strube (JSC, Germany)
- Alain van Hoof (TU Eindhoven, Netherlands)
- Cintia Willemyns (Vrije Universiteit Brussel, Belgium)
- David Coster (Max Planck Institute for Plasma Physics, Germany)
- Em Dragowsky (Case Western Reserve University, Ohio, US)
- Chia-Jung Hsu (Chalmers University of Technology, Sweden)
- Georgios Kafanas (University of Luxembourg)
- Kurt Lust (UAntwerpen, Belgium + LUMI User Support Team)
- Sam Moors (Vrije Universiteit Brussel, Belgium)
- Mikael Öhman (Chalmers University of Technology, Sweden)
- overview of recent developments
- outlook to EasyBuild 5.0 release
- 2024b update of common toolchains
- Q&A
- latest EasyBuild release: 4.9.4 (22 Sept 2024)
- next EasyBuild release:
- very likely EasyBuild v5.0.0 🔥
- additional EasyBuild 4.9.x versions could still be done via
4.9.x
branches, but none are planned currently
-
EasyBuild v5.0.0
- project board: https://github.com/orgs/easybuilders/projects/18/views/2
- detailed notes on latest developments in https://hackmd.io/tZtz6vMmRfGL6N9Rf__OEA
- 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
- collapsing of
5.0.x
branches indevelop
post-poned- impact on people using EasyBuild 4.x considered too big, so we want to limit the time window in which problems will arise as much as possible
- impact:
-
--from-pr
will be broken with EasyBuild 4.x due to major version mismatch-
--from-commit
can be used as a workaround
-
- open easyconfig PRs should be synced with
develop
branch before they get merged- due to changes in easyconfigs test suite implemented in
5.0.x
- for example
use_pip = True
should no longer be used - same goes for framework & easyblocks
- due to changes in easyconfigs test suite implemented in
-
-
docs (merged PRs)
- ...
-
framework (merged PRs)
-
bug fixes
-
[5.0.x]
Use more robust mechanism for unsetting environment variables (PR #4685)
-
-
enhancements
-
[5.0.x]
disable strict RPATH sanity check by default, allow re-enabling it via--strict-rpath-sanity-check
configuration option (PR #4475) -
[5.0.x]
don't raise error when required extensions are not found when installing extensions in parallel (PR #4671) -
[5.0.x]
include path tocmd.sh
script in output generated byrun_shell_cmd
when a command fails + use colors: red for ERROR line, yellow for path to output files +cmd.sh
script (PR #4666) -
[develop]
add support for%(rpath_enabled)s
template value (PR #4670)
-
-
changes
- ...
-
code cleanup
- ...
-
tests
- ...
-
bug fixes
-
easyblocks (merged PRs)
- bug fixes
- enhancements
- updates
-
changes
- ...
-
new easyblocks
- ...
-
code cleanup
- ...
-
easyconfigs (merged PRs)
- ~75 easyconfig PRs were merged since last conf call
-
bug fixes/reports
-
[develop]
replace buggy ESIpy v20240709 with v20240731 (PR #21095) -
[develop]
add patch to fix compilation of HPDBSCAN 20210826 (PR #21467) -
[develop]
add patch for ROOT v6.24.06, v6.26.06, v6.26.10, v6.30.6 to disable sysroot for cling at runtime (PR #21526) -
[develop]
linklibOpenCL.so.1
to thelib
directory for NextGenMap (required when using RPATH linking) (PR #21528) -
[develop]
add patch for bug/typo in RISC-V toolchain options to EasyBuild 4.9.4 easyconfig (PR #21547) -
[develop]
strip out '-minsize 1
' option fromumi_binning.sh
in longread_umi 0.3.2, since it's not supported by VSEARCH (PR #21557)
-
- enhancements
-
(noteworthy) new software
-
[develop]
RAPIDS (PR #21058)
-
-
noteworthy software updates
- ...
-
cleanup
-
[5.0.x]
stop usingmodextrapaths
to update$PYTHONPATH
with standard path to installed Python packages (lib/python%(pyshortver)s/site-packages
) (PR #20960)
-
-
changes
-
[5.0.x]
usepycodestyle
for code style check + stop usingl
in list comprehensions (PR #21502)
-
-
EasyBuild 5.0
-
[5.0.x]
sync withdevelop
(20240930) (PR #21497)
-
-
docs (open PRs + issues)
- ...
-
framework (open PRs + issues)
-
bug fixes
-
[5.0.x]
Reverse order for parsing files in$XDG_CONFIG_DIRS
(PR #4630) -
[5.0.x]
improve portability of reproducible tarballs by replacing external tar command with tarfile module (PR #4660)- to fix issue #4657: reproducible tarballs have unexpected checksums on mac
-
tarfile
module in Python allows creating tarballs in a reproducible way across systems (Linux + macOS)- but there's a breaking change in Python 3.9, so we get different tarballs across different Python versions :man-facepalming:
- two options to deal with this:
- only support creating reproducible tarballs with Python 3.9+
- people using Python < 3.9 would have to use
--ignore-checksums
- EasyBuild 5.0 could print a warning when using Python < 3.9 that checksums can not be verified?
- this seems like the best way forward?
- we should probably consider deprecating support for Python < 3.9 in EasyBuild 5.0
- people using Python < 3.9 would have to use
- always include two checksums for source tarballs created via
git_config
: one for Python < 3.9, one for Python >= 3.9
- only support creating reproducible tarballs with Python 3.9+
- binary patching generated tarballs with older Python versions would be very difficult
-
get_os_name
should be updated to include Rocky and Alma (PR #4663)
-
-
enhancements
-
[5.0.x]
disable strict RPATH sanity check by default, allow re-enabling it via--strict-rpath-sanity-check
configuration option (PR #4475) -
[develop]
Copy build log and artifacts to a permanent location after failures (WIP PR #4601)
-
[develop]
allow extensions to add text to the module file (PR #4652)
- Problem using
$CPATH
in modulefiles overwriting system paths (issue #3331)-
[5.0.x]
add--search-path-cpp-headers
configuration option to control how EasyBuild sets paths to headers at build time (PR #4645) -
[5.0.x]
refactor generation of required environment variables in module files (PR #4653)- test was added to verify that making
ModuleLoadEnvironment
a singleton causes trouble - needs more love, additional test is broken
- easyblocks will need to be updated accordingly to not use
make_module_req_guess
anymore
- test was added to verify that making
-
[5.0.x]
addmodule-search-path-headers
configuration option to control how modules set search paths to header files (PR #4655)
-
-
[develop]
add support for injecting checksums for cargo crates (PR #4661) -
[develop]
add support for%(rpath)s
template value (PR #4670)- this makes it even more important that we merge the PR that ensures that templates are resolved
-
-
changes
-
[5.0.x]
RenameSOURCE_STEP
toEXTRACT_STEP
(PR #4629) -
[5.0.x]
Deprecate use ofparallel
easyconfig parameter and fix updating the template value (PR #4580) -
[5.0.x]
Deprecatepost_install_step
, rename it topost_processing_step
(issue #4656) -
[5.0.x]
proposed changest to add atimeout
torun_shell_cmd
(PR #4665) -
[5.0.x]
include path tocmd.sh
script in output generated byrun_shell_cmd
when a command fails + use colors: red forERROR
line, yellow for path to output files +cmd.sh
script (PR #4666) -
[develop]
Added possibility to call amend/try-amend multiple times from easystack (PR #4667) -
[5.0.x]
Let jobs retweak easyconfigs themselves (draft PR #4669) -
[5.0.x]
don't raise error when required extensions are not found when installing extensions in parallel (draft PR #4671) -
[5.0.x]
mark support for installing extensions in parallel as being mature, since it's no longer experimental (PR #4672) -
[5.0.x]
mark easystack support as being mature, since it's no longer experimental (PR #4673)
-
-
bug fixes
-
easyblocks (open PRs + issues)
- bug fixes
-
[develop]
update Kokkos CPU mapping for LAMMPS >= 2Aug2023 to use icx on Intel Icelake systems #3321 (PR #3321) -
[5.0.x]
runpip check
only once forPythonBundle
(PR #3432)
-
[5.0.x]
MakeMesonNinja
respect thetoolchainopts
with buildtype as well as--debug
and--optimization
flags (PR #3454) -
[develop]
Avoid failure in Python sanity check whenPIP_REQUIRE_VIRTUALENV
is set (PR #3460) -
[develop]
letCMakeMake
easyblock also setPython_EXECUTABLE
option, as well asPython3_EXECUTABLE
andPython2_EXECUTABLE
derivatives (when appropriate) (PR #3463) -
[develop]
take into account thatf90wrap_version
may beNone
in MetalWalls easyblock (PR #3468) -
[5.0.x]
take into account that 'pic
' toolchain option may not be defined inCMakeMake
easyblock (PR #3470) -
[develop]
fix setting ofCMAKE_OPTIONS
for SuiteSparse versions between 5.1.2 and 6.0.0 (PR #3471) -
[5.0.x]
add missingreturn
for customisedinstall_extension_async
methods in Rserve and Rmpi easyblocks (PR #3474)
-
- enhancements
-
[develop]
Set CMake hints for path to Python installation if it's direct or indirect dependency (when using CMake >= 3.12) (PR #3282) -
[develop -> 5.0.x]
enhance LLVM easyblock for compilation of clang/flang + other llvm-projects (PR #3373)- related: https://github.com/easybuilders/easybuild/issues/640
- support for LLVM 19.x is a work in progress (by Davide), interesting target for a full LLVM-based toolchain since it's supposed to have a decent Fortran compiler
-
[5.0.x]
enhanceCMakeMake
easyblock to check whether correct Python installation was picked up by CMake (PR #3399)
-
[develop]
ignore user python packages by using-s
option when running Python code via "python -c
" (PR #3440) -
[develop]
enhance genericBundle
EasyBlock to transfer module requirements of components (PR #3472) -
[develop]
enhance cuDNN easyblock to verify that EULA is accepted before installing it ((PR #3473)
-
-
updates
-
[develop]
update custom easyblock for CP2K >= v2024 (PR #3433)
-
-
changes
- ...
-
new
-
[develop]
custom easyblock for DeepSpeed (PR #3450)
-
- bug fixes
-
easyconfigs (open PRs + issues)
-
bug fixes/reports
-
[develop -> 5.0.x]
switch toCargoPythonBundle
easyblock for orjson 3.9.15 (PR #21392)- requires being able to produce reproducible source tarballs from Git repository (WIP in
5.0.x
branch of EasyBuild framework)
- requires being able to produce reproducible source tarballs from Git repository (WIP in
-
[5.0.x]
promote pybind11 to runtime dependency for CPPE (to fixpip check
failure) (PR #21564) -
[develop]
add patch to SciPy-bundle 2024.05 that fixes test failure on aarch64 (PR #21559)
-
- enhancements
-
(noteworthy) new software
- ...
- software updates
-
[develop]
PyTorch v2.3.0 (PR #20489)
-
- changes
-
bug fixes/reports
- GCC 14.2 as a base (see easyconfigs PR #21114)
- we should define candidate toolchains using latest version of all components
- are newer versions of Intel components compared to
intel/2024a
already available?
- are newer versions of Intel components compared to
- should we consider replacing
intel
with Clang-based toolchain as 2nd common toolchain next tofoss
?- Fortran frontend in Clang is becoming mature enough?
- NVHPC
- missing library path for QC libraries, should be added to NVHPC easyblock
- trouble with building Wannier90 with NVHPC (Fortran code)
- "funny" case: infinite loop in
spaln
configure script (see https://github.com/ogotoh/spaln/issues/74) - Implement sanity check in EasyBuild for CUDA compute capabilities (see EESSI support issue #92)
- should probably be implemented in EasyBuild, but as opt-in?
- needs to be taken into account in easyblocks like LAMMPS that pick one of the specified CUDA compute capabilities
- easyblock should "register" which CUDA compute capability it's actually using
- which one is picked is inconsistent across easyblocks
- (Alexandre) why are we still using Bazel 6.x (not 7.x)
- there are several open PRs for Bazel 7.x
- TensorFlow & friends may require specific (older) Bazel versions
- (Jan) PR to implement
make_module_req_guess
inBundle
(see PR #3472)- should try and avoid re-creating easyblock instances
- required for CodePlay SYCL, see easyconfigs PR #21582
- (Alexander) upcoming PR for
Cargo
easyblock to change how it deal withgit_config
, would be good to test it throroughly