Dear EasyBuilders,

We're pleased to announce the release of EasyBuild v4.4.0 [1].

In my view, and I don't say this lightly, this is the best EasyBuild release ever!
Not only because the version number has been increased, but also because:

- it includes initial support for custom toolchains using the Fujitsu compiler & libraries, which are leveraged on Fugaku, the current fastest (publicly known) supercomputer!

- easyconfig files for the 2021a update of the common toolchains (foss + intel) are included;

- during the process of preparing this release, we merged the 10,000th pull request in the easyconfigs GitHub repository!

- various small but yet useful enhancements have been made (more info below);

- much to our surprise, we found a couple of bugs in previous EasyBuild versions, which have been fixed (more info below);


GitHub Actions being flaky or even down for several hours multiple times in the recent weeks, including today during the release process, didn't prevent us from pushing out this release. Nice try Microsoft!


EasyBuild v4.4.0 is primarily a feature release, but also includes several bug fixes & minor enhancements.

Highlights for this release are listed below. More details are available in the release notes [2] which includes links to the respective pull requests for more detailed information.

(this information is also available at https://github.com/easybuilders/easybuild/releases/tag/easybuild-v4.4.0)


## Highlighted enhancements

[enhancements that (may) warrant updating existing installations are marked with (***)]

- performance improvements for easyconfig parsing and eb startup;

- support for downloading easyconfigs from multiple PRs with --from-pr;

- support for re-running the sanity check for existing installations (without making modifications to the installation), via "eb --sanity-check-only";

- toolchain definition for Fujitsu toolchain for use on Fugaku;

- allow checking whether specific libraries are (not) linked into installed binaries/libraries in sanity check (see various ways to specify banned/required libraries);

- update_build_option function to update specific build options after initializing the EasyBuild configuration;

- run post-install commands specified for a specific extension;

- add support for skipping the installation of extension via "eb --skip-extensions";

- software-specific easyblocks for FlexiBLAS and dm-reverb;

- custom easyblock to install OpenSSL wrapper for OpenSSL installed in OS, with fallback to build and install OpenSSL from source if not available in OS;

- enable sanity_pip_check by default for Python easyconfigs if pip >= 9.0 will be installed;

- add IceLake detection to OpenBLAS 0.3.12 and 0.3.15;



## Prominent bug fixes & changes

[bug fixes or changes that (may) warrant reinstalling easyconfigs are marked with (***)]

- re-enable write permissions when installing with read-only-installdir;

- avoid metadata greedy behavior when probing for external module metadata (mostly relevant for integration with Cray Programming Environment);

- also run sanity check for extensions when using --module-only (you can use --skip-extensions to skip sanity checking of extensions when using --module-only);

- fix use of --module-only on existing installations without write permissions;

- use unload/load in ModuleGeneratorLua.swap_module, since swap is not supported by Lmod;

- update HierarchicalMNS to also return ‘Toolchain/<name>/<version>’ as $MODULEPATH extension for cpe* Cray toolchains;

- enhance sched_getaffinity function to avoid early crash when counting available cores on systems with more than 1024 cores;

- (***) enhance Python easyblock: add option to install pip with core Python, tweak defaults, create unversioned pip symlink;

- make custom easyblocks for GROMACS ad Tkinter work with --module-only;

- make sure that self.python_cmd is set before using it in PythonPackage.sanity_check_step to make PythonBundle easyblock comaptible with --module-only;

- (***) add patch to fix GCC 10.2.0 rejecting valid code on PPC;

- (***) update easyconfigs for binutils 2.35 to use binutils 2.35.2 source tarball instead to pick up bug fixes;

- (***) fix test failure in TensorFlow 2.4.1 on recent CUDA drivers;

- (***) add patch to fix hardcoded num_cores in DMCfun extension included with R 4.0.x;

- (***) fix typo in Delly easyconfig to actually do parallel build;

- (***) fix potential memory leak in OpenBLAS 0.3.12;

- (***) add patches for PyTorch 1.7.1 avoiding failures on POWER and A100;

- fix source URLs for recent Boost and Boost.Python versions;


## Other changes

- tweak foss toolchain definition to switch from OpenBLAS to FlexiBLAS in foss/2021a;

- don’t skip sanity check for --module-only --rebuild (sanity check is still skipped with --module-only --force);

- consistently use pip to install Python packages in recent Python easyconfigs;

- deprecate adding a non-existing path to $MODULEPATH via ModulesTool.use;

- drop support for running EasyBuild with Python 2.6;


## Supported software


Easyconfigs for 2021a version of custom toolchains:

  foss/2021a:
      GCC 10.3.0 + binutils 2.36.1
      OpenMPI 4.1.1
      FlexiBLAS 3.0.4 with OpenBLAS 0.3.15 as backend
      ScaLAPACK 2.1.0
      FFTW 3.3.9

  intel/2021a:
      GCC 10.3.0 + binutils 2.36.1 as base
      intel-compilers 2021.2.0
      impi 2021.2.0
      imkl 2021.2.0


Support for installing 58 new software packages has been added, including (but not limited to):
  BirdNET
  cell2location
  cryoDRGN
  FlexiBLAS
  fsom
  gemmi
  georges
  hifiasm
  intervaltree
  LDC
  librosa
  loompy
  mongolite
  NewHybrids
  pagmo
  pyfaidx
  pyfasta
  pygmo
  R-INLA
  rMATS-turbo
  SeqLib
  smithwaterman
  SSW
  TagDust
  TALON
  TranscriptClean
  xESMF

  => This brings the total number of supported software packages to 2,349!
     An up-to-date list of supported software is available at [4].


Various software updates have been added, including (but not limited to):
  ABINIT 9.4.1
  BLIS 0.8.1
  Bonito 0.3.8
  ccache 4.2.1
  CLHEP 2.4.4.0
  CMake 3.20.1
  CUDA(core) 11.3.0
  CuPy 8.5.0
  Eigen 3.3.9
  FFTW 3.3.9
  GATK 4.2.0.0
  GCC 10.3.0 + 11.1.0
  GDRCopy 2.2
  GLPK 5.0
  GROMACS 2021.2
  GTDB-Tk 1.5.0
  HMMER 3.3.2
  Horovod 0.21.3
  intel-compilers + impi + imkl 2021.2.0
  Julia 1.6.1
  libfabric 1.12.1
  libRmath 4.0.0
  LLVM 11.1.0
  Mesa 21.1.1
  metaWRAP 1.3
  Nim 1.4.6
  NWChem 7.0.2
  OpenBLAS 0.3.15
  openCARP 6.0
  OpenMM 7.5.0
  OpenMPI 4.1.1
  Pandoc 2.13
  Perl 5.32.1
  PMIx 3.2.3
  Primer3 2.5.0
  PyTorch 1.8.1,
  Python 3.9.5
  Qt5 5.15.2
  Rmath 4.0.4
  Rust 1.52.1
  SciPy-bundle 2021.05
  snakemake 6.1.0
  UCX 1.10.0
  Valgrind 3.17.0
  X11 20210518
  YAXT 0.9.0


These changes result from various contributions, made by 19 different contributors:

* 59 merged pull requests for EasyBuild framework
* 47 merged pull requests for easyblocks
* 349 merged pull requests for easyconfigs


Thanks to everyone who contributed to this release in one way or another!


To upgrade to EasyBuild v4.4.0, there are several options [5].
Two particularly easy options include:

     * eb --install-latest-eb-release

     * eb --from-pr 13012          # use easyconfig from PR #13012 [6]


Enjoy!


regards,

Kenneth & Miguel


[1] https://pypi.org/project/easybuild/4.4.0
[2] https://docs.easybuild.io/en/latest/Release_notes.html#easybuild-v4-4-0-june-2nd-2021 [3] https://docs.easybuild.io/en/latest/Partial_installations.html#installing-additional-extensions-using-k-skip [4] https://docs.easybuild.io/en/latest/version-specific/Supported_software.html [5] https://docs.easybuild.io/en/latest/Installation.html#updating-an-existing-easybuild-installation
[6] https://github.com/easybuilders/easybuild-easyconfigs/pull/13012

Reply via email to