-
Notifications
You must be signed in to change notification settings - Fork 144
Conference call notes 20210526
Kenneth Hoste edited this page May 26, 2021
·
5 revisions
(back to Conference calls)
Notes on the 173th EasyBuild conference call, Wednesday May 26th 2021 (15:00 UTC)
Alphabetical list of attendees (13):
- Sebastian Achilles (Jülich Supercomputing Centre, Germany)
- Simon Branford (University of Birmingham, UK)
- Bennet Fauber (Univ. of Michigan, US)
- Alexander Grund (TU Dresden, Germany)
- Victor Holanda Rusu (CSCS, Switzerland)
- Kenneth Hoste (HPC-UGent, Belgium)
- Adam Huffman (Big Data Institute, Oxford, UK)
- Terje Kvernes (Univ. of Oslo, Norway)
- Kurt Lust (Univ. of Antwerp, Belgium + LUMI User Support Team)
- Mikael Öhman (Chalmers University of Technology, Sweden)
- Bart Oldeman (Compute Canada)
- Jörg Saßmannshausen (NIHR Biomedical Research Centre, UK)
- Åke Sandgren (Umeå University, Sweden)
- outlook to next EasyBuild release (v4.4.0)
- progress update on 2021a version of common toolchains
- Q&A
- last release: EasyBuild v4.3.4 (April 9th)
- ETA next release: ASAP
- v4.4.0 due to inclusion of
2021a
toolchains + some significant enhancements (hopefully) - project for next release: https://github.com/orgs/easybuilders/projects/13
- to maintainers: add issues/PRs you consider important there!
- see also
2021a
project (only easyconfigs): https://github.com/easybuilders/easybuild-easyconfigs/projects/2
- v4.4.0 due to inclusion of
- recent changes
-
framework
-
bug fixes
- avoid metadata greedy behaviour when probing for external module metadata (PR #3559)
- avoid picking up easyblocks outside of sandbox in framework tests (PR #3680)
- use
unload
/load
inModuleGeneratorLua.swap_module
, since 'swap
' is not supported by Lmod (PR #3685) - make
get_config_obj
return a copy rather than a reference (PR #3692)- was required to fix problem in the easyconfigs test suite
- update
HierarchicalMNS
to also return 'Toolchain/<name>/<version>
' as$MODULEPATH
extension forcpe*
Cray toolchains (PR #3686) - make sure that
$TAPE
is unset when using pipedtar
(PR #3698)
-
enhancements
- enhance
apply_regex_substitutions
to allow specifying action to take in case there are no matches (PR #3440) - performance improvements for easyconfig parsing and eb startup (PR #3555)
- add support for multiple PRs in
--from-pr
(PR #3605) - add support for prepending custom library paths in RPATH section (PR #3650)
- add support for
--sanity-check-only
+ also run sanity check for extensions when using--module-only
(PR #3655) - add support for using oneAPI versions of 'intel' toolchain components (PR #3665)
- extend sanity check step to check whether specific libraries are not linked into installed binaries/libraries (PR #3678)
- see
--banned-linked-shared-libs
and--required-linked-shared-libs
+ corresponding easyconfig parameters (banned_linked_shared_libs
+required_linked_shared_libs
)
- see
- add system agnostic function to locate shared libraries (PR #3683)
- add
update_build_option
function to update specific build options after initializing the EasyBuild configuration (PR #3684) - add toolchain definition for Fujitsu ARM toolchain (PR #3677https://github.com/easybuilders/easybuild-framework/pull/3677)
- allow opting out of recursively unloaded of modules via
recursive_module_unload
easyconfig parameter (PR #3689)- provides way out for issue #3627 reported for Cray toolchains
- check for correct version values when parsing easystack file (PR #3693)
- run post-install commands specified for a specific extension via
postinstallcmds
(PR #3696)
- enhance
- changes
-
bug fixes
-
easyblocks
- bug fixes
-
enhancements
- enhance Python easyblock: install pip2 when available, tweak defaults, create unversioned pip symlink (PR #2388)
- installing
pip
along with Python is opt-in in easyconfig viainstall_pip = True
- recommended to reinstall recent Python 3 installations to fix "corrupt" setuptools installation in there
- installing
- create unused build dir when separate_build_dir is set in Meson and CMake EasyBlock (PR #2419)
- enhance BWA easyblock to copy includes and libraries (PR #2417)
- enable
sanity_pip_check
by default forPython
easyconfigs if pip >= 9.0 will be installed (PR #2423) - update imkl easyblock to unpack example tarballs and set $MKL_EXAMPLES (+ some code cleanup) (PR #2430)
- make ScaLAPACK easyblock aware of FlexiBLAS (PR #2427)
- enhance FFTW easyblock to support SVE CPU feature and building with Fujitsu compiler (PR #2425)
- enhance Python easyblock: install pip2 when available, tweak defaults, create unversioned pip symlink (PR #2388)
- new software
-
changes
- (none)
- easyconfigs
-
framework
- to merge/fix/tackle soon
-
framework
-
bug fixes
- (nothing major?)
-
enhancements
- support additional features in easystack files
- support for filtering via labels (PR #3620)
- avoid using a priority in
prepend_module_path
(Lmod) to avoid costly module calls (PR #3636) - add support for installing extensions in parallel (WIP) (PR #3667)
- add support for
--skip-extensions
(PR #3702) - support systems with more than 1024 cores (PR #3701)
- support additional features in easystack files
-
changes
- (nothing significant?)
-
bug fixes
-
easyblocks
-
bug fixes
- treat files/directories of unpacked sources equally in
PackedBinary
(PR #2306) -
--module-only
doesn't always work as expected- we need a better way of catching this in tests
- problem is that you typically need an actual installation to catch these problems, so can't be done in easyconfigs or easyblocks test suite run in CI
- test installations done on
generoso
viaboegelbot
could be enhanced to catch problems with--module-only
?
- treat files/directories of unpacked sources equally in
-
enhancements
- enhance test and install step of
CMakePythonPackage
easyblock (PR #2318) - allow for Perl modules being part of other, already installed Perl modules (PR #2386)
- including FlexiBLAS as the default BLAS in foss will require easyblock changes (issue #2421)
- should set
BLA_VENDOR
inCMakeMake
easyblock if BLAS is in the toolchain (PR #2420)
- enhance test and install step of
-
changes
- (nothing major)
-
new software
- new easyblock for NCCL (built from source) (PR #2337)
-
bug fixes
-
easyconfigs
-
bug fixes
- add patches for PyTorch 1.7.1 avoiding failures on POWER and A100 (PR #12753)
- improve check for multi-variant dependencies per generation of easyconfigs (PR #12687)
- update GCC 10.2 binutils to 2.35.2 to fix fatal issues on PPC (PR #12920)
- some easyconfigs use
binutils
as runtime dep (likePython
) - ideally we should replace the
binutils
version everywhere, which is a very painful operation... - extracting the specific commit to fix this issue isn't easy...
- or we just replace the binutils 2.35 sources with 2.35.2? only for POWER?
- should we use binutils/2.36 in 2021a with 2.36.1 sources to allow in-place updates?
- some easyconfigs use
-
enhancements
- (nothing major)
-
new software
- (nothing major?)
-
software updates
- SciPy-bundle
-
bug fixes
-
framework
- outlook to component versions
-
foss/2021a
- GCC 10.3 + binutils 2.36.1
- OpenMPI 4.1.1
- FlexiBLAS 3.0.4 + OpenBLAS 0.3.15
- FFTW 3.3.9
-
intel/2021a
- GCC 10.3 + binutils 2.36.1 as a base
-
intel-compilers
2021.2.0 -
impi
2021.2.0 -
imkl
2021.2.0
-
- direct linking to OpenBLAS rather than FlexiBLAS is caught in sanity check
- via
banned_linked_shared_libs
ineasybuild/toolchains/linalg/flexiblas.py
- via
- current status:
-
foss/2021.04
easyconfig merged indevelop
(candidate to be promoted in place tofoss/2021a
) -
intel/2021.03
easyconfig merged indevelop
(candidate to be promoted in place tointel/2021a
) - updated
SciPy-bundle
- with
foss/2021.04
(PR #12935)- works on Intel + AMD (
numpy
tests pass) - fails on
aarch64
: failing numpy tests (see numpy issue #18422) - fails on
ppc64le
(POWER9): segfault for specific numpy test in FlexiBLAS (see FlexiBLAS issue #17)
- works on Intel + AMD (
- with
intel/2021.03
(PR #12964)-
import numpy
fails because new CPU feature detection is broken at build time when using Intel compilers (but runtime check works 🤦) - see numpy issue #19084, fixed by PR #19098
- patch indeed works, but still a handful of failing numpy tests due to
NaN
issues...- similar to https://github.com/numpy/numpy/issues/18914 (but that's for OpenBLAS)?
-
- would be nice to resolve these problems before declaring success on
2021a
...- easy way out for now is to ignore failing numpy tests on
aarch64
/ppc64le
for now...
- easy way out for now is to ignore failing numpy tests on
-
more testing needed with candidate toolchains
foss/2021.04
andintel/2021.03
- with
-
Mesa
on top of LLVM 11.1.0 (PR #12943)- LLVM vs numba (llvmlite): will LLVM 11.1.0 be a good pick going forward? :-/
- blocking
Qt5
(PR #12946)
-
- collapsing
foss
andfosscuda
toolchains- see https://github.com/easybuilders/easybuild-easyconfigs/issues/12484
- status? (Mikael)
- Bennet: any problems expected between UCX/PMIx installed with EB vs UCX/PMIx used by Slurm?
- short answer: no, should work fine :)
- Mikael: could EasyBuild be made more atomic when doing re-installations?
- currently:
- the module file is removed early on (we started doing that for a reason)
- existing install directory is removed when install step starts
- can we do better?
- temporary move the module file + install dir so it's easier to restore later?
- doesn't help with avoiding that users don't see the module for a while...
- temporary move the module file + install dir so it's easier to restore later?
- currently:
- Mikael: EasyBuild checking with "full" module names like
Core/GCCcore/...
causes trouble when modules are spread across different directories- painful when letting users install stuff in their home directory, because
<prefix>/modules/all
isn't in their$MODULEPATH
- can we avoid that EasyBuild uses the full module names internally when checking for dependencies?
- can EasyBuild automatically add
<prefix>
to$MODULEPATH
when<prefix>/Core
is there already? - also module files that extend
$MODULEPATH
should iterate over existing$MODULEPATH
for other "opportunities" to extend$MODULEPATH
?
- painful when letting users install stuff in their home directory, because
- Victor: is there a fixed schedule for future EasyBuild releases?
- Kenneth: no, but release cadence is rougly every 4-6 weeks, and has been pretty stable over the last couple of years; see https://pypi.org/project/easybuild/#history