-
Notifications
You must be signed in to change notification settings - Fork 144
Conference call notes 20240605
(back to Conference calls)
Notes on the 247th EasyBuild conference call, Wednesday 05 Jun 2024 (15:00 UTC)
List of attendees (10):
- Sebastian Achilles (JSC, Germany)
- Alex Domingo (Vrije Universiteit Brussel, Belgium)
- Jasper Grimm (University of York, UK)
- Em Dragowsky
- Bart Oldeman
- Jörg Saßmannshausen (Imperial College London, UK)
- Simon Branford
- Kurt Lust (UAntwerpen, Belgium + LUMI User Support Team)
- Mikael Öhman (Chalmers University of Technology, Sweden)
- Sam Moors (Vrije Universiteit Brussel, Belgium)
- overview of recent developments
- outlook to EasyBuild 5.0 release
- 2024a update of common toolchains
- Q&A
- latest EasyBuild release: 4.9.1 (3 Apr 2024)
- next EasyBuild release: probably 4.9.2 in coming weeks, to help with transition to 5.0.0
-
EasyBuild v5.0.0
- 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
-
docs (merged PRs)
- ...
-
framework (merged PRs)
-
bug fixes
- Fix resolved (template) values in case of failure (PR #4532)
-
enhancements
- versions checks to avoid mixing major versions across the EasyBuild components (PR #4520)
- will help to make clear why
--from-pr
is broken when using EasyBuild 4.x when5.0.x
branch is collapsed intodevelop
branch (which will happen soon, after release of EasyBuild v4.9.2)
- will help to make clear why
- add support for easyconfig parameter
module_only
(PR #4537)
- versions checks to avoid mixing major versions across the EasyBuild components (PR #4520)
-
changes
- ...
-
code cleanup
- ...
-
EasyBuild 5.0 (
5.0.x
branch)- Use
dict.items()
instead of repeatedly getting the value (PR #4533) - create
env.sh
andcmd.sh
helper scripts inrun_shell_cmd
(framework PR #4486) - add support for alternate easyconfig parameters/templates/constants (PR #4511)
- actual renaming is being done in PR #4514 (which is about to get merged)
- policy will be documented w.r.t. naming of things:
-
-
Multiple words are separated by
_
(or-
for command line configuration options), as opposed to just concatenating them
- examples:
build_opts
(notbuildopts
),post_install_cmds
(notpostinstallcmds
) - exceptions:
symlink
,sysroot
-
Multiple words are separated by
-
- Common long words can be abbreviated, but only if there's no room for confusion
- examples:
deps
(instead ofdependencies
),opts
(instead ofoptions
),env_mod
(instead ofenvironment_module
) - exceptions:
-
configure
in easyconfig parameters likeconfigure_opts
(to be consistent with configure step) -
cfg
will be used EasyBuild configuration options
-
-
- Confusion with commonly used terms (like "module") is avoided by being more descriptive
- example: don't use
mod
formodule
, butpy_mod
for Python module,env_mod
for environment module,fortran_mod
for Fortran module
-
- add new
get_cwd
function to tools.filetools to retrieve current working directory (PR #4525) -
--fix-deprecated-easyconfigs
will be enhanced to auto-rename stuff in easyconfigs (see WIP PR #4547)
- fix
test_update_branch_github
which got broken becausetoy-0.0.eb
easyconfig was modified (framework PR #4545)
- Use
-
bug fixes
-
easyblocks (merged PRs)
-
bug fixes
- ...
- enhancements
-
updates
- ...
-
changes
- ...
-
new easyblocks
- ...
-
EasyBuild 5.0
- set CMake installation LIBDIR to
lib
by default in CMakeMake easyblock (PR #3227)
- set CMake installation LIBDIR to
-
bug fixes
-
easyconfigs (merged PRs)
- ~100 easyconfig PRs were merged since last conf call
- bug fixes/reports
-
enhancements
- ...
-
(noteworthy) new software
- ...
-
noteworthy software updates
-
Laying ground in GCCcore/13.3.0 (2024a)
- GCC v13.3.0 PR#20559
- Autotools v20231222, Autoconf v2.72, Automake v1.16.5, libtool v2.4.7, Perl v5.38.2 PR#20570
- pkgconf v2.2.0 PR#20572
- gettext v0.22.5, XZ v5.4.5, libxml2 v2.12.7, libiconv v1.17, ncurses v6.5 PR#20573
- CMake v3.29.3, bzip2 v1.0.8, cURL v8.7.1, libarchive v3.7.4, UnZip v6.0 PR#20574
- numactl v2.0.18, libfabric v1.21.0, PSM2 v12.0.1 PR#20575
- libevent v2.1.12 PR#20576
- Python v3.12.3, libreadline v8.2, Tcl v8.6.14, libffi v3.4.5, SQLite v3.45.3 PR#20579
- Ninja v1.12.1, Meson v1.4.0, libpciaccess v0.18.1 PR#20580
- hwloc v2.10.0, UCX v1.16.0, UCC v1.3.0 PR#20581
- xorg-macros v1.20.1 PR#20583
- make v4.4.1, BLIS v1.0 PR#20608
- OpenBLAS v0.3.27 PR#20621
- expat v2.6.2, git v2.45.1 PR#20628
- cffi v1.16.0, gzip v1.13, libyaml v0.2.5 PR#20629
- Rust v1.78.0, patchelf v0.18.0 PR#20631
- gperf v3.1, libpng v1.6.43, util-linux v2.40 PR#20632
- Doxygen v1.11.0, Eigen v3.4.0, GDRCopy v2.4.1 PR#20633
- jbigkit v2.1, LibTIFF v4.6.0, libdeflate v1.20 PR#20635
- mold v2.31.0 PR#20637
- ICU v75.1, nodejs v20.13.1 PR#20638
- FlexiBLAS v3.4.4 PR#20643
- GDB v14.2, ISL v0.26, MPC v1.3.1 PR#20644
- FFTW v3.3.10, gfbf v2024.05 PR#20645
- foss v2024.05, gompi v2024.05, FFTW.MPI v3.3.10 PR#20646
-
Jupyter ecosystem in GCCcore/13.2.0 (2023b)
- tornado v6.4 PR#20563
- JupyterLab v4.2.0, JupyterNotebook v7.2.0, jupyter-server v2.14.0, hatch-jupyter-builder v0.9.1 PR#20606
- JupyterHub v4.1.5, bcrypt v4.1.3, configurable-http-proxy v4.6.1 PR#20612
- Jupyter-bundle v20240522, nbclassic v1.0.0, jupyter-server-proxy v4.1.2, aiohttp v3.9.5, jupyter-resource-usage v1.0.2, jupyter-server-proxy v4.1.2, nbclassic v1.0.0 PR#20613
- ipympl v0.9.4 PR#20626
- dask v2024.5.1, bokeh v3.4.1 PR#20657
- dask-labextension v7.0.0 PR#20658
-
OCaml v5.1.1 (PR#20552)
-
-
docs (open PRs + issues)
- ...
-
framework (open PRs + issues)
-
bug fixes
- ...
-
enhancements
- ...
-
changes
- ...
-
EasyBuild 5.0
- Issues/PRs that are (currently) considered a blocker for releasing EasyBuild 5.0 have been labeled as such: https://github.com/easybuilders/easybuild-framework/labels/EasyBuild-5.0-blocker
- check presence of CWD at the end of
run_shell_cmd
and try to return to original working directory if non-existent (PR #4390) - Enable module-depends-on by default (PR #4500)
- Make module-extensions true by default (PR #4501)
- Make generic
EasyBlock
usable (WIP PR #4531) - More granular exit codes (PR #4534)
- Add to
$PYTHONPATH
or$EBPYTHONPREFIXES
by automatically scanning for python site package directories (PR #4539)
-
bug fixes
-
easyblocks (open PRs + issues)
- bug fixes
- enhancements
-
changes
- Merge of the
ConfigureMake
andCMakeMake
versions of the easyblock for QuantumESPRESSO (PR #3338)
- Merge of the
-
new
- ...
-
easyconfigs (open PRs + issues)
-
bug fixes
- ...
-
enhancements
- ...
-
(noteworthy) new software
- QuantumESPRESSO:
- jax 0.4.25 w/ CUDA (PR #20119)
- RELION v5.0.0_beta.2024.0.01 w/ CUDA 12.1.1 9 ([PR #19678](https://gi
- thub.com/easybuilders/easybuild-easyconfigs/pull/19678))
- PyTorch v2.3.0 (PR #20489)
- Alexander is in touch with PyTorch devs on getting machine-readable output for PyTorch test suite
-
changes
- ...
-
bug fixes
- GCC 13.3 as a base
- latest version of all components (except GCC, not using 14.1):
-
foss/2024a
(candidate toolchainfoss/2024.05
merged: PR #20646) -
intel/2024a
(TODO: set up candidate toolchainintel/2024.04
?)- GCCcore 13.3 + binutils 2.42
- Intel C/C++/Fortran compilers 2024.1.0 (20240327)
- Intel MPI 2021.12.1 (20240424)
- Intel MKL 2024.1.0 (20240327)
-
- notes
- Python 3.11.x or 3.12.x => trying with Python 3.12 for now
- Sam: Cython should be a build dependency for Python-bundle-PyPI
-
Jorg: python-javabridge in CellProfiler is not working PR#20725
- cloning with
git_config
will not help, as it will result in the same tarball already configure to be pulled from github - issue is a typo in
source_urls
extention parameter
- cloning with
-
Jorg: what is the recommnded solution to build optimized code with Intel compilers on non-Intel platforms
- optarch for Intel compilers on AMD hardware has to be done manually
- optimal optarch for zen4 is
rocketlake
- Jasper: we could have a list of optarch per archs hardcoded somewhere in EB
-
Bart: new version Intel C/C++ compiler v2024.1.2, but not for Fortran. However installation of C/C++ compiler with Fortran compiler that have different versions fails.
- we can wait for the same update on Fortran side
- issue lies on Intel compilers side, so difficult to fix by us
- Jasper: if you download the bundle, you get v2024.1.0 for all compilers (C++ and Fortran), we should stick to this combination as well
-
Bart: opinions on PR#4513 get_software_libdir: return dir if it's only 1 with libs?
- looks good, approach is reasonable but we have to check uses of
get_software_libdir
in other easyblocks
- looks good, approach is reasonable but we have to check uses of
-
Jasper: what linker will be used in 2024a?
- mold has its easyconfig merged in GCCcore/13.3.0, but foss/2024.05 continues to be based on good old binutils and nothing else
- Simon: developer of mold suggested some time ago to change licensing to a non fully open-source model