-
Notifications
You must be signed in to change notification settings - Fork 144
Conference call notes 20240117
Kenneth Hoste edited this page Jan 17, 2024
·
2 revisions
(back to Conference calls)
Notes on the 238th EasyBuild conference call, Wednesday 17 Jan 2024 (16:00 UTC)
List of attendees (19):
- Sebastian Achilles (JSC, Germany)
- Simon Branford (Univ. of Birmingham, UK)
- Alex Domingo (Vrije Universiteit Brussel, Belgium)
- Markus Geimer (JSC, Germany)
- Jasper Grimm (University of York, UK)
- Stefan Harst (Univ. of Oldenburg)
- Thomas Hayward-Schneider (Max Planck Institute for Plasma Physics, Germany)
- Kenneth Hoste (HPC-UGent, Belgium)
- Chia-Jung Hsu (Chalmers University of Technology, Sweden)
- Adam Huffman (Big Data Institute, Oxford, UK)
- Kurt Lust (UAntwerpen, Belgium + LUMI User Support Team)
- Sam Moors (Vrije Universiteit Brussel, Belgium)
- Sébastien Moretti (SIB, Switzerland)
- Mikael Öhman (Chalmers University of Technology, Sweden)
- Bart Oldeman (The Alliance, Canada)
- Jure Pečar (EMBL, Heidelberg, Germany)
- Jörg Saßmannshausen (Imperial College London, UK)
- Alexandre Strube (JSC, Germany)
- Lars Viklund (Umeå University, Sweden)
- overview of recent developments
- quick status update on development for EasyBuild 5.0
- Clang-based toolchains;
- supporting OSs with OpenSSL 3.x (like RHEL9);
- Q&A
- latest EasyBuild release: 4.9.0 (30 Dec 2023)
- see release notes + highlights
- next EasyBuild release: hopefully EasyBuild v5.0.0
- there will only be an EasyBuild v4.9.1 if there's a clear need for it, or if getting EasyBuild 5.0 is taking too long (way beyond 8 weeks v4.9.0 release)
- ETA for EasyBuild 5.0 release: hopefully first EasyBuild release of 2024
- started doing short sprint meetings, each Monday at 15:00 CE(S)T to set next 5 goals to tackle that week
- monthly sync meetings every 1st Wed of the month at 14:00 CE(S)T: next today Wed 3 Jan'24 at 14:00 CET
- see also https://hackmd.io/tZtz6vMmRfGL6N9Rf__OEA
- recent changes
-
docs (merged PRs)
- ...
-
framework (merged PRs)
-
bug fixes
- ...
- enhancements
-
changes
- ...
-
code cleanup
- ...
-
EasyBuild 5.0 (to
5.0.x
branch)-
bug fixes
- ...
- changes
- enhancements
-
bug fixes
-
bug fixes
-
easyblocks (merged PRs)
- bug fixes
-
enhancements
- add
pip_verbose
option toPythonPackage
and set it toTrue
in PyTorch easyblock, to show build output when usingpip
(PR #3065)
- add
-
updates
- update WIEN2k easyblock for v23.2 (PR #3035)
-
changes
- ...
- new easyblocks
- new easyblock for DualSPHysics (PR #3050)
-
EasyBuild 5.0 (to
5.0.x
branch)
-
easyconfigs (merged PRs)
-
~over 125 easyconfig PRs were merged since last conf call
- and over 175 old easyconfig PRs were closed as is, mostly because they were for easyconfigs using an unsupported or deprecated toolchains (see toolchain support policy)
-
bug fixes
- add patch to fix flaky scipy build in SciPy-bundle v2023.11 (PR #19481)
- fix LAPACK test failures in OpenBLAS 0.3.23/24 (PR #19495)
- add patches for PyTorch v2.1.2 with foss/2022a to fix test failures on non-x86 platforms (PRs #19571, #19572, #19573)
- use pocl with CUDA support as dependency for PyOpenCL v2023.1.4 (PR #19584)
-
enhancements
- ...
-
(noteworthy) new software
- ...
-
noteworthy software updates
- ...
- changes
- ...
-
EasyBuild 5.0 (to
5.0.x
branch)- ...
-
~over 125 easyconfig PRs were merged since last conf call
-
docs (merged PRs)
- work-in-progress
-
docs (open PRs + issues)
- project board to perform yearly review cycle of all documentation pages: https://github.com/orgs/easybuilders/projects/17/views/1
-
framework (open PRs + issues)
-
reported bugs / bug fixes
- Run unit tests on an updated version of Modules 4 (PR #4415)
- don't hardcode
/bin/bash
in eb script, RPATH wrapper script, andrun_shell_cmd
(PR #4441)- use
/usr/bin/env bash
instead ineb
+ RPATH wrapper script - resolve path to
bash
viawhich
inrun_shell_cmd
-
Are there any use cases where you would want/need to not use the first
bash
in$PATH
, but anotherbash
?- Do we need to also add a configuration option to specify the path to
bash
to use?
- Do we need to also add a configuration option to specify the path to
- use
- enhancements
- changes
-
EasyBuild 5.0 (to
5.0.x
branch)- deprecate failure to resolve a template value (PR #3285)
- change
tar
command used inget_source_tarball_from_git
to get reproducible tarballs (PR #4248) - replace
parallel
easyconfig parameter bymaxparallel
(PR #4398) - rename unclear
run
methods to install extensions (PR #4400)- needs more work, current approach of deprecating
run
methods & co is not working as intended...
- needs more work, current approach of deprecating
- bump minimum required Tmod (4.x) to 4.3.0 (PR #4425)
- requires that PR #4415 is merged first
- deprecate
run_cmd
andrun_cmd_qa
& co, move them toeasybuild._deprecated
module (WIP) (PR #4433)- requires that implementation of
run_shell_cmd
is complete, incl. support for asynchronously running commands and running interactive shell commands (WIP)
- requires that implementation of
- create
lib
/lib64
symlink before runningpostinstallcmds
(PR #4435) - deprecate
EnvironmentModulesC
andEnvironmentModulesTcl
(PR #4439) - support uninstalling software + module (issue #590)
- clean up SLURM/Batchsystem environment before doing builds (issue #4434)
- unset all
$SLURM_*
environment variables to avoid trouble withsrun
/MPI
- unset all
-
reported bugs / bug fixes
-
easyblocks (open PRs + issues)
- bug reports/fixes
- fix extension filter for Perl packages (PR #2699)
-
easyconfigs PR #18789 is a big step towards merging this, but there are other easyconfigs that needs to be tested first, like
XML-LibXML
,worker
,GD
, ...
-
easyconfigs PR #18789 is a big step towards merging this, but there are other easyconfigs that needs to be tested first, like
- implementation of CMake policy error for Python (PR #3055)
- see also this issue comment
- ready for testing
- will only be included in EasyBuild v5.0, since it's a change in behaviour (but should be harmless, right CMake?)
- pick Tcl/Tk lib directory correctly in R easyblock, may be either lib or lib64 (PR #3072)
- use
(=|:=)
in regex because OpenFOAM rule files use:=
instead of=
since v2212 (PR #3073) - update PyTorch easyblock to avoid configure warnings by disabling some options (PR #3070)
- fix extension filter for Perl packages (PR #2699)
- enhancements
-
updates
- update Clang-AOMP easyblock for ROCm 5.6 (PR #2958)
- new easyblocks
- ...
-
changes
- ...
-
EasyBuild 5.0 (to
5.0.x
branch)- enable
download_dep_fail
,use_pip
,sanity_pip_check
by default inPythonPackage
easyblock (PR #3022)- needs some tests to make sure easyconfigs that are currently not setting
use_pip
yet are still working- that includes PyTorch; see also PR #3079 to disable
use_pip
for PyTorch < v2.1)
- that includes PyTorch; see also PR #3079 to disable
- testing easyconfig that currently do not set
use_pip
yet has revealed some problems- any easyconfigs using
CMakePythonPackage
and usinguse_pip = True
are broken, becausePythonPackage
changesinstallopts
easyconfig parameter like it own's the place => being fixed in PR #3080
- any easyconfigs using
- follow-up is needed in easyconfigs, to:
- clean up easyconfigs in
5.0.x
branch that now setuse_pip
& co toTrue
(see easyconfigs PR #19265) - explicitly set
use_pip
& co toFalse
in (non-archived) easyconfig that currently don't specify them at all and can't usepip
for some reason (which should be a minimal set of easyconfigs)
- clean up easyconfigs in
- needs some tests to make sure easyconfigs that are currently not setting
- update
ConfigureMake
easyblock to error out on unknown configure args (PR #3025 + #3026) - update
PythonPackage
easyblock to build wheel first when installing Python package withpip
(PoC PR #3068](https://github.com/easybuilders/easybuild-easyblocks/pull/3068))
- enable
- bug reports/fixes
-
easyconfigs (open PRs + issues)
- bug fixes/reports
- ...
- enhancements
- ...
-
new software
- ...
-
noteworthy software updates
- Qt5 v5.15.11 w/
GCCcore/13.2.0
(forfoss/2023b
) (PR #19320)
- Qt5 v5.15.11 w/
- changes
- ...
-
EasyBuild 5.0 (to
5.0.x
branch)- clean up easyconfigs that explicitly set
use_pip
,sanity_pip_check
anddownload_dep_fail
(PR #19265)
- clean up easyconfigs that explicitly set
- closed PRs
- ...
- bug fixes/reports
-
docs (open PRs + issues)
- raised by Thomas, cfr. discussion in Slack
-
flang
support in Clang makes it more interesting to have a Clang-based toolchain - two variants of Flang
- LLVM-based
flang-new
(previously F18)- this is what you get when installing Clang >= 15.x with EasyBuild (binary named
flang-new
)
- this is what you get when installing Clang >= 15.x with EasyBuild (binary named
- classic Fortran Clang compiler
- based on PGI compilers
- used by AMD (AOMP (CPU+GPU) + AOCC (CPU-only) + ROCm compilers (
amd-clang
, etc.)), Arm, etc. compiler suite - AOMP's Fortran compiler also included OpenMP offloading
- current Clang-AOMP easyconfig PR produces
flang
binary (notflang-new
)
- Fortran mod files produced by these are not compatible
- completely different compiler options
- LLVM-based
- Fortran compiler in Intel oneAPI, NVHPC are a totally different frontend (with LLVM backend)
- Markus has been playing with Clang-based toolchains for a while, but only for C/C++
- current
toolchains/compiler/clang.py
can be updated to also support Fortran compiler (flang-new
) - additional compiler support can be implemented in additional classes for AOMP, AOCC, etc so they can be used in EasyBuild toolchains
- combining Clang (Fortran) compiler and Autotools/CMake can be a hassle...
- battle plan
-
foss/2023b
-> replace withGCC
withClang
withflang-new
included- naming?
cofbf
- version:
2023b
- naming?
-
foss/2023b
-> replaceGCC
withAOMP
orROCm
compileraomp-ofbf
aocc-ofbf
rocm-ofbf
-
-
--include-toolchains
is useful here, see http://docs.easybuild.io/including-additional-python-modules/#include_toolchains
- see also https://github.com/easybuilders/easybuild-easyconfigs/issues/19593
- like RHEL9, Debian Bookworm (12.x), etc.
- dealing with
OpenSSL/1.1
wrapper- wraps around system OpenSSL 1.1.x if available
- installs OpenSSL 1.1.x from source if not
- used as dependency for
cURL
,Python
,Perl
,Rust
,R
,TensorFlow
,wget
, - we need to update
openssl_wrapper.py
easyblock to also support OpenSSL 3.0.x- so we can create an
OpenSSL/3.0
wrapper - => already done by Sebastian a while ago, see also easyconfigs PR #15659
- so we can create an
- for which toolchains to we pick OpenSSL/3.0 instead of OpenSSL/1.1
-
OpenSSL/1.1
=>OpenSSL/system
- OS openssl 1.1 =>
OpenSSL/1.1
- openssl 3 =>
OpenSSL/3.0
(orOpenSSL/3
, cfr. their plan with using semantic versioning)
- OS openssl 1.1 =>
- Jörg ran into trouble with recent Perl version when building on top of OpenSSL 3.x
undefined symbol: OSSL_PROVIDER_get0_name at
- can test on
jsc-zen3
that Sebastian has set up for testing easyconfig PRs - The Alliance is using OpenSSL 3.x in their new compat layer (with
openssl-compat-1.1.1
also installed)- EESSI ran into trouble with OpenSSL 3.x, cfr.
-
openssl3-devel
package is available for RHEL8 & friends - for testing, we can use the container images provided via https://github.com/easybuilders/easybuild-containers
- EasyBuild User Meeting 2024
- Tue-Thu 23-25 April 2024 in Umeå (Sweden)
- https://easybuild.io/eum24
- how to update list of Ruby gems?
- was probably done manually up until now...
- talk to
rubygems.org
- could do update in a Ruby virtual environment
- AFNI installing into
$HOME/.local
?!- cfr. Jörg's PR #17309