Conference call notes 20250212 - easybuilders/easybuild GitHub Wiki
(back to Conference calls)
Notes on the 264th EasyBuild conference call, Wednesday 12 Feb 2025 (16:00 UTC / 17:00 CET)
Attendees
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)
Agenda
- overview of recent developments
- outlook to EasyBuild 5.0 release
- 2025a update of common toolchains
- Q&A
Recent developments
- 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,
#eb5channel in Slack, conf calls, dedicated issue eb --install-latest-eb-releasewill 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 :fire:
- additional EasyBuild 4.9.x versions could still be done via
4.9.xbranches, 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
Merged PRs
-
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_DIRstate toLibSymlinkto fix case where bothlibandlib64are 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-headersconfiguration 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_stringmethod (PR #4756)
- bug fixes
-
easyblocks (merged PRs)
- bug fixes
- ...
- enhancements
- ...
- updates
- ...
- changes
[5.0.x]adoptmodule_load_environmentin 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
- ...
Open (active) PRs
-
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-pror--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
$CPATHin modulefiles overwriting system paths (issue #3331) [develop]initial work towards integratingeasy_updatefunctionality (PR #4714)- enhance
apply_regex_substitutions(PR #4758)
- code cleanup
- ...
- changes
[5.0.x]Deprecate use ofparalleleasyconfig 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_checkforPythonPackage(PR #3477)- Fix building PyTorch when using
setup.pyas the build command (PR #3574, fixes issue #3570) - changes to
Cargoeasyblock break installation of polars (issue #3567) [5.0.x]Fix$PYTHONPATHfor 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_targetparameter toPythonPackage(PR #3575)- to help deal with issue #3570
- unclear whether
build_targetwould cover use case where a build command needs to be run for PyTorch while it hasuse_pipenabled (sobuildstep 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_guessis being deprecated:- split
SystemCompilerGCCout ofSystemCompilerand adoptmodule_load_environment(PR #3559) - honor
--module-search-path-headersin 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.parallelproperty (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
2025a common toolchains
- (
2024bis 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.0toolchain 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)
Q&A / others
- 8th EasyBuild User Survey, please fill it out! (closes 28 Feb'25)
- (Roberto)
eb --check-contribis 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