Dear EasyBuilders,
It is my pleasure to announce the release of EasyBuild v4.1.0.
This time, I don't have to think hard to come up with a reason why this
is the best EasyBuild release to date...
Not only does EasyBuild v4.1.0 include a variety of enhancements, bug
fixes, software updates and support for new software, it's also the
first EasyBuild version (ever) that was released by someone outside of
the HPC-UGent team!
Please join me in thanking EasyBuild maintainer Miguel Dias Costa from
the National University of Singapore, for his efforts this week to act
as EasyBuild release manager (he requested that I would send the release
announcement).
First, it's worth noting that support for running EasyBuild on top of
Python 2.6 or for using Lmod 6.x as modules tool is now deprecated, see
also
https://easybuild.readthedocs.io/en/latest/Deprecated-functionality.html.
We won't actively break using Python 2.6 or Lmod 6.x just yet, but if
you're still relying on them it's time to look into upgrading...
Highlights of the changes in EasyBuild v4.1.0 include:
* various performance improvements to EasyBuild itself, in particular
when using Python 3 or a hierarchical module naming scheme;
* improved support for installing software on Linux/POWER systems,
thanks to the contributions by the BEAR team at the University of
Birmingham;
* easier integration with OpenHPC-provided software installations;
* support for including 'extensions' statements in generated Lua
module files via the --module-extensions configuration option, which is
a new feature in Lmod 8.2+ (see also
https://lmod.readthedocs.io/en/latest/330_extensions.html);
* additional GitHub integration features, incl. support for "eb
--sync-pr-with-develop", "eb --new-branch-github", "eb
--new-pr-from-branch", etc. (the documentation at
https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html
will be updated soon to cover these new options);
* one new software-specific easyblocks for cuDNN;
* updates, enhancements & bug fixes for the generic CmdCp, MakeCp,
PythonPackage, Toolchain easyblock and the custom easyblocks for Bazel,
CUDA, Gctf, MUMPS, netCDF, netcdf4-python, SCOTCH, SuperLU, TensorFlow,
and Xmipp;
* support for enabling "pip check" in the sanity check for Python
packages via "sanity_pip_check = True", to ensure that all required
Python packages are in place;
* added support for 46 new software packages, incl. bwa-meth,
CITE-seq-Count, CoordgenLibs, GULP, kwant, MethylDackel, MoviePy, mpiP,
pasta, RDFlib, RQGIS3, Short-Pair, SpliceMap, ...;
* updates for already supported software, incl. Bazel 1.1.0, Blender
2.81, dask 2.8.0, h5py 2.10.0, IPython 7.9.0, Mesa 19.2.1, OpenFOAM
v1906, PyTorch 1.3.1, SciPy-bundle 2019.10, TensorFlow 1.15.0,
TensorFlow 2.0.0 w/ fosscuda/2019b, Xmipp 3.19.04, ...;
* added easyconfigs for intelcuda/2019b toolchain;
* updated easyconfigs for Java/1.8, cuDNN 7.6.4.38 and NCCL 2.4.8 to
use a different 'source' files when installing on Linux/POWER;
* various bug fixes, incl.:
- fixed compatibility of EasyBuild framework with Python 3.8;
- fixed semantics of --set-default-module (don't set default for
dependencies that are installed due to --robot);
- fixed easyconfigs for installing fosscuda/2019b toolchain to make
sure it works with hierarchical module naming scheme;
- added missing extensions to the Python 3.7.2 and 3.7.4 easyconfig
files (use "eb --force --skip Python-3.7.2-GCCcore-8.2.0.eb
Python-3.7.4-GCCcore-8.3.0.eb" to install the missing extensions);
- added missing extensions to TensorFlow 2.0.0 easyconfigs, and use
correct version for the included 'gast' extension;
- patch binutils 2.31.1 and 2.32 to fix compatibility with RHEL8;
- promote binutils to a runtime dependency for Python built with
GCCcore toolchain (to avoid failing 'pip install' if Python package
being installed involves compilation);
* various additional updates, enhancements & bug fixes;
This brings the total number of supported software packages to 1,771!
An up-to-date list of supported software is available at [2].
In addition to this, we have started running the different EasyBuild
test suites in the native GitHub CI environment that is a part of GitHub
Actions.
This allows you as contributor to ensure the test suite passes before
you open a pull request for your contributions, which is facilitated by
the improved GitHub integration features.
A detailed overview of all changes is available in the release notes [3].
These changes result from a large number of merged contributions,
by 20 different contributors:
- 37 merged pull requests for EasyBuild framework
- 20 merged pull requests for easyblocks
- 217 merged pull requests for easyconfigs
Thanks to everyone who contributed to this release in one way or another!
To upgrade to EasyBuild v4.1.0, there are several options [4].
Two particularly easy options include:
* eb --install-latest-eb-release
* eb --from-pr 9439 # use easyconfig from PR #9439 [5]
Enjoy!
regards,
Kenneth & Miguel
[1] https://pypi.org/project/easybuild/4.1.0
[2]
https://easybuild.readthedocs.io/en/latest/version-specific/Supported_software.html
[3] https://easybuild.readthedocs.io/en/latest/Release_notes.html
[4]
https://easybuild.readthedocs.io/en/latest/Installation.html#updating-an-existing-easybuild-installation
[5] https://github.com/easybuilders/easybuild-easyconfigs/pull/9439/files