-
Notifications
You must be signed in to change notification settings - Fork 144
Conference call notes 20240214
Kenneth Hoste edited this page Feb 14, 2024
·
2 revisions
(back to Conference calls)
Notes on the 240th EasyBuild conference call, Wednesday 14 Feb 2024 (16:00 UTC)
List of attendees (10):
- Sebastian Achilles (JSC, Germany)
- Simon Branford (Univ. of Birmingham, UK)
- Alex Domingo (Vrije Universiteit Brussel, Belgium)
- Thomas Hoffman (EMBL, Heidelberg, Germany)
- Kenneth Hoste (HPC-UGent, Belgium)
- Adam Huffman (Big Data Institute, Oxford, UK)
- Sébastien Moretti (SIB, Switzerland)
- Jörg Saßmannshausen (Imperial College London, UK)
- Jure Pečar (EMBL, Heidelberg, Germany)
- Lars Viklund (Umeå University, Sweden)
- overview of recent developments
- quick status update on development for EasyBuild 5.0
- 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 after 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 7 Feb'24 at 14:00 CET
- see also 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
- recent changes
-
docs (merged PRs)
- RPATH is enabled by default in EasyBuild v5.0 (PR #241)
-
framework (merged PRs)
-
bug fixes
- clean up log file of EasyBlock instance in
check_sha256_checksums
(PR #4452)
- clean up log file of EasyBlock instance in
-
enhancements
- ...
-
changes
- ...
-
code cleanup
- ...
-
EasyBuild 5.0 (to
5.0.x
branch)
-
bug fixes
-
easyblocks (merged PRs)
- bug fixes
-
enhancements
- Improve error checking in PyTorch easyblock (PR #3085)
-
updates
- update Clang-AOMP easyblock for ROCm 5.6 + consider both
$EBROOTGCC
and$EBROOTGCCCORE
to specify-DGCC_INSTALL_PREFIX
(PR #2958) - enhance LAMMPS easyblock dynamically add ARMV81 and A64FX to Kokkos CPU mapping based on LAMMPS version + fix installation of Python bindings for LAMMPS >= 2Aug2023 + fix sanity check by doing
MPI_Finalize
(PR #3036) - only install Gurobi Python bindings via setup.py for Gurobi v10.x and older (PR #3225)
- update Clang-AOMP easyblock for ROCm 5.6 + consider both
-
changes
- ...
- new easyblocks
- ...
-
EasyBuild 5.0 (to
5.0.x
branch)- bug fixes:
- changes:
- remove ~22 unused custom easyblocks (see PR overview)
- 5 open PRs left to remove unused easyblocks
- replace
run_cmd
withrun_shell_cmd
in ~52 custom easyblocks (see PR overview)- see also overview in issue #3089
- 16 easyblocks left to migrate to
run_shell_cmd
(see open PRs)
- remove ~22 unused custom easyblocks (see PR overview)
-
easyconfigs (merged PRs)
- ~70 easyconfig PRs were merged since last conf call
-
bug fixes/reports
- make sure that Brunsli libraries are installed into /lib (PR #19805)
- avoid spurious test failure when enabling RPATH for Perl (PR #19835)
- add missing dependencies for fslpy in easyconfig for FSL v6.0.5.1 (PR #19829)
- 2 different versions of
Compress::Zlib
inPerl/5.34.1-GCCcore-11.3.0
(issue #19854)
-
enhancements
- ...
-
(noteworthy) new software
- ...
-
noteworthy software updates
- ...
- 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) - replace
run_cmd
withrun_shell_cmd
in easyconfigs testsuite (PR #19818) - archive or delete old patches (PR #19827)
- add check to make sure that
download_dep_fail
,sanity_pip_check
,use_pip
are not explicitly set toTrue
in easyconfigs (PR #19830)
- clean up easyconfigs that explicitly set
-
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)
-
enhancements
- More granular
eb
exit codes (return codes) (issue #4426) - Download instructions should tell user exactly what files to put where (issue #4449)
- More granular
- changes
-
EasyBuild 5.0 (to
5.0.x
branch)-
eb
command fails outside of framework source folder (issue #4451) - active PRs
- change
tar
command used inget_source_tarball_from_git
to get reproducible tarballs (PR #4248)- Alex has some idea on how to ensure that tarball created for sources obtained via
git_config
are identical across Linux & macOS
- Alex has some idea on how to ensure that tarball created for sources obtained via
- rename unclear
*run*
methods to*install_extension*
+ renameinstall_extensions
toinstall_all_extensions
(PR #4400)- problems fixed by Alex, ready for review/merge
- add support for running shell commands asynchronously with
run_shell_cmd
(PR #4444) - implement support for running interactive commands with
run_shell_cmd
(WIP PR #4453)- initial working implementation, but very much still WIP...
- change
- dormant issues/PRs (for now)
- deprecate failure to resolve a template value (PR #3285)
- drop load storm safe guard for Environment Modules v4.2.4+ (PR #4373)
- we should also enable
depends_on
by default when using Lmod as modules tool in EasyBuild 5.0
- we should also enable
- replace
parallel
easyconfig parameter bymaxparallel
(PR #4398) - 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
- 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 - should be done opt-in (
--clean-slurm-env
configuration option)
- unset all
-
-
reported bugs / bug fixes
-
easyblocks (open PRs + issues)
- bug reports/fixes
- ...
- enhancements
-
updates
- ...
- new easyblocks
- ...
-
changes
- ...
-
EasyBuild 5.0 (to
5.0.x
branch)- fix extension filter for Perl packages (PR #2699)
- update
ConfigureMake
easyblock to error out on unknown configure args (PR #3025 + #3026) - rename
run
method toinstall_extension
, and likewise forprerun
topre_install_extension
,postrun
topost_install_extension
, andrun_async
toinstall_extension_async
(PR #3064) - update
run_async
methods inRPackage
,Rmpi
, andRserve
easyblocks to use submitrun_shell_cmd
call into thread pool (PR #3163)- see also framework PR #4444
- ~16 open PRs to replace
run_cmd
withrun_shell_cmd
in custom easyblocks- see also overview in issue #3089
- all help to migrate easyblocks to
run_shell_cmd
is welcome!
- ~5 open PRs to remove unused custom easyblocks
- bug reports/fixes
-
easyconfigs (open PRs + issues)
- bug fixes/reports
- fix
JULIA_DEPOT_PATH
for Julia (PR #19650)- Alex: maybe alternative can be to play with
JULIA_LOAD_PATH
instead?
- Alex: maybe alternative can be to play with
- fix
- enhancements
- ...
-
new software
- ...
-
noteworthy software updates
- Qt5 v5.15.11 w/
GCCcore/13.2.0
(forfoss/2023b
) (WIP PR #19320) - PyTorch v2.1.2 w/
foss/2023a
+ CUDA 12.1.1 (PR #19666)- test reports look pretty good, only a handful of failing tests on a bunch of GPUs
- Qt5 v5.15.11 w/
- changes
- ...
-
EasyBuild 5.0 (to
5.0.x
branch)- replace
parallel
bymaxparallel
(PR #19375)
- replace
- closed PRs
- ...
- bug fixes/reports
-
docs (open PRs + issues)
- EasyBuild User Meeting 2024 - agenda
- https://easybuild.io/eum
- suggestions for talk welcome!
- draft agenda is being puzzled together behind the scenes
- suggestions/ideas for talks still welcome!
- Jörg looking into installation of Dynare
- requires path to MATLAB installation
- Jörg's comment:
slightly better:
# That is what I am currently doing: preconfigopts = 'module add MATLAB/%s && export MATLABROOT=${EBROOTMATLAB} && ' % (local_mlver) preconfigopts += 'module del MATLAB/%s && ml; ' % (local_mlver) configopts = "-Dprefer_static=true -Dmatlab_path=${MATLABROOT} -Dbuildtype=release "
local_mlver = '2023a_Update_3' versionsuffix = '-MATLAB-%s' % local_mlver
builddependencies = [('MATLAB', local_mlver)] preconfigopts = 'export MATLABROOT=${EBROOTMATLAB} && ' % (local_mlver) preconfigopts += 'module unload MATLAB && ' configopts = '...'
- can the code be patched to use
$EBROOTMATLAB
rather than using a hardcoded path?- not really, because during installation time it's also building stuff on top of that MATLAB
- Alex has done a similar workaround for other things (like
MATLAB-Engine
) - Thomas: another option could be to simply strip out the subdirectory that contains
libstdc++
in MATLAB installation dir (glx...
)- this was used to make old MATLAB version (2016) work on CentOS 8, in combination with a GCC/foss toolchain controlled by EasyBuild