Consider raising floor gcc module on Cray XC
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:
- No change (recommend a floor that we cannot test, but that users cannot meet either).
- gcc/7.1.0, which we can test for now but is not on any center's supported list
- gcc/7.3.0, which is available at multiple centers, currently in their default
MODULEPATH
Thoughts on this matter would be appreciated.
Comments (3)
-
-
reporter Work to implement the agreed upon change (in both docs and
utils/system-checks.sh
) now in pull request #281 -
reporter - changed status to resolved
Raise minimum g++/libstdc++ on Cray XC to 7.1.0
This commit resolves issue
#414by raising our "floor" version of thegcc
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>>
- Log in to comment
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).