Conference call notes 20221026 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 208th EasyBuild conference call, Wednesday 26 October 2022 (15:00 UTC)

Attendees

List of attendees (11):

  • Simon Branford (Univ. of Birmingham, UK)
  • Kenneth Hoste (HPC-UGent)
  • Kurt Lust (UAntwerpen & LUST)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Åke Sandgren (Umeå University, Sweden)
  • Alexander Strube (JSC, Germany)
  • Alex Domingo (Vrije Universiteit Brussel, Belgium)
  • Bart Oldeman (Digital Research Alliance of Canada)
  • Lars Viklund (Umeå University, Sweden)
  • Jordi Camps (CNAG-CRG, Spain)

Agenda

  • overview of recent developments + outlook to next EasyBuild release
  • impact of vectorizer fixes for GCC + OpenBLAS
  • call for help: porting EasyBuild docs to MarkDown
  • Q&A

Recent developments

  • release timeline
    • latest release: EasyBuild v4.6.2 (21 Oct 2022)
    • ETA next release (EasyBuild v4.6.3?): by end of Nov?
  • recent changes
    • framework
      • bug fixes
        • fix trying to generate RPATH wrappers for Clang (PR #4088)
        • first look for patch in alt_location when it is specified (PR #4093)
      • enhancements
        • add support for easystack file that contains easyconfig filenames + implement parsing of configuration options (PR #4021)
      • changes
        • use SYSTEM template constant in dependencies instead of True in framework tests (PR #4094)
    • easyblocks
      • bug fixes
        • correctly count errors/failures in PyTorch test summary (PR #2803)
          • fix for incorrect regex used in PR #2794
        • use python -m pip instead of pip in PythonPackage easyblock (PR #2807)
        • enhance EasyBuildMeta easyblock: auto-enable installing with pip + fix setup.py of easyconfigs package so installation with setuptools >= 61.0 works (PR #2805)
      • enhancements
        • enhance TensorFlow easyblock to take into account provided OpenSSL dependency (PR #2575)
        • enhance OpenBLAS easyblock to support running LAPACK test suite + checking how many tests fail (PR #2801)
        • accept both None and empty value for optarch to let OpenCV detect host CPU (PR #2804)
        • make numexpr easyblock aware of toolchain with GCC + imkl (PR #2810)
        • add sanity check commands for netCDF (PR #2811)
      • updates
        • update Xmipp easyblock: versions >= 3.20.07 use noAsk option to configure (PR #2809)
      • changes
        • ...
      • new software
        • custom easyblock for CUDA compatibility libraries (PR #2764)
        • custom easyblock for mamba (PR #2808)
    • easyconfigs
      • ~80 easyconfig PRs were merged since last conf call
      • bug fixes
        • add patches for Ambertools 21 to Amber 20.11 to work with new Amber easyblock (PR #16343)
        • fix using provided Qhull and freetype dependencies for matplotlib 3.5.2 by creating mplsetup.cfg rather than setup.cfg (PR #16396)
        • add patch to GCC 11.x + 12.x to fix vectorizer bug (PR #16411)
        • fix checksum for GULP 6.1 (PR #16423)
          • Jörg reached out to GULP developer w.r.t. in-place updates of GULP source tarballs
          • developer understood the problem, and has switched to semantic versioning (v6.1.0, v6.1.1, etc.)
        • add patch to detect available cores and remove unneeded deps for Unicycler 0.5.0 (PR #16407)
        • add bzip2 and libxml2 as dependencies for netCDF 4.9.0 (PR #16450)
        • fix installation of Python 2.7.18 with GCCcore/11.2.0 (was broken due to 0.0.0 version for some extensions) (PR #16485)
      • enhancements
        • enable running of LAPACK tests for recent OpenBLAS easyconfigs + add patch to fix failing LAPACK tests due to use of -ftree-vectorize (PR #16406)
      • (noteworthy) new software
      • noteworthy software updates
        • intel/2022.09 (PR #16435)
          • on top of GCCcore/12.2.0, candidate for intel/2022b
      • changes
        • deprecate use of True in favour of SYSTEM for system-toolchain dependencies in easyconfigs using a recent toolchain version (>2019b) (PR #16384)
  • work in progress

Impact of vectorizer fixes for GCC + OpenBLAS

  • all details in issue #16380
  • relevant PRs:
  • we're currently allow max. 150 LAPACK tests to fail due to numerical errors in recent OpenBLAS easyconfigs
    • without fix for GCC, over 4,000 tests failed
    • we may be able to lower this further with additional effort
    • LAPACK test suite is seeing slightly different eigenvalues when calculating with and without eigenvectors
    • two C files could be compiled without FMA
  • should rebuild GCCcore, OpenBLAS, FlexiBLAS

Call for help: porting EasyBuild docs to MarkDown

Q&A

  • how to handle source tarball with Python files which require additional Python packages?
    • use Tarball, see recent Spark easyconfigs
  • should things like torchdata and torchvision be installed as extensions in the PyTorch
    • probably yes, anything under the pytorch organisation makes sense to add as extension to PyTorch
    • is Pillow (dep of PyTorch) vs Pillow-SIMD (dep of torchvision) a problem?
      • not really, can just use the Pillow dep of PyTorch
    • Pillow-SIMD should never be a direct dep for anything?
    • especially since it doesn't work on aarch64?
  • Mikael: anyone looking into NVHPC toolchain?