Skip to content

Conference call notes 20241204

Kenneth Hoste edited this page Dec 4, 2024 · 1 revision

(back to Conference calls)

Notes on the 260th EasyBuild conference call, Wednesday 4 Dec 2024 (09:00 UTC / 10:00 CET)

Attendees

List of attendees (12):

  • Alex Domingo (Vrije Universiteit Brussel, Belgium)
  • Davide Grassano (CECAM, Switzerland)
  • Jasper Grimm (University of York, UK)
  • Alexander Grund (ZIH, Dresden, Germany)
  • Leonardo Honfi Camilo (Univ. of Wageningen, Netherlands)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (Big Data Institute, Oxford, UK)
  • Georgios Kafanas (University of Luxembourg)
  • Kurt Lust (UAntwerpen, Belgium + LUMI User Support Team)
  • Sam Moors (Vrije Universiteit Brussel, Belgium)
  • Jurij Pečar (EMBL, Germany)
  • Cintia Willemyns (Vrije Universiteit Brussel, Belgium)

Agenda

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

Recent developments

  • latest EasyBuild release: 4.9.4 (22 Sept 2024)
  • next 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
  • 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 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] make LooseVersion('1.0') == LooseVersion('1') (PR #4691)
    • enhancements
      • [develop] enhance EasyBlock class to allow passing in logfile (PR #4707)
    • changes
      • [5.0.x] change semantics of --dry-run, so it doesn't imply --robot (PR #4704)
    • code cleanup
      • [5.0.x] simplify code for determining the $PYTHONPATH module entries (PR #4686)
  • easyblocks (merged PRs)

    • bug fixes
      • force use of bash for Allwmake scripts in OpenFOAM easyblock (PR #3519)
      • set CMAKE_CUDA_HOST_COMPILER, CMAKE_CUDA_COMPILER, and CMAKE_CUDA_ARCHITECTURES when using CUDA in CMakeMake easyblock (PR #3523)
    • enhancements
      • ...
    • updates
      • ...
    • changes
      • ...
    • new easyblocks
      • ...
    • code cleanup
      • ...
  • easyconfigs (merged PRs)

    • ~50 easyconfig PRs were merged since last conf call
    • bug fixes/reports
      • ...
    • enhancements
      • [5.0.x] detect use of deprecated behavior in test runs (PR #21885)
    • (noteworthy) new software
      • ...
    • noteworthy software updates
      • ...
    • cleanup
      • ...
    • changes
      • [5.0.x] Replace parallel by maxparallel (PR #19375)

Open (active) PRs

  • docs (open PRs + issues)

    • ...
  • framework (open PRs + issues)

    • bug fixes
      • [5.0.x] Remove distutils use from setup.py (PR #4478 )
        • needs to be reconsidered, we shouldn't assume that distutils can be imported if setuptools is installed...
      • [5.0.x] improve portability of reproducible tarballs by replacing external tar command with tarfile module (PR #4660)
      • [develop] Allow nesting values in checksum dicts (PR #4711)
    • enhancements
      • Problem using $CPATH in modulefiles overwriting system paths (issue #3331)
        • [5.0.x] add --search-path-cpp-headers configuration option to control how EasyBuild sets paths to headers at build time (PR #4645)
        • [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)
      • [5.0.x] Add function to modify path-like environment variable in a context (PR #4681)
      • [5.0.x] Add global option to set default toolchain option of "debug", and enable it by default (PR #4688)
      • [develop] enhance get_software_libdir to return full paths if requested (PR #4699)
    • code cleanup
      • ...
    • changes
      • [5.0.x] Rename SOURCE_STEP to EXTRACT_STEP (PR #4629)
      • [5.0.x] Deprecate use of parallel easyconfig parameter and fix updating the template value (PR #4580)
      • [5.0.x] Add dashes directly in compiler optimization flags (PR #4698)
  • easyblocks (open PRs + issues)

    • bug fixes
      • [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)
      • [develop] fix detection of math library in numpy build (PR #3520)
    • enhancements
      • [develop -> 5.0.x] enhance LLVM easyblock for compilation of clang/flang + other llvm-projects (PR #3373)
      • enhance generic Bundle easyblock to transfer module requirements of components, but do not create logfile in components (PR #3509)
      • [develop] Print a warning when mixing $EBPYTHONPREFIXES and $PYTHONPATH modules (PR #3521)
    • updates
      • [develop] update custom easyblock for CP2K >= v2024 (PR #3433)
      • minor updates to ABAQUS easyblock to make hotfixes 2441 and 2424 working (PR #3512)
      • Update STAR-CCM+ easyblock for new installer (PR #3517)
      • pass netCDF-Fortran path via $NETCDFF_DIR in WPS easyblock (PR #3522)
    • changes
      • Put our Python sitecustomize.py into the site-packages folder (issue #3493)
      • let PythonPackage easyblock fix python shebangs by default (PR #3499)
    • code cleanup
    • new
      • ...
  • easyconfigs (open PRs + issues)

    • close to 1,000 open easyconfig PRs...
    • bug fixes/reports
      • ...
    • enhancements
      • ...
    • (noteworthy) new software
      • ...
    • software updates
      • [develop] PyTorch v2.3.0 (PR #20489)
        • blocked by changes in how results of PyTorch test suite are reported
    • changes
      • ...

2024b common toolchains

  • GCC 14.2 as a base (see easyconfigs PR #21114)
  • we should define candidate toolchains using latest version of all components...

Q&A / others

  • what's the holdup on PR #4601?
    • test should be enhanced to verify that the feature works
    • for example by extending test_toy_broken
  • any reason we don't always add make as a build dep consistently?
    • not really, grew historically, only done when required (newer make version required)
    • Kurt: @LUMI, build-tools bundle build dep (that includes make) is added consistently to easyconfigs
  • Alex: library of templates for easyconfigs being developed at VUB
Clone this wiki locally