-
Notifications
You must be signed in to change notification settings - Fork 144
Conference call notes 20250212
Kenneth Hoste edited this page Feb 12, 2025
·
1 revision
(back to Conference calls)
Notes on the 264th EasyBuild conference call, Wednesday 12 Feb 2025 (16:00 UTC / 17:00 CET)
List of attendees (17):
- Em Dragowsky (Case Western Reserve University, Ohio, US)
- Davide Grassano (CECAM)
- 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)
- Davide Obbi (E4)
- Mikael Öhman (Chalmers University of Technology, Sweden)
- Bart Oldeman (McGill University, Digital Research Alliance of Canada)
- Andrea Piserchia (E4)
- Jan André Reuter (JSC, Germany)
- Jörg Saßmannshausen (Imperial College London, UK)
- Roberto Scipioni (Red Oak Consulting, UK)
- 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.0beta1 (24 Dec 2024)
- see also https://docs.easybuild.io/easybuild-v5/release-candidates/#beta-release-500beta1-18-dec-2024
-
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 (due to a hack in the easyconfig filename & version (0.5.0.0beta1
)), see easyconfigs PR #22049
- next (stable) EasyBuild release:
- 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 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
-
[develop]
Avoid making build directory read-only (PR #4736) -
[develop]
show readable error message when applying patch without (extracted) source (PR #4738) -
[5.0.x]
Adapt module show command run to cope with non-zero exit code for non-existing module (required for Environment Modules v5.5+ and Lmod 8.7.56+) (PR #4739) -
[5.0.x]
enable non-blocking reads for streaming outputs (framework PR #4755) -
[5.0.x]
addBOTH_TO_DIR
state toLibSymlink
to fix case where bothlib
andlib64
are symlinks to other paths(framework PR #4761)
-
-
enhancements
-
[5.0.x]
add TODO and warning about non-path variables not being currently handled in module load environment (PR #4748) -
[5.0.x]
addmodule-search-path-headers
configuration option to control how modules set search paths to header files (PR #4655) -
[5.0.x]
Small improvements toModuleLoadEnvironment
(PR #4754)
-
-
changes
- ...
-
code cleanup
-
[5.0.x]
Remove superflousis_string
method (PR #4756)
-
-
bug fixes
-
easyblocks (merged PRs)
-
bug fixes
- ...
-
enhancements
- ...
-
updates
- ...
-
changes
-
[5.0.x]
adoptmodule_load_environment
in PerlModule + custom easyblock for FlexiBLAS (easyblocks PR #3529) -
[5.0.x]
adoptmodule_load_environment
: PythonPackage (easyblocks PR #3530) -
[5.0.x]
adoptmodule_load_environment
: icc, ifort, iccifort (easyblocks PR #3550) -
[5.0.x]
adoptmodule_load_environment
: IntelBase, Advisor, Inspector, VTune (easyblocks PR #3551) -
[5.0.x]
adoptmodule_load_environment
: intel-compilers (easyblocks PR #3552) -
[5.0.x]
adoptmodule_load_environment
: impi (easyblocks PR #3553) -
[5.0.x]
adoptmodule_load_environment
: imkl (easyblocks PR #3555) -
[5.0.x]
adoptmodule_load_environment
: GCC (easyblocks PR #3556) -
[5.0.x]
adoptmodule_load_environment
: Conda (easyblocks PR #3562) -
[5.0.x]
adoptmodule_load_environment
: Anaconda (easyblocks PR #3577) -
[5.0.x]
adoptmodule_load_environment
: ABAQUS (easyblocks PR #3578)
-
-
new easyblocks
- ...
-
code cleanup
- ...
-
bug fixes
-
easyconfigs (merged PRs)
- ~20 easyconfig PRs were merged since last conf call
- bug fixes/reports
-
enhancements
- ...
-
(noteworthy) new software
- ...
-
noteworthy software updates
- ...
-
cleanup
- ...
-
changes
- ...
-
docs (open PRs + issues)
- ...
-
framework (open PRs + issues)
-
bug fixes
-
[5.0.x]
Add context manager for allowing unresolved templates and make the state members private (PR #4735) - incompatibility with Lmod 8.7.56 due to module show producing non-zero exit code for non-existent module (issue #4759)
- Ignore unmodified files when using
--new-pr
or--update_pr
(PR #4753) - trouble with huge build directories (issue #22247)
- can be disabled via
--disable-keep-debug-symbols
- using that for Clang results in 10x smaller build directory
- can be disabled via
-
-
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)
- Problem using
$CPATH
in modulefiles overwriting system paths (issue #3331) -
[develop]
initial work towards integratingeasy_update
functionality (PR #4714) - enhance
apply_regex_substitutions
(PR #4758)
-
-
code cleanup
- ...
-
changes
-
[5.0.x]
Deprecate use ofparallel
easyconfig parameter and fix updating the template value (PR #4580)- (Roberto) in some situations the auto-detection done by EasyBuild on how many cores are available seems incorrect, only one core detected
-
[5.0.x]
Let jobs retweak easyconfigs themselves (PR #4669) - With new clang based intel compilers (
ifx
,icx
,icpx
) we should use-march=native
(issue #4744)
-
-
bug fixes
-
easyblocks (open PRs + issues)
- bug fixes/reports
-
[develop]
fixenhance_sanity_check
forPythonPackage
(PR #3477) - Fix building PyTorch when using
setup.py
as the build command (PR #3574, fixes issue #3570) - changes to
Cargo
easyblock break installation of polars (issue #3567) -
[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) -
[develop]
Restructure RPATH and elf interpreter setting for Java, and add the LIBRARY_PATH to the additional RPATH and separate java awt libs (PR #3583)
-
- enhancements
-
[develop]
Explicitely mention that the PyTorch easyblock needs updating when failing for this reason (PR #3255) -
[develop -> 5.0.x]
enhance LLVM easyblock for compilation of clang/flang + other llvm-projects (PR #3373) -
[develop]
LAMMPS: generate version from the source files when using software-commit (PR #3485) -
[5.0.x]
Addbuild_target
parameter toPythonPackage
(PR #3575)- to help deal with issue #3570
- unclear whether
build_target
would cover use case where a build command needs to be run for PyTorch while it hasuse_pip
enabled (sobuild
step is skipped)
-
[develop]
add support for neoverse_n1 instances of Azure (cortex-a72) to LAMMPs easyblock (PR #3580) -
[5.0.x]
enhance FlexiBLAS easyblock to add support for AOCL-BLAS backend (PR #3589)
-
-
updates
- ...
-
changes
- Use context managers for templating changes in Bundle easyblock (PR #3547)
- updates to easyblock required because
make_module_req_guess
is being deprecated:- split
SystemCompilerGCC
out ofSystemCompiler
and adoptmodule_load_environment
(PR #3559) - honor
--module-search-path-headers
in easyblocks that hardcode CPATH (PR #3584) - fix module load environment in conda and Anaconda easyblock (PR #3585)
- adopt module_load_environment in Clang easyblock (PR #3586)
- adopt module_load_environment in CUDA easyblock (PR #3587)
- split
- update easyblocks to use
EasyConfig.parallel
property (PR #3557)
-
code cleanup
- ...
-
new
- ...
- bug fixes/reports
-
easyconfigs (open PRs + issues)
-
>975 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
- add collection of easyconfig templates organized per generation (PR #21984)
-
(noteworthy) new software
- ...
- software updates
-
[develop]
PyTorch v2.3.0 (PR #20489 + PR #22021)- blocked by changes in how results of PyTorch test suite are reported...
- custom easyblock for PyTorch will need to be updated, Flamefire has started looking into it (update?)
-
[develop]
AlphaFold 3 (PR #21864 + PR #22067)- see also https://github.com/vscentrum/vsc-software-stack/issues/477
- focused call to streamline this a bit?
-
-
changes
- ...
-
>975 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
- (Bart) no AMD Zen4 (Genoa) or Zen5 (Turin), which support AVX-512, support yet in current BLIS releases (and even the upcoming BLIS 2.0)
- 8th EasyBuild User Survey, please fill it out! (closes 28 Feb'25)
- (Roberto)
eb --check-contrib
is useful to check for code style issues + missing checksums (includeseb --check-style
)- see also Mikael's "A splash of color" talk at EUM'24 -> https://easybuild.io/eum24/
- confusion on LLVM/Clang in HOOMD (easyconfig PR #22013)
- check for not allowing multiple variants of dependencies can be improved
- see also easyconfigs #12687
- can be done without a hardcoded list
- extend the check to only dependencies, but sticking to a single software version per easyconfigs generations, yet allow to make exceptions
- run this check via a dedicated workflow that doesn't need to be run multiple times for different Lmod versions
- could allow pushing comments to PR from workflow