Dear EasyBuilders,
As already mentioned in the PR for the foss/2017b toolchain definition
[1], the OpenBLAS 0.2.20 release that we were waiting for to finalize
foss/2017b has some known issues concerning stability due to a premature
merge [2,3].
A quick hotfix release (0.2.21) was promised to be released "this week"
over a month ago, but hasn't emerged yet, much to the frustration of the
OpenBLAS community [4]...
I don't consider going forward with OpenBLAS 0.2.19 (too old) or the
vanilla OpenBLAS 0.2.20 (known to be unstable) a good option, so I
looked into alternatives.
The best I could come up with is to apply two patches on top of the
OpenBLAS 0.2.20 release, and checking with one of the OpenBLAS
maintainers whether this approach makes sense (he confirmed it does).
Both patches are taken verbatim from two pull requests that have been
merged into the OpenBLAS repository already:
* https://github.com/xianyi/OpenBLAS/pull/1236: fixes detection of
L1 cache size on recent Intel processors, incl. Intel Haswell
* https://github.com/xianyi/OpenBLAS/pull/1247: revert prematurely
merged changes to honor cgroup/cpuset limits
The current status in [1] is exactly this: foss/2017b that includes
OpenBLAS 0.2.20 with these two patches applied on top.
I have been testing this it by building the existing easyconfigs that
use foss/2017a with foss/2017b instead, and haven't hit any surprises.
Others have submitted test reports for this foss/2017b definition as
well in the pull request.
To be clear, let me outline the current proposals for foss/2017b and
intel/2017b again:
foss/2017b
(https://github.com/easybuilders/easybuild-easyconfigs/pull/4768)
GCC(core) 6.4.0 + binutils 2.28
OpenMPI 2.1.1
OpenBLAS 0.2.20 (+ 2 patches)
FFTW 3.3.6(-pl2)
ScaLAPACK 2.0.2
intel/2017b
(https://github.com/easybuilders/easybuild-easyconfigs/pull/4618)
Intel compilers 2017.4.196 on top of GCC(core) 6.4.0 + binutils
2.28
Intel MPI 2017.3.196
Intel MKL 2017.3.196
So, I suggest we go forward with this, unless there are any objections;
we will also discuss this during tomorrow's conf call.
I expect the pull requests for 2017b toolchains to be merged later this
week, and to be included in EasyBuild v3.4.0 which will be released
shortly after.
regards,
Kenneth
[1] https://github.com/easybuilders/easybuild-easyconfigs/pull/4768
[2] https://github.com/xianyi/OpenBLAS/issues/1252
[3] https://github.com/xianyi/OpenBLAS/pull/1247
[4] https://github.com/xianyi/OpenBLAS/issues/1258
On 03/07/2017 17:28, Kenneth Hoste wrote:
On 29/06/2017 08:49, Kenneth Hoste wrote:
On 27/06/2017 10:12, Kenneth Hoste wrote:
Dear EasyBuilders,
The time has come to look into the 2017b update of the common
toolchains, i.e. foss/2017b and intel/2017b.
I have already created WIP pull requests for them, see [1, 2].
Currently, the toolchains are defined as specified below, but since
updates are expected soon for both OpenBLAS (0.2.20?) & GCC (6.4.0),
we should give it some more time before writing them in stone
(especially for OpenBLAS since the current last release dates from
Sept'16...).
All toolchain components are basically updated to the latest
version, except for GCC since Intel support made the statement that
the 2017 update 4 versions of the Intel compilers are not supported
yet on top of GCC 7.x.
foss/2017b:
GCC 6.3.0 (*) + binutils 2.28
OpenMPI 2.1.1
OpenBLAS 0.2.19 (*)
Update w.r.t. OpenBLAS: the OpenBLAS 0.2.20 release is planned around
July 15th, cfr. https://github.com/xianyi/OpenBLAS/issues/1223 .
I think this release is important enough to wait for so it can be
included in foss/2017b, since OpenBLAS 0.2.19 was released in
September 2016...
If anyone has strong feelings about postponing the final definition of
the 2017b common toolchains until the EasyBuild release around mid
August (i.e. after summer holidays), please let us know.
Until then, we can go ahead and thoroughly test intel/2017b once the
final release of GCC 6.4.0 is avaiable (later this week).
I plan to briefly (re)discuss the 2017b toolchains during the
EasyBuild conference call this Wednesday.
regards,
Kenneth
FFTW 3.3.6(-pl2)
ScaLAPACK 2.0.2
intel/2017b:
Intel compilers 2017.4.196 on top of GCC 6.3.0 (*) + binutils 2.28
Intel MPI 2017.3.196
Intel MKL 2017.3.196
(*) update expected in the coming weeks!
Update: GCC 6.4.0 is expected to be released next week.
I'm already testing things a bit with the release candidate, no
problems encountered.
WIP pull request for GCCcore/6.4.0 that will serve as a base for both
foss/2017b and intel/2017b @
https://github.com/hpcugent/easybuild-easyconfigs/pull/4794 .
I hope the new OpenBLAS release will be there soon too...
regards,
Kenneth
I hope we can finalize these toolchain definitions very soon (i.e.
when GCC 6.4 and the OpenBLAS update are available),
so we have ample time to test these toolchains with existing 2017a
(and maybe also 2016b) easyconfigs.
Any feedback, comments & suggestions are welcome!
regards,
Kenneth
[1] https://github.com/hpcugent/easybuild-easyconfigs/pull/4618
(intel/2017b)
[2] https://github.com/hpcugent/easybuild-easyconfigs/pull/4768
(foss/2017b)