Skip to content

Conference call notes 20240731

Kenneth Hoste edited this page Jul 31, 2024 · 1 revision

(back to Conference calls)

Notes on the 251st EasyBuild conference call, Wednesday 31 July 2024 (15:00 UTC)

Attendees

List of attendees (14):

  • Simon Branford (Univ. of Birmingham, UK)
  • Bibek Chapagain (Barcelona Supercomputing Centre, Spain)
  • Leonardo Honfi Camilo (Univ. of Wageningen, Netherlands)
  • Em Dragowsky (Case Western Reserve University, Ohio, US)
  • Davide Grassano (CECAM, Switzerland)
  • Jasper Grimm (University of York, UK)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (Big Data Institute, Oxford, UK)
  • Georgios Kafanas (University of Luxembourg)
  • Thomas Langford (Yale University, US)
  • Kurt Lust (UAntwerpen, Belgium + LUMI User Support Team)
  • Sébastien Moretti (SIB, Switzerland)
  • Bart Oldeman (Digital Research Alliance of Canada)
  • Jörg Saßmannshausen (Imperial College London, UK)

Agenda

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

Recent developments

  • latest EasyBuild release: 4.9.2 (12 June 2024)
  • next EasyBuild release: hoping to make that EasyBuild 5.0.0 (but not before Aug'24, at best)
  • EasyBuild v5.0.0
    • 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
      • don't use special flags for strict, precise, loose, veryloose toolchain options on RISC-V (PR #4576)
    • enhancements
      • Add cuda_cc_space_sep template that does not have periods (PR #4583)
    • changes
      • ...
    • code cleanup
      • ...
    • EasyBuild 5.0 (5.0.x branch)
      • ...
  • easyblocks (merged PRs)

    • bug fixes
      • Patch ctypes for Python installations when filtering LD_LIBRARY_PATH + fix path to ldconfig when using alternate sysroot (PR #3352)
      • use relative paths to object files when compiling shared libraries in the OpenFOAM easyblock (PR #3388)
    • enhancements
      • Set build type for PyTorch explicitely (PR #3332)
      • Add RISCV64 support and update config options of new versions of Extrae (PR #3339)
      • Add support for generating .gem files from .gemspec files and support for preinstallopts in the RubyGem easyblock (PR #3381)
      • Add MSA and specially PMIx support for ParaStationMPI (PR #3383)
    • changes
      • Merge of the ConfigureMake and CMakeMake versions of the easyblock for QuantumESPRESSO (PR #3338, PR #3393)
    • new easyblocks
      • ...
    • code cleanup
      • Remove redundant backslashes in GEANT easyblock (PR #3394)
    • EasyBuild 5.0
      • ...
  • easyconfigs (merged PRs)

    • ~35 easyconfig PRs were merged since last conf call
    • bug fixes/reports
      • ...
    • enhancements
      • Correct configuration of QuantumESPRESSO for 6.7/6.8/7.0/7.1/7.2/7.3 (PR #20070)
    • (noteworthy) new software
      • ...
    • noteworthy software updates
    • changes
      • ...

Open (active) PRs

  • docs (open PRs + issues)

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

    • bug fixes
      • ...
    • enhancements
      • add support for --sources-url to fetch sources from additional URLs (PR #4079)
    • changes
      • ...
    • EasyBuild 5.0
      • tracker issue with overview of effort for improving consistency in naming of options/parameters: issue #4563
      • Fix the checksum type check (PR #4578)
      • Fix to_checksums with None values in dicts and recursion (PR #4579)
      • Deprecate use of ec['parallel'] and fix updating the template value (PR #4580)
      • avoid suggesting that toolchainopts are supported for SYSTEM compiler, since they're not (PR #4585)
      • add support for alternative/deprecated toolchain options (PR #4587)
  • easyblocks (open PRs + issues)

    • bug fixes
      • Explicitly call csh in custom easyblock for WPS (PR #3384)
      • Set DEFCUDAVERSION and DEFSTDPARCOMPUTECAP correctly in localrc for NVHPC (PR #3387)
      • change extra $PATH entry for OCaml to use opam/default rather than opam/system (PR #3390)
      • update custom easyblock for PETSc to consider include/suitesparse subdirectory for SuiteSparse headers (PR #3391)
      • change custom easyblock for Python to set $PYTHONPATH to a fixed location relative to build path (PR #3400)
    • enhancements
      • Set CMake hints for path to Python installation if it's direct or indirect dependency (when using CMake >= 3.12) (PR #3282)
      • enhance LLVM easyblock for compilation of clang/flang + other llvm-projects (PR #3373)
      • simplify install step in custom easyblock for Tkinter (PR #3382)
      • GCC: Use with-arch option for nvptx with 13.1+ (PR #3396)
    • updates
      • update custom easyblock for NAMD for version >= 3.0 (PR #3248)
      • update ORCA easyblock for version 6 (PR #3395)
    • changes
      • ...
    • new
      • add custom easyblock for BLIS (PR #3385)
      • new easyblock for condalock (PR #3397)
    • EasyBuild 5.0
      • enhance CMakeMake easyblock to check whether correct Python installation was picked up by CMake (PR #3399)
  • easyconfigs (open PRs + issues)

    • bug fixes/reports
      • Highway 1.0.4 fix for failing test on zen4 (PR #20942)
    • enhancements
      • ...
    • (noteworthy) new software
      • ...
    • software updates
      • ...
    • changes
      • make pytest v7.4.2 independent of Python-bundle-PyPI (PR #21004)
      • reorganize Flax/JAX stack in 2023a: scvi-tools, Flax, Optax, jax, absl-py (PRs #21038, #21039)

2024a common toolchains

  • GCC 13.3 as a base
  • latest version of all components (except GCC, not using 14.1):
    • foss/2024a (candidate toolchain foss/2024.05 merged: PR #20646)
      • GCC 13.3 (20240521) + binutils 2.42 (20240129)
      • OpenMPI 5.0.3 (20240408)
        • PMIx 5.0.2 (20240321), UCX 1.16.0 (20240415), libfabric 1.21.0 (20240329)
      • FlexiBLAS 3.4.3 (20240521) + OpenBLAS 0.3.27 (20240404) + BLIS 1.0 (20240506)
      • FFTW 3.3.10 (20210914)
      • ScaLAPACK 2.2.0 (20220202)
    • intel/2024a
      • GCCcore 13.3 + binutils 2.42
      • Intel C/C++/Fortran compilers 2024.1.0 (20240327)
        • some trouble arose when combining C/C++ 2024.1.2 with Fortran 2024.1.0
        • bundle provided by Intel sticks to 2024.1.0 for both
        • we should take a look at the release notes
      • Intel MPI 2021.12.1 (20240424)
      • Intel MKL 2024.1.0 (20240327)
      • easyconfig PRs towards candidate for intel/2024a: PR #20919 + PR #20926
  • Intel oneAPI Fortran compiler will be used by default
    • see framework PR #4567: use Intel's oneAPI Fortran compiler by default for version 2024.0.0 and newrer (oneapi_fortran toolchain option set to True)
  • candidate toolchains for foss/2024a and intel/2024a are good to actually tag as 2024a now?
    • Bart is planning to look into copying/renaming the candidate toolchains for 2024a

Q&A / others

  • Adam: weird problem with R-bundle when installing extensions in parallel
    • easy change needed to make this work, EB should just assume necessary dependencies for an extension are already in place if they're not listed in exts_list
  • Leonardo: problems with building Qt5 with 128 cores
    • may be overloading the system, see also https://github.com/easybuilders/easybuild-easyblocks/issues/2076
    • Bart: it's usually not worth using more than 8 cores for building stuff in parallel
      • currently not that easy to cap # cores used by EasyBuild
      • could be done via a start_hook
      • probably worth looking into an extra configuration option for this (like --max-parallel?)
Clone this wiki locally