Hello EasyBuilders,

With summer approaching rapidly (I'm sure you're aware), it's time to look into defining the 2015b update of the common compiler toochains 'foss' and 'intel'.

For those of you not aware yet: the common toolchains are an attempt at synchronizing the major toolchains being used with EasyBuild across different sites, to try and reap the benefits of each others efforts even more. The idea is to refresh these toolchains every 6 months.

It's important to note that we are not enforcing these toolchains on anyone: it's up to you whether you join in or not, and other toolchains and toolchain versions will of course remain supported as they have been in the past (with the exception of some old toolchains that I'd like to deprecate sometime soon (goalf, iqacml), but more on that later).

I've taken the liberty to come up with a proposal for foss/2015b and intel/2015b, see also the respective pull requests https://github.com/hpcugent/easybuild-easyconfigs/pull/1695 and https://github.com/hpcugent/easybuild-easyconfigs/pull/1696.

foss/2015b:
    GCC v5.1.0
    binutils/2.25 (which implies also including zlib/1.2.8)
OpenMPI v1.8.5 (note: with 1.8.6 likely to be released very soon, this may get bumped before the definition is cast into stone)
    OpenBLAS 0.2.14
    FFTW 3.3.4
    ScaLAPACK 2.0.2

intel/2015b:
    (GCC v5.1.0 + binutils/2.25)
    Intel compilers (icc + ifort) 2015.3.187 (a.k.a. 15.0.3.187)
    Intel MPI v5.0.3.048
    Intel MKL v11.2.3.187

A couple of notes on this:

* The most significant change is including binutils into these toolchains (which also reels in zlib). The reason for this is analogous to the reason for including GCC in the intel toolchain: to be independent from what the OS provides. This is very relevant for RHEL6-based Haswell systems, where the standard binutils version included is too old to support AVX2 (cfr. https://github.com/hpcugent/easybuild-easyconfigs/issues/1605), as several EasyBuild sites have discovered.

* After careful consideration, we bumped the GCC version to the latest an greatest 5.1.0, despite it being a new major version. There are several reasons for this, including better OpenMP 4.0 and C+11 support in GCC 5.1.0, and the 2nd most recent 4.9.2 being rather old (Oct'14).

Other communities have explored the impact of moving to GCC 5.1.0 (e.g. https://lists.fedoraproject.org/pipermail/devel/2015-February/207549.html). Although the impact significant, it's limited to a small set of packages, and the pros outweigh the cons in my opinion.

* Other changes include bumping the versions to the latest and greatest.


Preliminary testing using Python and Boost has shown that rebuilding existing 2014b easyconfigs doesn't yield too much surprises.

I'm planning to run further tests in the coming weeks rebuilding existing easyconfigs using the 2014b toolchains, but unless major issues pop up, I consider these 2015b toolchain definitions solid.


Feedback, suggestions and/or remarks are much appreciated, both in this mail thread and via the respective pull requests.

Unless major concerns come forward, my intention is to include these 2015b toolchains + several easyconfigs using them in the next EasyBuild release (v2.2.0, planned for end of June/early July).

Last but not least: please refrain from using these 2015b toolchains in production until the respective pull requests are merged. Until then, the toolchain definitions may still be tweaked (and probably will be for foss/2015b w.r.t. the OpenMPI version)!


regards,

Kenneth

Reply via email to