-
Notifications
You must be signed in to change notification settings - Fork 144
Conference call notes 20201111
Kenneth Hoste edited this page Nov 11, 2020
·
6 revisions
(back to Conference calls)
Notes on the 160th EasyBuild conference call, Wednesday November 11th 2020 (16:00 UTC - 17:00 CET)
Alphabetical list of attendees (10):
- Alex Domingo (VUB, Belgium)
- Kenneth Hoste (HPC-UGent, Belgium)
- Adam Huffman (Big Data Institute, Oxford, UK)
- Denis Kristak (INUITS)
- Terje Kvernes (University of Oslo, Norway)
- Alan O'Cais (Jülich Supercomputing Centre, Germany)
- Mikael Öhman (Chalmers University of Technology, Sweden)
- Bart Oldeman (ComputeCanada)
- Åke Sandgren (Umeå University, Sweden)
- Jörg Saßmannshausen (NIHR Biomedical Research Centre, UK)
- recent developments
- updates on 2020b version of common toolchains (
foss
,intel
) - Q&A
- EasyBuild v4.3.1 was released on Oct 29th 2020 \o/
- recent changes
-
framework
-
bug fixes
- also inject -rpath options for all entries in
$LIBRARY_PATH
in RPATH wrappers (PR #3495)- fixes TensorFlow when using
-rpath
- can we strip down the RPATH section to only include paths that are really needed => open issue for that
- that's both relevant for performance & security
- fixes TensorFlow when using
- significantly speed up parsing of easyconfig files by only extracting comments from an easyconfig file when they're actually needed (PR #3498)
- see also issue #3449
- avoid TypeError being raised by
--list-toolchains
(PR #3499)
- also inject -rpath options for all entries in
- enhancements
- changes
-
bug fixes
-
easyblocks
-
bug fixes
- pass paths to patch one by one to
apply_regex_substitutions
in GCC easyblock when--sysroot
is set (PR #2217)- workaround for bug in
apply_regex_substitutions
(see issue #3493)
- workaround for bug in
- fix version check in Qt5 easyblock w.r.t. disabling features on old Linux kernel versions (PR #2220)
- pass paths to patch one by one to
- enhancements
-
bug fixes
- easyconfigs
-
framework
- to merge soon
-
framework (v4.3.2 milestone)
- bug fixes
- enhancements
-
easyblocks (v4.3.2 milestone)
-
- bug fixes*
- fix two bugs in GROMACS easyblock when using GCC & MKL for FFT and BLAS/LAPACK (PR #2212)
- correctly determine path to active binutils in TensorFlow easyblock (PR #2218)
- always define
$FCCPP
in QuantumESPRESSO easyblock (PR #2221) - only configure Python with
--enable-optimizations
when compiling Python with (recent) GCC compiler PR #2228
-
enhancements
- enhance OpenBLAS easyblock to make it aware of
optarch
(PR #1946) - improve config checks for Boost.MPI and Boost.Python and fix sanity checks of MT libs (PR #2167)
- didn't get merged for EasBuild v4.3.1 because it broke the installation of some existing
Boost
easyconfigs... - can't mix
--with-libraries=x
and--without-libraries=y
configuration flags, we have to pick which approach we take there - Alex: split up easyblock PR to fix sanity check for non-MPI Boost installations
- didn't get merged for EasBuild v4.3.1 because it broke the installation of some existing
- run
motorBike
tutorial case for recent (community) OpenFOAM versions (PR #2201)- needs testing...
- add support for building Clang with OpenMP offload support (PR #2229)
- enhance OpenBLAS easyblock to make it aware of
-
new software
- custom easyblock for
Metagenome-Atlas
(PR #2219)
- custom easyblock for
-
-
easyconfigs (v4.3.2 milestone)
-
bug fixes
- added missing space in
configopts
in ParaView 5.8.0 easyconfigs using 2020a toolchain (PR #10989)- missing space breaks OSMESA functionality (so it's basically GLX)
- see also https://github.com/easybuilders/easybuild-easyconfigs/issues/10977 (+ notes for previous conf call)
- Mikael: we need to build 3 different versions of ParaView (3 different backends)
- Åke: can we avoid building the ParaView server part (which has big security issues)?
- no obvious configuration option to disable it
- Mikael: the
pvserver
part is useless anyway in an on-screen rendering installation of ParaView
- use bfd linker for glibc (PR #11331)
- fix LAMMPS 3Mar2020 easyconfigs using
intel
toolchain on AMD CPUs by patching out hardcoded-xHost
(PR #11577)
- added missing space in
- enhancements
-
new software
- Metagenome-Atlas (PR #11620)
- software updates
-
bug fixes
-
framework (v4.3.2 milestone)
-
status:
- toolchain definitions for
foss/2020b
(PR #11489) andintel/2020b
(PR #11337) are merged \o/- to be included with next EasyBuild release (v4.3.2)
-
foss/2020b
- GCC 10.2 + binutils 2.35
- OpenMPI 4.0.5 (+ UCX 1.9.0, PMIx 3.1.5, libfabric 1.11.0)
- OpenBLAS 0.3.12
- FFTW 3.3.8
- ScaLAPACK 2.1.0
-
intel/2020b
- (GCC 10.2 + binutils 2.35 as base)
- Intel compilers 2020 update 4 (latest)
- Intel MPI 2019 update 9 (latest)
- Intel MKL 2020 update 4 (latest)
- toolchain definitions for
-
testing
- several "large" scientific apps have been tested:
- CP2K 7.1 with
foss/2020b
+intel/2020b
- blocked by Boost, required for Libint + PLUMED
- patch for
GCCcore/10.2.0
required to fix compilation ofLibint
withfoss/2020b
(see PR #11627)- known regression in GCC 10.2 (broken
__has_include
macro), fixed upstream
- known regression in GCC 10.2 (broken
- considered using libxc 5.0.0 as dep, but CP2K 7.1 is not compatible with it yet (see https://github.com/cp2k/cp2k/issues/909)
- OpenFOAM 8 with
foss/2020b
+intel/2020b
- blocked by Qt5, required for ParaView (see PR #11555)
- PyQt5 seems to require Qt5 built with OpenSSL (there's an explicit check for it)
- see https://github.com/easybuilders/easybuild-easyconfigs/pull/11563
- can we avoid that PyQt5 requires the qt-network component?
- leaving a crippled Qt5 without qt-network could still be an issue...
- strictly requires OpenSSL 1.1...
-
openssl11-devel
RPMs are available for CentOS 7- no such option for Ubuntu 16.04 (no devel packages for OpenSSL 1.1)
- other option is to provide OpenSSL as a proper dependency in EB
- but via a wrapper (similar to Java)
- and it should only installed when the OS OpenSSL is not recent enough
- does this cause trouble with stuff that links to Qt5 (which links to our OpenSSL 1.1) + other stuff (which links to OS OpenSSL)
- build OpenSSL without static libraries
- make "wrapper" symlink to actual libraries (to ensure stuff built with RPATH also pick up updates)
- or reinstall in place (no wrapper)
- or go with Qt5 5.14 for now, and worry about this later...
- => no clear conclusion yet, discussion to be continued in PR + Slack
- PyQt5 seems to require Qt5 built with OpenSSL (there's an explicit check for it)
- blocked by Qt5, required for ParaView (see PR #11555)
- OSU Microbenchmarks
- very good performance results with both
foss/2020b
andintel/2020b
on RHEL8 w/ ConnectX-6 (Infiniband HDR-100)
- very good performance results with both
- R 4.0.3 with
foss/2020b
- works fine once all dependencies are in place
- WRF 3.9.1.1
- CP2K 7.1 with
- lessons learned
- GCC 10.x is stricter than earlier versions
- see https://www.gnu.org/software/gcc/gcc-10/porting_to.html
-
-fno-common
is set by default - argument mismatches are rejected
- usually relatively easy to work around (for example by patching the code or using
-fcommon
/-fallow-argument-mismatch
)
- GCC 10.x is stricter than earlier versions
- several "large" scientific apps have been tested:
-
also
fosscuda/2020b
?- see PR #11612
-
we're dropping the
versionsuffix
when using Python 3 as a dep (retain with Python 2) -
TODO:
- Boost 1.74.0 (PR #11642)
- split up into non-MPI vs MPI?
- CP2K 7.1 (
foss/2020b
: PR #11669,intel/2020b
: PR #) - HDF5, netCDF, netCDF-Fortran (PR #11639)
- FFmpeg (PR #11671)
- FFTW 3.3.8 with
intel/2020b
(PR #11664) - GSL 2.6 (PR #11650)
- Libint 2.6.0 (PR #11665)
- libxc 4.3.4 (PR #11666)
- libxsmm 1.16.1 (PR #11667)
- METIS 5.1.0 (PR #11672)
- OpenFOAM 8
- OSU-Micro-Benchmarks 5.6.3 (PR #11674)
- Qt5 5.15.1 (PR #11555) + PyQt5 5.15.5 (PR #11563)
- requires OpenSSL 1.1.x (CentOS 7 has OpenSSL 1.0.x)...
- ParaView 5.8.1
- PLUMED 2.6.2 (PR #11668)
- R 4.0.3 (PR #11663)
- SCOTCH 6.1.0 (PR #11673)
-
SciPy-bundle
2020.11 (PR #11629)- move
hypothesis
toPython
?
- move
- WRF 3.9.1.1 (PR #11675)
- Boost 1.74.0 (PR #11642)
- next sprint being planned
- continuation of sprint from Oct 16th (see https://hackmd.io/ZPMh4H-3SpuXWsHvNMmyNw0)
- focus on processing oldest PRs
- Adam: we could also do an issue sprint at some point?
- also a task for MotW
- see https://github.com/easybuilders/easybuild/wiki/6th-EasyBuild-User-Meeting
- EESSI (half) day?
- talks on EESSI, CernVM-FS, Gentoo Prefix, ...?
- ReFrame tutorial?
- EasyBuild "bootcamp"?
- 1-2h sessions on every day of EUM week?
- talk or workshop on building Singularity container images with EasyBuild (Jörg)
- Should we (only) list direct dependencies?
- Åke: negative side effect w.r.t. recursive unloading
- Jörg: how is GROMACS with GPU support built w.r.t. CUDA compute capabilities?
- it looks like we're not telling it to build for specific targets, unclear what it does by default
- Åke: now it uses this:
- Åke: now it uses this:
- we should enhance the GROMACS easyblock to listen to
--cuda-compute-capabilities
? - no performance difference when testing GROMACS on A100 vs RTX6000 with typical waterbox test
- see PRACE benchmark suite (ADD LINK)
- it looks like we're not telling it to build for specific targets, unclear what it does by default