Conference call notes 20231220 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 236th EasyBuild conference call, Wednesday 20 Dec 2023 (16:00 UTC)

Attendees

List of attendees (11):

  • Simon Branford (Univ. of Birmingham, UK)
  • Alex Domingo (Vrije Universiteit Brussel, Belgium)
  • Jasper Grimm (University of York, UK)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Kurt Lust (UAntwerpen, Belgium + LUMI User Support Team)
  • Sam Moors (Vrije Universiteit Brussel, Belgium)
  • Sébastien Moretti (SIB, Switzerland)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Jure Pečar (EMBL, Heidelberg, Germany)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Alexandre Strube (JSC, Germany)

Agenda

  • overview of recent developments
  • 2023b update of common toolchains
  • Q&A

Recent developments

  • latest EasyBuild release: 4.8.2 (29 Oct 2023)
    • ETA for next EasyBuild release (v4.9.0): Dec'23 (ASAP)
    • ETA for EasyBuild 5.0 release: first release of 2024?
      • started doing short sprint meetings, each Monday at 10:00 CE(S)T to set next 5 goals to tackle that week
      • monthly sync meetings every 1st Wed of the month at 14:00 CE(S)T: next today Wed 6 Dec'23 at 14:00 CET
      • see also https://hackmd.io/tZtz6vMmRfGL6N9Rf__OEA
  • recent changes
    • docs (merged PRs)
      • introduce role-focused landing pages (PR #231)
    • framework (merged PRs)
      • bug fixes
        • fix LIBBLAS_MT for FlexiBLAS, ensure -lpthread is included (PR #4379 + PR #4391)
        • fix writing spider cache for Lmod >= 8.7.12 (PR #4402)
        • fix --inject-checksums when extension has tuple-format patch (PR #4405)
        • fix LooseVersion on Python 2.7 (PR #4408)
      • enhancements
        • allow tweaking of easyconfigs from different toolchains (PR #3669)
        • add --module-cache-suffix configuration setting to allow multiple (Lmod) caches (PR #4403)
      • changes
        • ...
      • EasyBuild 5.0 (to 5.0.x branch)
        • bug fixes
          • ...
        • changes
          • ...
    • easyblocks (merged PRs)
      • bug fixes
        • make various fixes and enhancements to NWChem easyblock (PR #3049)
        • Add binutils symlinks when building TensorFlow with --rpath (PR #3054)
          • makes assumption that binutils is always provided as a build dependency, which is not the case in EESSI...
      • enhancements
        • ...
      • updates
        • update Ferret easyblock to be compatible with v7.6.0 (PR #3052)
      • changes
        • import LooseVersion from easybuild.tools instead of distutils.version in easyblocks (PR #3048)
      • new easyblocks
        • ...
      • EasyBuild 5.0 (to 5.0.x branch)
        • ...
    • easyconfigs (merged PRs)
      • ~80 easyconfig PRs were merged since last conf call
      • bug fixes
        • add patch to fix [cz]asums in OpenBLAS 0.3.24 (PR #19331)
        • allow ITK legacy code and Python wrappers in ITK v5.2.1 (PR #19431)
      • enhancements
        • ...
      • (noteworthy) new software
        • ...
      • noteworthy software updates
      • changes
        • use GCC rather than GCCcore toolchain for kim-api (cfr. PR #19399 & co)
          • required because kim-api installation includes Fortran modules
      • EasyBuild 5.0 (to 5.0.x branch)
        • ...
  • work-in-progress
    • docs (open PRs + issues)
    • framework (open PRs + issues)
      • reported bugs / bug fixes
        • fix support for Environment Modules as modules tool to pass unit tests with v4.2+ (PR #4369)
        • adapt module function check for Environment Modules v4+ (PR #4371)
      • enhancements
        • add support for --list-software --output-format=json (PR #4152)
        • also run test_cases with --sanity-check-only (PR #4399)
        • add terse support to --missing-modules (PR #4407)
        • make is_rpath_wrapper faster by only checking file contents if file is not located in subdirectory of RPATH wrapper subdirectory #4406 (PR #4406)
      • changes
        • drop load storm safe guard for Environment Modules v4.2.4+ (PR #4373)
      • EasyBuild 5.0 (to 5.0.x branch)
        • deprecate failure to resolve a template value (PR #3285)
        • detect Fortran .mod files in GCCcore installations (PR #4389)
        • rename unclear run methods to install extensions (PR #4400)
    • easyblocks (open PRs + issues)
      • bug reports/fixes
        • fix extension filter for Perl packages (PR #2699)
          • easyconfigs PR #18789 is a big step towards merging this, but there are other easyconfigs that needs to be tested first, like XML-LibXML, worker, GD, ...
        • add requirement for EULA acceptance to CUDA easyblock (PR #3045)
        • implementation of CMake policy error for Python (PR #3055)
        • fix SuiteSparse path in numpy, Trilinos, PETSc easyblocks (PR #3056)
        • fix det_pylibdir provided by PythonPackage easyblock for Python 3.12+ (PR #3057)
      • enhancements
        • add custom easyconfig parameter cmake_options to SuiteSparse easyblock (PR #3031)
        • update KOKKOS_CPU_MAPPING for AArch64 in LAMMPS (WIP PR #3036)
        • refactor GAMESS-US easyblock to directly write install.info (v2) (PR #3047)
          • gets rid of Q&A install procedure, generates install.info file instead
          • there's some version mixup in the corresponding easyconfigs PR #19310?
          • at ComputeCanada this is done via the MakeCp easyblock, see here
          • is there a reason why we wouldn't use huge values for maxcpus and maxnodes?
          • GAMESS-US requires OpenBLAS with 64-bit integers
      • updates
        • update Clang-AOMP easyblock for ROCm 5.6 (PR #2958)
        • update custom easyblock for Intel MPI easyblock for v2021.11 (PR #3039)
          • easyconfigs PR #19314 that requires this is already merged
        • update custom easyblock for Intel MKL for v2024.x (PR #3042)
      • new easyblocks
        • add generic CargoPythonBundle easyblock (PR #2964)
        • new easyblock for DualSPHysics (PR #3050)
      • changes
        • ...
      • EasyBuild 5.0 (to 5.0.x branch)
        • enable download_dep_fail, use_pip, sanity_pip_check by default in PythonPackage easyblock (PR #3022)
          • needs some tests to make sure nothing is horribly broken (but should be fine)
          • follow-up is needed in easyconfigs, to:
            • clean up easyconfigs in 5.0.x branch that now set use_pip & co to True (see easyconfigs PR #19265)
            • explicitly set use_pip & co to False in (non-archived) easyconfig that currently don't specify them at all (which should be a minimal set of easyconfigs)
        • convert generic easyblocks to run_shell_cmd (PR #3046)
    • easyconfigs (open PRs + issues)
      • bug fixes/reports
        • move cmake options to easyblock and support customizing cmake_options for SuiteSparse-7.1.0 (PR #19177)
      • enhancements
        • ...
      • new software
        • ...
      • noteworthy software updates
        • PyTorch v2.1.0 w/ foss/2022b (PR #19087)
        • PyTorch v2.1.2 w/ foss/2022a PR #19444)
        • Qt5 v5.15.11 w/ GCCcore/13.2.0 (for foss/2023b) (PR #19320)
      • changes
        • ...
      • EasyBuild 5.0 (to 5.0.x branch)
        • clean up easyconfigs that explicitly set use_pip, sanity_pip_check and download_dep_fail (PR #19265)
      • closed PRs
        • ...

2023b update of common toolchains

  • 2023b toolchains should be included in EasyBuild 4.9.0 release
    • candidate toolchains are merged, ready for more extensive testing of "big" apps
  • most significant change is jump to GCC 13.x
  • foss/2023.09 (PR #18886) - candidate for foss/2023b
    • GCC 13.2.0 + binutils 2.40
    • OpenMPI 4.1.6 (+ UCX 1.15.0, PMIx 4.2.6, libfabric 1.19.0)
    • FlexiBLAS 3.3.1 (+ OpenBLAS 0.3.24)
    • FFTW 3.3.10
    • ScaLAPACK 2.1.0
  • intel/2023.07 (PR #18439) - candidate for intel/2023b
    • GCC 13.2.0 + binutils 2.40
    • intel-compilers 2023.2.1
    • impi 2021.10.0
    • imkl 2023.2.0
  • testing
    • OSU-Micro-Benchmarks (foss in PR #18893)
    • SciPy-bundle (numpy, scipy)
      • keep an eye out for need for CargoPythonBundle
    • GROMACS (C++)
    • OpenFOAM (C++)
      • requires ParaView, Qt5, etc.
      • should we keep building on top of ParaView (only needed for paraFoam utility)?
        • installing paraFoam stand-alone is a PITA
        • paraFoam isn't actually used when running OpenFOAM simulations
    • CP2K (Fortran)
    • check if Qt6 can be used (probably not yet)
    • Qt5 (WIP PR #19320)
    • sticking to Python 3.11.5, not using Python 3.12 yet since that's likely going to be painful
  • Mikael saw a strange compilation with GCC 13.2 for assimp (dep for Qt6)
  • latest NCCL does not support GCC 13.x yet, but next patch release should
  • CUDA 12.3.0 should support GCC 13.2.0
  • releasing 2023b implies deprecating 2020b
    • that means no more need for Intel license server to test PRs... \o/

Q&A / others

  • Merry Christmas!
  • More info on EasyBuild User Meeting 2024 soon...