Conference call notes 20220316 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 193rd EasyBuild conference call, Wednesday 16 Mar 2022 (16:00 UTC)

Attendees

Alphabetical list of attendees (15):

  • Simon Branford (Univ. of Birmingham, UK)
  • Em Dragowsky (Case Western Reserve University, Ohio, US)
  • Fotis Georgatos (EPFL, Switzerland)
  • Jasper Grimm (University of York, UK)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (Big Data Institute, Oxford, UK)
  • Filip Kružík (INUITS)
  • Kurt Lust (Univ. of Antwerpen, Belgium + LUMI User Support Team)
  • Sebastien Moretti (SIB, Switzerland)
  • Alan O'Cais (CECAM)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Bart Oldeman (ComputeCanada)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Åke Sandgren (Umeå University, Sweden)
  • Chase Schuette (Caterpillar Inc.)
    • learned about EasyBuild at SC'21 webinar
    • using Ubuntu 18.04

Agenda

  • overview of recent developments
  • Q&A

Recent developments

  • release timeline
    • latest release: EasyBuild v4.5.3 (11 Feb 2022)
    • ETA next release: end of March'22?
  • recent changes
    • framework
      • bug fixes
        • ...
      • enhancements
        • add support for post-install patches (PR #3974)
        • add a 'sync pr' message when the PR has a mergeable state but is showing a failed status for the test suite on the last commit (PR #3967)
        • support 'download_instructions' easyconfig parameter key to specify some download or installation steps for user in case of complicated way of obtaining needed files (PR #3976)
      • changes
        • ...
    • easyblocks
      • bug fixes
        • enable system SSL certificates in OpenSSL installations (PR #2683)
        • force use of bash for Anaconda install script (PR #2692)
        • add guess for $MANPATH for intel-compilers (PR #2696)
      • enhancements
        • ...
      • updates
        • avoid dependency on 'which' command in sanity check for Python, use 'command -v' instead (PR #2687)
        • update wxPython easyblock to support wxPython v4.1 (PR #2689)
      • changes
        • ...
      • new software
        • ...
    • easyconfigs
      • ~40 easyconfig PRs merged since last conf call
      • bug fixes
        • set XLA_PYTHON_CLIENT_ALLOCATOR=platform for running tests in jax CUDA easyconfigs (PR #15097)
      • enhancements
        • (nothing particularly noteworthy?)
      • (noteworthy) new software
      • noteworthy software updates
      • changes
        • downgrade dependency on nodejs + use jupyter-server-proxy in jupyter-matlab-proxy and configurable-http-proxy easyconfigs (PR #14942)
        • consistently use system toolchain in EasyBuild easyconfigs (PR #15126)
  • to merge/fix/tackle soon
    • framework
      • reported bugs / bug fixes
        • log files in robot build leak into each other (issue #3533)
          • probably caused by Bundle easyblock, not calling close_log after completing component?
      • enhancements
        • add end-to-end test for running EasyBuild in different Linux distros using containers (PR #3968)
        • use 'zypper search -i' to check whether specified OS dependency is installed on openSUSE (PR #3973)
        • extend (experimental) support for generating container images with Apptainer (PR #3975)
        • add support for collecting GPU info (via rocm-smi) (PR #3978)
      • changes
        • ...
    • easyblocks
      • bug reports/fixes
        • set $NINJAFLAGS to make sure Ninja doesn't use all visible cores when building Qt5 (PR #2338)
          • so be done more generally in EasyBuild framework instead?
          • perhaps only when Ninja is included as a build dependency?
        • enhance PythonPackage to take into account $PYTHONPATH changes in setuptools >= 49.0.0 (issue #2693)
      • enhancements
        • add automatic CUDA support for ELPA (PR #2673)
        • enhance Clang easyblock to add support for building with AMDGPU offload (PR #2684)
        • allow using MKL from FlexiBLAS via $FLEXIBLAS_LIBRARY_PATH (PR #2964)
          • produce single-file MKL library that can be used as FlexiBLAS backend
      • updates
        • update Siesta EasyBlock to support GCC 10+ by adding -fallow-argument-mismatch Fortran compiler option (PR #2690)
      • new software
        • ...
      • changes
        • ...
    • easyconfigs
      • bug fixes
        • add missing xxd build dependency for recent PLUMED versions (2.6.2, 2.7.x) (PR #14847)
        • downgrade dependency on nodejs and use jupyter-server-proxy in jupyter-matlab-proxy and configurable-http-proxy (PR #14942)
        • patch for Clang-9.0.1-GCCcore (PR #15007)
        • fix GBprocesS easyconfig by switching to source tarball created using git_config (PR #15048)
        • fix installation of RDKit by using -DBoost_NO_BOOST_CMAKE=ON (PR #15051)
        • R-4.1.2-foss-2021b.eb install failing (issue #15005)
          • includes some suggested changes w.r.t. PROJ + NLopt that we should apply?
          • to be tested in (fat?) container image
        • PyTorch v1.10.0: replace assertions by highlight in JIT tests to simple regex matches (PR #15073)
      • enhancements
        • ...
      • new software
      • noteworthy software updates
        • RoseTTAFold v1.0.0 (PR #13795)
        • TensorFlow v2.7.1 (WIP) (PR #14990)
          • failing tests are for new features of TensorFlow
          • ignore these failing tests for now, report upstream
        • hipSYCL v0.9.2 (PR #15074)
        • FlexiBLAS v3.1.3 (PR #15093)
        • AlphaFold v2.2.0 (PR #15129)

Q&A

  • updates on OpenMPI+CUDA issue?
    • see also https://github.com/easybuilders/easybuild/wiki/Conference-call-notes-20220302#openmpi--cuda-openmpi-5x
    • OpenMPI v5.0 release is coming soon (rc2 is out)
      • there are some changes in there that we're not happy with, but we may be able to get that changed in OpenMPI v5.1
      • clean separation of concerns w.r.t. CUDA stuff has been "broken"
    • adopting MPItrampoline in foss may allow us to fully circumvent this?
    • runtime check for CUDA-aware MPI is used by some applications (like LAMMPS)
    • Alan has done some work to patch apps to work with MPItrampoline (incl. CP2K, cfr. https://github.com/cp2k/cp2k/issues/2005)
      • apps don't fully comply to MPI standard, but it didn't matter; but when using MPItrampoline it does matter...
    • see also Alan's PR at https://github.com/easybuilders/easybuild-easyconfigs/pull/15018
    • how close to we to adopting MPItrampoline in foss?
      • may require patch files in specific apps, which will require significant effort
      • for foss/2022a we should also have a foss/2022a-mpitrampoline variant to facilitate testing
        • (waiting for GCC 11.3 release...)
  • Åke: Clang easyblock needs patching to propogate CMake configuration options like -DCMAKE_VERBOSE_MAKEFILE=1
  • Jörg: foss/2021a does not support Intel Tiger CPUs yet
    • how to handle this?
    • we could add a patch file to the specific OpenBLAS easyconfig to enable Intel Tiger CPU
    • or tweak OpenBLAS configure option through EasyBuild hook to get it installed on Intel Tiger (with a small price in performance)
    • could open issue to "document" this problem + workaround
  • Chase: some interest in looking into building container images with EasyBuild