Project

General

Profile

Task #3006

Task #2899: Update testing matrix versions for GROMACS 2020 release

Install clang-8 infrastructure for code checkers

Added by Paul Bauer 4 months ago. Updated 2 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
build system
Difficulty:
uncategorized
Close

Description

To make sure we test and use the current version of our code checking tools, the tools need to be installed on one of the build machines, together with updates to the build matrix.

Associated revisions

Revision ed91e159 (diff)
Added by Mark Abraham 2 months ago

Update testing matrices and fix warnings

Updated to test gcc 9, clang 8, and cmake 3.15.1.

Also fixes for compilation with gcc 9 and clang 9 (still in release
candidate, not yet released)

Added a gmx_source_file_warning_suppression() CMake helper function
(like the recently introduced gmx_target_warning_suppression()) to
manage per-source-file suppressions. This is used to suppress a
warning about the abuse of t_inputrec that is too difficult to fix
without replacing all of the handling of initialization and broadcast
of t_inputrec and subfields.

Refs #2899, #3006
Fixes #3007

Change-Id: I3a31a40c472d420adbb38d11ed5121702d7b3f7d

Revision 922e24d5 (diff)
Added by Szilárd Páll 2 months ago

Bump clang-cuda post-submit compiler/CUDA version

clang 8 + CUDA 10 is the latest working setup

Fixes #2819
Refs #3006

Change-Id: I3dd0bb5c667d2295593178d445260beaf0509277

History

#1 Updated by Mark Abraham 3 months ago

One agent does and another will shortly have clang 8. We should discuss whether we want to add clang 9, which is in rc but likely not out in time for the deadline.

#2 Updated by Szilárd Páll 3 months ago

Mark Abraham wrote:

One agent does and another will shortly have clang 8. We should discuss whether we want to add clang 9, which is in rc but likely not out in time for the deadline.

What would we gain from clang 9?

Note that Erik's position was that we should not prioritize (or rather ignore/make exception for) the policy of "latest version at the time of the release" when software is released after we make a decision and upgrade the infrastructure. In some cases this will shift the burden to after the release when users start using that untested compiler (e.g. a hypothetical CUDA 10.5).

#3 Updated by Mark Abraham 2 months ago

Szilárd Páll wrote:

Mark Abraham wrote:

One agent does and another will shortly have clang 8. We should discuss whether we want to add clang 9, which is in rc but likely not out in time for the deadline.

What would we gain from clang 9?

The same thing as usual from supporting the latest version of any key infrastructure - fixing the warnings (or bugs). Among other things that means devs working on maintenance branches with the then-current tools won't get spammed by warnings for a year.

Note that Erik's position was that we should not prioritize (or rather ignore/make exception for) the policy of "latest version at the time of the release" when software is released after we make a decision and upgrade the infrastructure. In some cases this will shift the burden to after the release when users start using that untested compiler (e.g. a hypothetical CUDA 10.5).

I'm not sure I understand what either of you are suggesting. The parent task aims aims to stabilize the testing environment for the critical month before the beta. We can consider updating during the beta or release phase for cause (e.g. major release of something essential like CUDA).

#4 Updated by Mark Abraham 2 months ago

Several agents now have clang 8, including static analyzer and clang tidy

#5 Updated by Mark Abraham 2 months ago

  • Status changed from New to In Progress

#6 Updated by Mark Abraham 2 months ago

  • Status changed from In Progress to Closed

Stuff is all installed, but not yet used

Also available in: Atom PDF