Conference call notes 20221221 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 212th EasyBuild conference call, Wednesday 21 December 2022 (16:00 UTC)

Attendees

List of attendees (7):

  • Kenneth Hoste (HPC-UGent)
  • Sam Moors (Vrije Universiteit Brussel, Belgium)
  • Åke Sandgren (Umeå University, Sweden)
  • Em Dragowsky (Case Western Reserve University, Ohio, US)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Sebastian Achilles (JSC, Germany)
  • Lars Viklund (Umeå University, Sweden)

Agenda

  • overview of recent developments + outlook to next EasyBuild release
  • update on porting of EasyBuild docs to MarkDown
  • 2022b update for common toolchains
  • Q&A

Recent developments

  • release timeline
    • latest release: EasyBuild v4.6.2 (21 Oct 2022)
    • ETA next release (EasyBuild v4.7.0): ASAP
  • recent changes
    • framework
      • bug fixes
        • always start with empty list for banned/requires libraries to avoid that corresponding build option is updated in-place (PR #4137)
        • fix container tests by using EPEL archive URL for downloading Singularity RPM (PR #4138)
      • enhancements
        • add sanity_check_load_module method to EasyBlock to provide control over when module is loaded during sanity check step (PR #4125)
        • also run unit tests with Python 3.11 (PR #4092 + add Python 3.11 to classifiers in setup.py (PR #4141)
        • add gfbf as subtoolchain of foss (PR #4143)
          • gfbf is short for GCC + FlexiBLAS + FFTW
          • can be used for software that requires BLAS/LAPACK/FFTW, but doesn't require MPI
          • example: SciPy-bundle (after moving mpi4py to a separate easyconfig)
      • changes
        • deprecate support for running EasyBuild with Python 2 (PR #4136)
        • auto-enable use of oneAPI C/C++ compilers for intel-compilers >= 2022.2.0 (PR #4135)
      • docs
        • ...
    • easyblocks
      • bug fixes
        • load module early during PythonPackage's sanity check step via sanity_check_load_module (PR #2828)
          • to fix --sanity-check-only not working for software installed with PythonPackage (see issue #2745)
      • enhancements
        • also run unit tests with Python 3.11 (PR #2844)
        • add configure_without_installdir option to skip addition of prefix to configure command in ConfigureMake easyblock (PR #2842)
        • add UCC as known dependency in OpenMPI easyblock (PR #2847)
      • updates
        • update QScintilla easyblock to be compatible with PyQt5 >= 5.15 (PR #2845)
      • changes
        • ...
      • new software
        • ...
    • easyconfigs
      • ~over 100 easyconfig PRs were merged since last conf call
      • bug fixes
        • fix installation of Bowtie2 v2.4.4+ on non-x86_64 systems (PR #16946)
        • update source_urls in MUMPS easyconfigs (PR #16932 + PR #16931
        • also define $JUPYTER_CONFIG_PATH in IPython and JupyterLab easyconfigs (PR #16556)
        • fix checksum for cell2location 0.05-alpha and add missing build dependency on flex (PR #16819)
      • enhancements
        • add ParMETIS and SuperLU_Dist dependencies to PETSc 3.17.4 (PR #16934)
        • add KaHIP dependency to OpenFOAM v2206 (PR #16947)
        • add extensions to ESM-2 to enhance it for esmfold (PR #16841)
        • add libwebp dependency to Pillow-SIMD 9.2.0 to add webp support (PR #16844)
      • (noteworthy) new software
      • noteworthy software updates
      • changes
        • rename hyperopt to Hyperopt, to be consistent with existing Hyperopt easyconfigs (PR #16697)
        • use VTK v9.2.2 as dependency of ITK 5.2.1 with foss/2022a (instead of VTK v9.2.0rc2) (PR #16918)
        • downgrade to setuptools 63.4.3 in Python 3.10.8 easyconfig (PR #16915)
        • upgrade dependency on libdeflate to common v1.8 in fastp and vt easyconfigs using GCC(core)/10.3.0 (PR #16839)
  • work in progress
    • framework
      • reported bugs / bug fixes
        • use -march=x86-64 -mtune=generic instead of -xSSE2 when using Intel oneAPI compilers (PR #4147)
        • partially skip test_det_copy_ec_specs if no GitHub token is available (PR #4149)
        • Python packages are being installed to local/lib/python*/dist-packages due to tweaks to sysconfig.py in OS (issue #4128)
      • enhancements
        • add easybuild.tools.LooseVersion (since distutils is deprecated in Python 3.10) (PR #3794)
        • add support for using --output-format=md (MarkDown) (PR #4117)
        • add support for --filter-rpath-sanity-libs to skip RPATH sanity check for designated libraries (PR #4119)
        • make iimkl toolchain aware of intel-compilers (PR #4146)
        • add support for postinstallmsgs (PR #4145)
        • allow to directly import EasyConfig constants from the module (PR #4144)
      • changes
        • trim CI test configurations to avoid hitting GitHub rate limits (PR #4148)
    • easyblocks
      • bug reports/fixes
        • ...
      • enhancements
        • set $TEMPDIRPATH for testsuite in the BerkeleyGW easyblock, to avoid polluting /tmp (PR #2836)
        • allow use of test_cmd without runtest for ConfigureMake (PR #2837)
        • enhance CMakeMake easyblock to run ctest command if runtest is True (PR #2838)
        • enhance Rosetta easyblock to build with serialization support (PR #2843)
      • updates
        • update scipy easyblock for scipy >= 1.9 to correctly configure BLAS/LAPACK library to use via Meson (WIP PR #2848)
      • new software
        • ...
      • changes
        • ...
    • easyconfigs

Update on porting of EasyBuild docs to MarkDown

2022b common toolchains

  • no changes compared to candidate toolchains (foss/2022.10, intel/2022.11)
  • foss/2022b (PR #16961)
    • GCC 12.2.0 + binutils 2.39
    • UCX 1.13.1 + libfabric 1.16.1 + OpenMPI v4.1.4
    • OpenBLAS 0.3.21 + FlexiBLAS 3.2.1
    • FFTW 3.3.10 (current latest)
    • ScaLAPACK 2.2.0 (current latest)
  • intel/2022b (PR #16962)
    • base: GCC 12.2.0 + binutils 2.39
    • Intel C/C++/Fortran compilers 2022.2.1 (classic + oneAPI)
    • Intel MPI 2021.7.1
    • Intel MKL 2022.2.1
  • limited testing, only trouble with things unrelated to updated toolchain components
    • excessive long-running tests for netCDF on generoso (PR #16834)
    • changed install procedure for scipy >= v1.9 (PR #16912)
      • now using Meson to configure build
      • correctly specifying BLAS/LAPACK library to use is not straightforward (cfr. draft easyblocks PR #2848)
  • merged PRs
    • auto-enable use of oneAPI C/C++ compilers for intel-compilers >= 2022.2.0 (PR #4135)
      • opt-out for C/C++ possible via oneapi_c_cxx toolchain option
      • opt-in for Fortrab possible via oneapi_fortran toolchain option
    • add gfbf as subtoolchain of foss (PR #4143)
    • Perl 5.36.0 w/ GCCcore/12.2.0 (done, see PR #16204)
    • Python 3.10.8 w/ GCCcore/12.2.0 (done, see PR #16632)
      • setuptools was downgraded to 63.4.3 (PR #16915)
    • X11 v20221110 w/ GCCcore/12.2.0 (done, see PR #16664)
    • Qt5 v5.15.7 with GCCcore/12.2.0 (PR #16810)
  • PRs to be merged
    • make iimkl toolchain aware of intel-compilers (PR #4146)
  • mpi4py is being split off from SciPy-bundle (cfr. PR #16912)

Q&A

  • segmentation faults in tests for Nektar v5.2.0 (PR #16953)
    • seems like TinyXML is also missing as a dependency (see generoso test report)
  • PSI4 PRs by Jörg (PR #16887 + PR #16895)
    • good target for a "merge sprint" session!
    • probably makes sense to collapse the Libint easyconfig into PSI4 (using Bundle), since it's very specific to PSI4 anyway