-
Notifications
You must be signed in to change notification settings - Fork 148
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
2021atoolchains + 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
2021aproject (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/loadinModuleGeneratorLua.swap_module, since 'swap' is not supported by Lmod (PR #3685) - make
get_config_objreturn a copy rather than a reference (PR #3692)- was required to fix problem in the easyconfigs test suite
- update
HierarchicalMNSto also return 'Toolchain/<name>/<version>' as$MODULEPATHextension forcpe*Cray toolchains (PR #3686) - make sure that
$TAPEis unset when using pipedtar(PR #3698)
-
enhancements
- enhance
apply_regex_substitutionsto 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-libsand--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_optionfunction 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_unloadeasyconfig 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
pipalong 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_checkby default forPythoneasyconfigs 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-onlydoesn'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
generosoviaboegelbotcould be enhanced to catch problems with--module-only?
- treat files/directories of unpacked sources equally in
-
enhancements
- enhance test and install step of
CMakePythonPackageeasyblock (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_VENDORinCMakeMakeeasyblock 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
binutilsas runtime dep (likePython) - ideally we should replace the
binutilsversion 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-compilers2021.2.0 -
impi2021.2.0 -
imkl2021.2.0
-
- direct linking to OpenBLAS rather than FlexiBLAS is caught in sanity check
- via
banned_linked_shared_libsineasybuild/toolchains/linalg/flexiblas.py
- via
- current status:
-
foss/2021.04easyconfig merged indevelop(candidate to be promoted in place tofoss/2021a) -
intel/2021.03easyconfig merged indevelop(candidate to be promoted in place tointel/2021a) - updated
SciPy-bundle- with
foss/2021.04(PR #12935)- works on Intel + AMD (
numpytests 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 numpyfails 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
NaNissues...- 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/ppc64lefor now...
- easy way out for now is to ignore failing numpy tests on
-
more testing needed with candidate toolchains
foss/2021.04andintel/2021.03
- with
-
Mesaon 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
fossandfosscudatoolchains- 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/allisn'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$MODULEPATHwhen<prefix>/Coreis there already? - also module files that extend
$MODULEPATHshould iterate over existing$MODULEPATHfor 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