Consider raising floor gcc module on Cray XC

Issue #414 resolved
Paul Hargrove created an issue

TL;DR:

We require a floor gcc module on the Cray XC that we can no longer test and that no user has probably ever had access to in the first place. So, let's require something realistic instead.

Full-length:

We have been advertising the following for PrgEnv-gnu and intel on Cray XC systems:

- PrgEnv-gnu with gcc/6.4.0 (or later) loaded.
- PrgEnv-intel with gcc/6.4.0 (or later) loaded.

That has always been a "fiction" as we've never had access to a Cray-provided gcc/6.4.0. We had tested on Cori using a GCC 6.4.0 release I built.

The the best of my ability to check (Cori, Theta and Piz-Daint) Cray-provided GCC releases jumped from 6.3.0 to 7.1.0, with no releases of 6.4.0. So, for the user who doesn't build their own GCC, gcc/7.1.0 has probably always been the practical value of the floor.

Recent PE changes on Cori and Theta are such that I cannot test with our self-built GCC any longer (at least not without significant effort that doesn't seem worth it, and might still not be sufficient if I tried).

The oldest gcc/7.* module in the default MODULEPATH on Cori, Theta and Piz-Daint is 7.3.0 (on all three).

However, NERSC keeps an archive of old Cray software which contains a gcc/7.1.0 module, which I've just completed testing (successfully make dev-check) with our current develop.

So, we have at least the following options:

  1. No change (recommend a floor that we cannot test, but that users cannot meet either).
  2. gcc/7.1.0, which we can test for now but is not on any center's supported list
  3. gcc/7.3.0, which is available at multiple centers, currently in their default MODULEPATH

Thoughts on this matter would be appreciated.

Comments (3)

  1. Dan Bonachea

    I agree we should raise it to at least gcc/7.1.0 (option 2), since that is the lowest we can test with Cray-installed software.

    option 3 presupposes there are no Cray XC centers outside our access set that still provide gcc/7.1.0 (possibly by default), so I'd rather not raise it that high without a technical reason (ie not just lack of access to a Cray-built install at our three centers).

  2. Paul Hargrove reporter

    Raise minimum g++/libstdc++ on Cray XC to 7.1.0

    This commit resolves issue #414 by raising our "floor" version of the gcc environment module on the Cray XC from 6.4.0 to 7.1.0. Changes include updates to documentation and to configure-time enforcement.

    This commit also contains a tangentially related fix for the behavior of older icpc sometimes reporting an erroneous 0 value for GNUC_MINOR. We dealt with part of this problem before, but not the case in which the 0 causes the reported version yielded a full version number below the floor.

    → <<cset 3a8afd6624c8>>

  3. Log in to comment