Conference call notes 20210303 - easybuilders/easybuild GitHub Wiki
(back to Conference calls)
Notes on the 168th EasyBuild conference call, Wednesday March 3rd 2021 (16:00 UTC)
Attendees
Alphabetical list of attendees (14):
- Sebastian Achilles (Jülich Supercomputing Centre, Germany)
- Simon Branford (University of Birmingham, UK)
- Fotis Georgatos (SDSC, Switzerland)
- Victor Holanda (CSCS, Switzerland)
- Kenneth Hoste (HPC-UGent, Belgium)
- Adam Huffman (Big Data Institute, Oxford, UK)
- Terje Kvernes (University of Oslo, Norway)
- Kurt Lust (Univ. of Antwerp, Belgium + LUMI User Support Team)
- Robert Mijakovic (LuxProvide)
- 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)
- Davide Vanzo (Microsoft HPC)
Agenda
- update on recent developments
- quick update on evaluation of BLIS for '
foss' toolchain - revamp of EasyBuild documentation
- Q&A
Recent developments
- EasyBuild v4.3.3 was released last week (Tue Feb 23rd)
\o/- detailed release notes via https://docs.easybuild.io/en/latest/Release_notes.html
- new project for next release: https://github.com/orgs/easybuilders/projects/12
- to maintainers: add issues/PRs you consider important there!
masterbranch was renamed tomain(which seems to become the standard on GitHub)- see for example https://github.com/easybuilders/easybuild-framework/pull/3589
masterbranch is still there in easyconfigs repo, to avoid breakage ineb --check-githubw.r.t. token validation- but maybe that's only relevant in the forked repos?
- recent changes
- framework
- bug fixes
- fix UTF-8 encoding errors when running EasyBuild with Python 3.0.x-3.6.x (PR #3565)
- symlink 'lib' to 'lib64' if it doesn't exist (PR #3580)
- mostly relevant for SLES (which favors
lib64)
- mostly relevant for SLES (which favors
- include
%(mpi_cmd_prefix)sand%(cuda_*)stemplates in output of--avail-easyconfig-templates(PR #3586)- relevant for auto-generated documentation on templates, see https://docs.easybuild.io/en/latest/version-specific/easyconfig_templates.html
- fix
$BLAS_LIB_MTfor OpenBLAS, ensure-lpthreadis included (PR #3584) (((not included yet in EB v4.3.3))) - avoid raised exception when getting output from interactive command in
run_cmd_qa(PR #3599) (((not included yet in EB v4.3.3)))
- enhancements
- add support for using customized HTTP headers in
download_file(PR #2472) - allow use of alternate envvar(s) to
$HOMEfor user modules (PR #3558) - add support for intel-compiler compiler toolchain (>= 2021.x versions, oneAPI) (PR #3581)
- only for "classic" Intel C/C++/Fortran compiler (
icc,icpc,ifort) - TODO: oneAPI compilers (
icx,icpx,ifx,dpcpp)
- only for "classic" Intel C/C++/Fortran compiler (
- advise PR labels in
--review-prand add support for--add-pr-labels(PR #3177) - add support for filtering dependencies by using
Falseas version (PR #3506 + PR #3600 <= to review/merge) (((not included yet in EB v4.3.3)))- use case: dependencies that are not supported on Arm64 or POWER:
dependencies = [("not_on_power", {'arch=*': '1.2.3', 'arch=POWER': False})]
- use case: dependencies that are not supported on Arm64 or POWER:
- add "Citing" section to module files (PR #3596) (((not included yet in EB v4.3.3)))
- controlled via new
citingeasyconfig parameter
- controlled via new
- add support for using customized HTTP headers in
- changes
- (none)
- bug fixes
- easyblocks
- bug fixes
- make sure the installation of
libiberty.ain the binutils easyblock goes into a populated directory (PR #2308) - fix for building GCC with
--sysrootonppc64le(PR #2315) - fix Boost sanity check on
aarch64(PR #2341) - filter out user packages in LAMMPS easyblock if corresponding dependency isn't included + only set
-DUSER-INTELonx86_64systems (PR #2254) - read MATLAB configuration file in binary mode to avoid UTF-8 encoding errors when using Python 3.6 (PR #2340)
- make sure the installation of
- enhancements
- new generic easyblock for Intel oneAPI compilers (PR #2305)
- using
intel-compilersas software name, includingicc/icpc/ifort(classic compilers) +icx/icpx/ifx/dpcpp(oneAPI compilers)
- using
- update impi easyblock for impi 2021.x (oneAPI) (PR #2313)
- add sanity check commands to GCC (including LTO support) (PR #2322)
- run motorBike tutorial case as sanity check for recent (community) OpenFOAM versions (PR #2201) + add
foamMonitorto sanity checks of OpenFOAM (PR #2256) - update PETSc easyblock to take into account that ScaLAPACK installation may not have header files + fix building in parallel (PR #2348) (((not included yet in EB v4.3.3)))
- update CP2K easyblock w.r.t. running regtest for CP2K v8.1 (PR #2350) (((not included yet in EB v4.3.3)))
- make OpenCV easyblock aware of protobuf, libwebp and OpenEXR dependencies provided via EasyBuild (PR #2346)
- new generic easyblock for Intel oneAPI compilers (PR #2305)
- support for new software
intel-compilers(PR #2305)
- changes
- misleading
--accept-eulaconfiguration option and a wildcard proposal (issue #3595)--accept-eulasuggests boolean, should be--accept-eula-for...-
- add support for using regular expression patterns rather than only hard strings (
--accept-eula-for='.*')
- add support for using regular expression patterns rather than only hard strings (
- misleading
- bug fixes
- easyconfigs
- over 100 merged easyconfig PRs since last conf call!
- bug fixes
- enhancements
- verify checksum of all patch files in easyconfigs test suite (PR #12221)
- new software
- software updates
- PyTorch 1.7.1 with
fosscuda/2020b(PR #12003)
- PyTorch 1.7.1 with
- changes
- bump JasPer version to latest 2.0.24 for 2020b generation of easyconfigs + remove easyconfigs for ancient JasPer 2.0.1.4 with GCCcore/10.2.0 (PR #12277)
- framework
- to merge/fix/tackle soon
- framework
- bug fixes
- using
-fno-math-errnoby default is causing numerical errors (issue #3598)- introduced in EasyBuild v3.6.0, see PR #2388
- performance improvements for easyconfig parsing (PR #3555)
- avoid
module usein Lmod if possible to allow faster execution (PR #3557)
- using
- enhancements
- add support for using fallback '
arch=*' key in dependency version specified as arch->version mapping (PR #3600)-
- add test for using
Falseas version independenciesto filter stuff
- add test for using
-
- support additional features in easystack files
- add support for using fallback '
- bug fixes
- easyblocks
- bug fixes
- correctly determine path to active binutils in TensorFlow easyblock (PR #2218) [EESSI, RPATH]
- fix taking into account
--sysrootwhen installing/using CMake [EESSI] (PR #2247 or PR #2248, latter is best option?) - treat files/directories of unpacked sources equally in
PackedBinarygeneric easyblock (PR #2306) - RPackages: Change to using
R_LIBS_SITEwhen installing RPackages (PR #2326)/pull/2325)) - set
$NINJAFLAGSto make sure Ninja doesn't use all visible cores when building Qt5 (PR #2338)- we should probably set
$NINJAFLAGSmore generally (in framework), to ensure we cover other software that usesninjaunder the hood?
- we should probably set
- enhancements
- enhance OpenBLAS easyblock to make it aware of
optarch(PR #1946)- (still) needs review + testing...
- enhance test and install step of
CMakePythonPackageeasyblock (PR #2318) - add support for including PTX code in PyTorch (PR #2328)
- enhance CUDA support in CP2K easyblock (WIP) (PR #2349)
- needs more work to control which GPU features CP2K is being built with...
- enhance OpenBLAS easyblock to make it aware of
- changes
- (nothing)
- new software
- add custom easyblock for:
NCCL(built from source) (PR #2337)
- add custom easyblock for:
- bug fixes
- easyconfigs
- bug fixes
- (nothing major?)
- enhancements
- (nothing major?)
- new software
- (nothing major?)
- software updates
- (nothing major?)#
- bug fixes
- framework
Quick update on evaluation of BLIS for 'foss' toolchain
- weekly update meetings on Thu at 14:15 CET
- see notes at https://github.com/easybuilders/easybuild/wiki/BLIS-evaluation
- collecting scripts & test results in https://github.com/easybuilders/blis-eval
- currently:
- BLIS-based toolchains:
gobff/2020.11(BLIS version offoss/2020a)gobff/2020b(BLIS version offoss/2020b)iibff/2020b(BLIS version ofintel/2020b)
- checking different BLAS testing suites
- standard BLAS test suite
- BLAS-Tester
make checkvsmake testfor BLIS...
- performance tests
- app testing
- CP2K (WIP)
- numpy
- Mikael: any experiences with CMake-based builds?
- Sebastian has an example where it just worked
- Is CMake's standard FindBLAS aware of it?
- BLIS MT lib was renamed in AMD fork and not auto-detected?
- BLIS-based toolchains:
Revamp of EasyBuild documentation
- https://docs.easybuild.io
- current status
- hosted on readthedocs.io
.rstformat (rendered by Sphinx)- some stuff is missing:
- using a custom module naming schemes
- writing easyconfig for (bundles of) Python package(s)
- some pages in dire need of a refresh/update
pip installshould be highlighted as recommended way of installing
- EasyBuild tutorial (https://easybuilders.github.io/easybuild-tutorial) not integrated in current documentation
mkdocsis a way better tool- easier to work on documentation locally, trivial to get (live) preview of changes
- also supported by readthedocs.io
.md(Markdown) format, so requires "porting" of.rstdocumentation
- working group to revamp docs + port to
mkdocs? - set up a starting point with a couple of pages + auto-ported
.rstto.md(withpandoc) - involve people who are quite new to EasyBuild to help out with this
Q&A
- Mikael: updates on merging of
fossandfosscudatoolchains?- can we "hot swap" in a UCX with CUDA support?
- make it configurable in EasyBuild which UCX is picked up (with or without CUDA)?
- add support to configure EasyBuild to it knows it's installing software for a GPU system?
- Åke: or just rebuild UCX (on GPU systems) once we have a compatible CUDA available?
- that's perhaps a bit painful to do in production...
- Bart: UCX has good plugin support
- we could also install the GPU-specific part of UCX as a separate module, which sets the right
$UCX_*environment variables?
- we could also install the GPU-specific part of UCX as a separate module, which sets the right
- let's make sure we merge
fossandfosscudafor the 2021a common toolchains...