Conference call notes 20200805 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 153rd EasyBuild conference call, Wednesday August 5th 2020 (08:00 UTC - 10:00 CEST)

Attendees

Alphabetical list of attendees (6):

  • Simon Branford (Univ. of Birmingham, UK)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Adam Huffman (Big Data Institute, Oxford, UK)
  • Lev Lafayette (Univ. of Melbourne, Australia)
  • Alan O'Cais (Jülich Supercomputing Centre, Germany)
  • Jörg Saßmannshausen (NIHR Biomedical Research Centre, UK)

Agenda

  • recent developments to be included in next EasyBuild release
  • 2020b update for common toolchains
  • compiler toolchain for AMD Rome systems
  • Q&A

Recent developments

  • next release will most likely be v4.2.3

  • ETA: end of August

  • recent changes

    • framework
      • (nothing significant)
    • easyblocks
      • TensorFlow easyblock:
        • fix issue with NCCL versions including revision in version (PR #2085)
        • also set $GCC_HOST_COMPILER_PREFIX to specify binutils location (PR #2110)
          • allows dropping the TensorFlow-*_remove_usrbin_from_linker_bin_path_flag.patch patches from TensorFlow easyconfigs
      • minor fixes/updates for CUDA (PR #2097), ELPA (PR #2107), MotionCor2 (PR #2100), netcdf4-python (PR #2106), SLEPc (PR #2101)
    • easyconfigs
      • stop testing easyconfig PRs with Travis, only use GitHub Actions from now on (PR #11055)
      • fixes for failing installations on CentOS 8:
        • add missing Python dependency to PETSc 3.12.x easyconfigs (PR #10908)
        • add patch to FFTW 3.3.8 to avoid use of -no-gcc compiler option (PR #11050):
        • add missing Python build dep to recent ELPA easyconfigs (PR #11011)
      • move intervaltree and sortedcontainers to main Python easyconfigs (PR #10969, PR #10970)
      • NAMD (PR #10971), OpenFOAM 8 (PR #11022)
  • to merge soon:

    • framework
      • add templates for CUDA compute capabilities (PR #3382)
      • escape backslashes in quote_py_str() (PR #3386)
      • use one argument 'module swap' statements in Tcl modulefiles (required by Modules 4.2.3+) (PR #3397)
      • gcccudacore toolchain (PR #3385)
        • Alan: discussion around this is not settled yet, warrants larger discussion around handling of accelerators
          • maybe needs a separate call with maintainers to settle this
    • easyblocks
      • updates/fixes to Tinker easyblock (PR #2102)
      • add missing 'lib' symlink in tbb installation (PR #2103)
      • custom easyblock for PyTorch (PR #2104)
      • handle GNUInstallDirs /opt special case in CMakeMake easyblock (PR #2105)
      • update Python easyblock to take into account pip & setuptools that a included with Python 3.4+ (PR #2108)
    • easyconfigs

2020b update of common toolchains

  • GCC 10.2 is available now (see PR #10935, combined with binutils 2.35)
    • base for foss/2020b and intel/2020b toolchains?
  • foss:
    • OpenMPI 4.1.0 (RC is available, final release soon)
    • OpenBLAS 0.3.10 (updated from 0.3.9 in 2020a)
    • FFTW 3.3.8 (no updates)
  • intel:
    • compilers: 2020 update 2
    • MPI: 2019 update 8
    • MKL: 2020 update 2
    • is GCC 10.x supported officially as base compiler?

Compiler toolchain for AMD Rome systems

  • good experiences with recent foss toolchains by several people (Adam, Miguel)
  • intel also works, but only intel/2019b gives good performance (AVX2 in MKL)
    • requires export MKL_DEBUG_CPU_TYPE=5 to get good performance (use of AVX2)
    • Miguel: export MKL_CBWR=COMPATIBLE is also required with MKL >= 2019 to avoid failing tests with some software
    • defining $MKL_DEBUG_CPU_TYPE no longer works in intel/2020a (MKL uses only AVX, no AVX2)
  • Miguel has looked into AMD forks of BLIS and FFTW, little gain over standard OpenBLAS and FFTW in foss
  • Alan suggested using Clang-based compiler toolchains for AMD Rome
    • big JSC system coming up with AMD Rome CPUs (JURECA update), already have JUSEPH which is AMD Rome based
  • link shared in EasyBuild Slack: https://developer.amd.com/wordpress/media/2020/04/Compiler%20Options%20Quick%20Ref%20Guide%20for%20AMD%20EPYC%207xx2%20Series%20Processors.pdf

Q&A

  • Alan: PR for Mesa/OpenGL which dynamically determines which hardware to use
    • internal for now, could check whether the discussion can be opened up to community
    • maybe as a tech talk?
  • Jörg: how about support for ARM?
  • Adam: updates on EESSI stack
    • Kenneth: making progress towards pilot stack (OpenFOAM, TensorFlow, GROMACS), not there yet
  • Alan: problem with numpy with JSC toolchain with GCC+OpenBLAS
    • clever stuff in numpy w.r.t. OpenMP runtime that's being picked by numpy (GCC vs Intel OpenMP runtime)
    • can be fixed by setting an environment variable
    • will open issue on this to have it on record in case it pops up in the future