-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Temporary addition of GNU 7.3 to GHA #136
Comments
Thanks for this info. @wdeconinck I think we must then also add this to the rest of the stack. |
@tlmquintino if you think that is necessary. Otherwise I can add just a few lines in the older atlas GitHub actions that I till have that uses Github-owned runners, for the remaining 6 months or so. Depends how high in the stack the UKMO wants this requirement to be. |
Thanks for getting back. UKMO is basically restricted to GNU 7.3 until we're fully up and running with with our new HPC -- that should happen by the end of this year. We're currently using the following ECMWF packages in our JEDI work with JCSDA:
Our main concern is that some exotic parts of C++17 might slip into Atlas/eckit/fckit and we lose our capability to run it on the HPC. Once we're on the new HPC, this problem goes away. (until we start having fun with C++20...) |
@wdeconinck since this involves eckit and odc too I would prefer this is done in the new CI/CD framework. |
I'm just tagging @yaswant here as he handles the software stack on our side. |
In the mean time of having it added to the new CI/CD framework, I have added it to the older ci with Github-hosted runners (see above referenced commit). |
Thank you @wdeconinck - is there any way we can set minor version to 3? Its not required from CXX17 perspective and not relevant in the scope of the current discussion. Sharing this for information only. Fortran-mpi related complication: F2018 features needed to support the build of the |
@yaswant It seems not trivial to install gcc-7.3 when the default 'gcc-7' is 7.5 (see https://askubuntu.com/questions/1225026/how-can-i-install-a-specific-version-of-gcc-on-ubuntu-18-04) Which code is using the mpi_f08 module? |
@wdeconinck no problem. My colleague was testing Footnotes
|
Looking at the release notes for GCC 7.3 to 7.5 it looks like they were only bug fixes. So unless you want to reproduce buggy behaviour, I would argue that using 7.5 is a very good proxy to using 7.3 for the purposes of ensuring the builds dont break and unit tests are passing. |
As some fluke experience in recent pull-request showed (see #145), the gnu 7.5 had a c++ 14 compiler bug fixed compared to 7.3 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64095); thanks @odlomax ! |
* develop: (56 commits) Implement field::for_each capabilities (ecmwf#139) Avoid harmless FE_INVALID with nvhpc build Avoid harmless FE_INVALID with nvhpc build Remove ATLAS_FPE=0 environment variable as not needed anymore now Avoid harmless FE_DIVBYZERO with nvhpc build Optimize modules and dependencies for caching Add HPC build options matrix Workaround compiler bug in nvhpc-22.11-release build Update GHA nvidia-21.9 to nvidia-22.11 Avoid and suppress some compiler warnings with nvhpc Fix bug where DelaunayMeshGenerator with 1 partition was not setting the grid in the mesh (ecmwf#143) Use Eigen 3.4 Disable floating point signals for tests on nvidia Add nvidia compiler specific HPC build config Add function to build mesh from imported connectivity data (ecmwf#135) Disable GHA "linux gnu-12" OpenMP for CXX as "omp.h" header is not found :( Add gnu-12 ci to github actions (github-hosted runners) Add gnu-7 ci to github actions with github-hosted runners (ecmwf#136) Setup horizontal_dimensions() for BlockStructuredColumns fields Add function Field::horizontal_dimension() -> std::vector<idx_t> ...
We're now testing the ECMWF stack with gnu 7.3.1 on CentOS 7.9 PR: ecmwf-actions/downstream-ci#14 Shout if you run into any issues. |
Thanks @dtip, @wdeconinck, @tlmquintino! |
Compiler support
As previously discussed, the Met Office has a temporary requirement where we have to make sure that Atlas builds and runs using GNU 7.3 compilers.
GNU 7.3 supports all of the C+17 language additions and most of the standard library additions, so the impact on Atlas should be minimal. Supported features.
We currently believe we should be able to remove this requirement over the next six to twelve months.
The text was updated successfully, but these errors were encountered: