Conference call notes 20220302 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 192nd EasyBuild conference call, Wednesday 2 Mar 2022 (09:00 UTC)

Attendees

Alphabetical list of attendees (10):

  • Alex Domingo (VUB, Belgium)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (Big Data Institute, Oxford, UK)
  • Kurt Lust (Univ. of Antwerpen, Belgium + LUMI User Support Team)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Jurij Pečar (EMBL, Germany)
  • Åke Sandgren (Umeå University, Sweden)
  • Sebastien Moretti (SIB, Switzerland)
  • Lars Viklund (Umeå University, Sweden)
  • Robert Mijakovic (LuxProvide, Luxembourg)

Agenda

  • overview of recent developments
  • broader testing (different OSs) through containers
  • updates on OpenMPI + CUDA, OpenMPI 5.x (?)
  • 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
        • only check for patches when using --new-pr if easyconfigs repository is target (PR #3966)
          • fix for problem that was introduced in PR #3759
      • enhancements
        • add a 'clone_into' field to git_config source specification (PR #3949)
        • add nvompi toolchain definition (NVHPC + OpenMPI) (PR #3969)
        • add nvpsmpi toolchain definition (NVHPC + ParaStationMPI) (PR #3970)
        • add gmpit toolchain definition (GCC + MPItrampoline) (PR #3971)
      • changes
        • enable code linting check for all supported Python versions (PR #3725)
    • easyblocks
      • bug fixes
        • make sure TensorFlow doesn't see the nvptx-none dir when searching for gcc include dir (PR #2682)
      • enhancements
        • enhance MRtrix easyblock: build in parallel + enable OpenMP support for MRtrix >= 3.0 (PR #2685)
        • enhance Tarball easyblock to support using it for installing extensions (PR #2688)
        • enhance Gurobi easyblock to also update $MATLABPATH (PR #2691)
      • updates
        • update Clang-AOMP easyblock to add support for ROCm v5.0 (PR #2681)
      • changes
        • ...
      • new software
        • ...
    • easyconfigs
    • framework
      • reported bugs / bug fixes
        • ...
      • enhancements
        • allow tweaking of easyconfigs from different toolchains (PR #3669)
        • 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)
        • 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)
        • add support for post-install patches (PR #3974)
        • support for using environment variables inside modextrapaths/modextravars (issue #3972)
      • changes
        • ...
    • easyblocks
      • bug 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?
        • enable system SSL certificates in OpenSSL installations (PR #2683)
      • enhancements
        • add automatic CUDA support for ELPA (PR #2673)
        • enhance Clang easyblock to add support for building with AMDGPU offload (PR #2684)
        • avoid dependency on 'which' command in sanity check for Python, use 'command -v' instead (PR #2687)
      • updates
        • update wxPython easyblock to support wxPython v4.1 (PR #2689)
        • 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
      • enhancements
        • ...
      • new software
      • noteworthy software updates
        • DIRAC v22.0 (PR #15008)
        • 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

Broader testing

singularity shell docker://ghcr.io/easybuilders/centos-7.9
singularity shell docker://ghcr.io/easybuilders/centos-8.4
singularity shell docker://ghcr.io/easybuilders/fedora-35
singularity shell docker://ghcr.io/easybuilders/opensuse-15.3
singularity shell docker://ghcr.io/easybuilders/rockylinux-8.5
singularity shell docker://ghcr.io/easybuilders/ubuntu-20.04
  • current status:
    • OS packages installed in container images so R-4.1.2-foss-2021b.eb and all dependencies can be installed
    • working (on x86_64):
      • CentOS 7.9
      • openSUSE 15.4 (now switch to 15.3 since 15.4 is alpha)
      • Ubuntu 20.04
    • WIP:
      • all containers on aarch64
      • x86_64:
        • CentOS 8.4 (EOL)
        • Rocky Linux 8.5
        • Fedora 35
        • build issue with GCCcore/11.2.0 to be figured out:
g++ -std=c++11   -g -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H  -DGENERATOR_FILE -fno-PIE -static-libstdc++ -static-libgcc  -no-pie -o build/genenums \
    build/genenums.o build/read-md.o build/errors.o ../build-x86_64-pc-linux-gnu/libiberty/libiberty.a
../../gcc/read-md.h:327: error: undefined reference to 'operator delete(void*)'
../../gcc/read-md.c:1043: error: undefined reference to 'operator delete(void*)'
  • future work:
    • let boegelbot test PRs in multiple different containers on generoso
      • which ones should we consider "tier 1" (tests must be successful)?
    • minimal vs standard vs fat container images
      • minimal: without C/C++ compiler, Perl, etc.
      • fat: incl. stuff is often installed system-wide, like Boost, CMake, pkg-config, etc.

OpenMPI + CUDA, OpenMPI 5.x

Q&A

  • Åke: working on VisIt easyconfig...