Skip to content

Conference call notes 20250115

Bart Oldeman edited this page Jan 15, 2025 · 11 revisions

(back to Conference calls)

Notes on the 262nd EasyBuild conference call, Wednesday 15 Jan 2025 (16:00 UTC / 17:00 CET)

Attendees

List of attendees (15):

  • Jayesh Badwaik (JSC)
  • Alexander Grund (ZIH, Dresden, Germany)
  • Leonardo Honfi Camilo (Wageningen University, The Netherlands)
  • Georgios Kafanas (University of Luxembourg)
  • Raoul Lahom
  • Kurt Lust (UAntwerpen / LUMI)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Bart Oldeman (McGill University, Digital Research Alliance of Canada)
  • Jan Reuter (JSC, Germany)
  • Åke Sandgren (Umeå University, Sweden)
  • Jörg Saßmannshausen (Imperial College London, UK)

Agenda

  • overview of recent developments
  • outlook to EasyBuild 5.0 release
  • 2024b update of common toolchains
  • EUM
  • Q&A

Recent developments

  • latest stable EasyBuild release: v4.9.4 (22 Sept 2024)
  • latest beta EasyBuild release: 5.0.0beta1 🔥 (24 Dec 2024)
  • next EasyBuild release:
    • 5.0.0beta2 (could be rc1 if good enough)
    • feedback is welcome via mailing list, #eb5 channel in Slack, conf calls, dedicated issue
  • next (stable) EasyBuild release:
    • very likely EasyBuild v5.0.0...
    • additional EasyBuild 4.9.x versions could still be done via 4.9.x branches, but none are planned currently
    • --install-latest-eb-release installs 4.9.4 (not 5.0.0beta1 since easyconfigs PR #22049 uses version 0.5.0.0beta1
  • EasyBuild v5.0.0
    • project board: https://github.com/orgs/easybuilders/projects/18/views/2
    • detailed notes on latest developments in https://hackmd.io/tZtz6vMmRfGL6N9Rf__OEA
    • to test beta1
      eb --from-pr 22049
    • 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
      • [5.0.x] Fix to_checksums with None values in dicts and recursion (PR #4579)
      • [5.0.x] Allow nesting values in checksum dicts (PR #4711)
      • [5.0.x] allow deprecated behaviour when running test_fetch_sources_git with Python (PR #4733)
      • [5.0.x] attach /dev/null to STDIN on run_shell_cmd without input content (PR #4731)
      • [5.0.x] do not attach PIPE file handle on STDIN of run_shell_cmd unless there are contents for it (PR #4728)
      • [5.0.x] resolve template values when getting checksums for extensions (PR #4727)
      • [5.0.x] Fix the checksum type check (PR #4578)
      • [5.0.x] fall back to getting values with unresolved templates in EasyBlock.check_checksums_for (PR #4725)
      • [develop] Fix FFT entry in --list-toolchain output for Cray toolchains (PR #4719)
    • enhancements
      • [5.0.x] faster nub function (PR #4737)
      • [5.0.x] add support for temporarily disabling requirement that all template values must resolve via EasyConfig.expect_resolved_template_values (PR #4726)
      • [5.0.x] update info being printed when fetch step is running to make it clear that checksums are verified as well (PR #4729)
    • documentation
      • [develop] Add license notice to findPythonDeps (PR #4740)
    • updates
      • [develop] update copyright lines for 2025 (PR #4734)
      • [5.0.x] sync with develop (20241226) (PR #4732)
      • [5.0.x] sync with develop (20241218) + version bump to 5.0.0beta1 (PR #4724)
      • [5.0.x] run sanity checks commands from an empty temporary directory (rather than the software install directory) (PR #4723)
    • code cleanup
      • ...
  • easyblocks (merged PRs)

    • bug fixes
      • [5.0.x] imports without the single folder letter (PR #3543)
      • [5.0.x] inject custom '%(python)s' template value before getting value of 'buildcmd' custom easyconfig parameter in PythonPackage easyblock (PR #3539)
      • [5.0.x] be more careful when getting value of particular easyconfig parameter in PythonBundle and PythonPackage easyblock, to avoid trouble with unresolved template values (PR #3537)
      • [develop] update CUDA easyblock to add CUPTI and nvvm library directories to $LIBRARY_PATH (PR #3516)
      • [develop] let internal easyblock not create a log file in QuantumESPRESSO easyblock (PR #3505)
    • enhancements
      • [develop] enhance generic Bundle easyblock to transfer module requirements of components, but do not create logfile in components (PR #3509)
    • updates
      • [develop] update copyright lines for 2025 (PR #3545)
      • [5.0.x] sync with develop (20241226) (PR #3542)
      • [5.0.x] sync with develop (20241218) + version bump to 5.0.0beta1 (PR #3534)
    • changes
      • [5.0.x] switch default to install_pip=True in custom Python easyblock (PR #3546)
      • [5.0.x] update Python easyblock to move sitecustomize.py into site-packages (PR #3514)
    • new easyblocks
      • ...
    • code cleanup
      • [5.0.x] remove Python 2 fallback in openssl_wrapper (PR #3544)
      • [5.0.x] remove use of deprecated extract_errors_from_log in configuremake (PR #3540)
      • [5.0.x] Remove code supporting obsolete versions from IntelBase family of easyblocks + remove unused custom easyblock for IPP (PR #3533)
      • [5.0.x] remove use of deprecated parse_log_for_error in RPackage easyblock (PR #3515)
  • easyconfigs (merged PRs)

    • ~83 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
      • [develop] fix handling of quotes in rpath wrapper (PR #4722)
    • enhancements
      • Problem using $CPATH in modulefiles overwriting system paths (issue #3331)
        • [5.0.x] refactor generation of required environment variables in module files + deprecate make_module_req_guess method in EasyBlock class #4653 (PR #4653)
        • see also (initial) companion PR for easyblocks: PR #3513
        • [5.0.x] add module-search-path-headers configuration option to control how modules set search paths to header files (PR #4655)
    • [develop] initial work towards integrating easy_update functionality (PR #4714)
    • [develop] Copy build log and artifacts to a permanent location after failures (PR #4601)
    • code cleanup
    • [develop] use enumerate where applicable fixing _generate_multi_deps_list (PR #4720)
    • changes
      • [5.0.x] Deprecate use of parallel easyconfig parameter and fix updating the template value (PR #4580)
      • [5.0.x] Adapt module show command run to cope with Environment Modules v5.5+ (PR #4739)
      • [develop] show readable error message when applying patch without (extracted) source (PR #4738)
      • [develop] Avoid making builddir read-only (PR #4736)
      • [5.0.x] Add context manager for allowing unresolved templates and make the state members private (PR #4735)
  • easyblocks (open PRs + issues)

    • bug fixes

    • enhancements
      • [develop -> 5.0.x] enhance LLVM easyblock for compilation of clang/flang + other llvm-projects (PR #3373). Some discussion about Clang and Intel compilers vs GCCcore, ideally clang would be a toolchain compiler since not always compatible with GCC (e.g. with OpenMP).
      • [develop] enable hwloc and HeFFTe support in GROMACS easyblock (PR #3531)
      • [5.0.x] Print a warning when mixing $EBPYTHONPREFIXES and $PYTHONPATH modules (PR #3521)
      • [develop] Add support for detecting external MAGMA library for ELSI (PR #3536)
    • updates
      • [develop] Add support for STAR-CCM+ installs with .aol installer (PR #3510)
    • changes
      • [5.0.x] Update easyblocks to use EasyConfig.parallel property (PR #3557)
      • [develop] Update TensorRT easyblock for TensorRT 10+ (PR #3554)
      • [5.0.x] Make CmdCp easier to use (PR #3549)
      • [5.0.x] Enhance Score-P EasyBlock for future releases and better oneAPI support. (PR #3548)
      • [5.0.x] Use context managers for templating changes in Bundle easyblock (PR #3547)
      • [develop] [gcc.py] Add extra flag to enable the build of the libstdcxx-backtrace library. (PR #3538)
      • updates to easyblock required because make_module_req_guess is being deprecated:
        • adopt module_load_environment: Bundle (PR #3513)
        • adopt module_load_environment in PerlModule + custom easyblock for FlexiBLAS (PR #3529)
        • adopt module_load_environment: PythonPackage (PR #3530)
        • adopt module_load_environment: GCC (PR #3556)
        • adopt module_load_environment: imkl (PR #3555)
        • adopt module_load_environment: impi (PR #3553)
        • adopt module_load_environment: intel-compilers (PR #3552)
        • adopt module_load_environment: IntelBase, Advisor, Inspector, VTune (PR #3551)
        • adopt module_load_environment: icc, ifort, iccifort (PR #3550)
    • code cleanup
    • new
      • ...
  • easyconfigs (open PRs + issues)

2024b 2025a common toolchains

  • GCC 14.2 as a base (see easyconfigs PR #21114)
  • first candidate toolchain gfbf/2025.01 PR #22126
    • OpenBLAS 0.3.29 released Jan 12, could update to it.
  • Also Open MPI 5.0.6 in PR #22112
  • to discuss: skip 2024b, jump straight from 2024a to 2025a to "catch up" on release cycle
    • EasyBuild v5.0 is ideal excuse for that break in continuity...
  • Python 3.13.1 (or 3.13.2, update still possible) seems likely candidate for this toolchain...

Q&A / others

Clone this wiki locally