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)



Reply via email to