Project

General

Profile

Task #2899

Update testing matrix versions for GROMACS 2020 release

Added by Mark Abraham 6 months ago. Updated 19 days ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
testing
Difficulty:
uncategorized
Close

Description

This meta tasks collects a set of smaller tasks related to infrastructures. These should be stable preferably at least a month before the beta release (for which we now have a target).

We will consider updating the supported versions other important things (e.g. clang, gcc, CUDA, cmake) that come out after the date of that target. However no such changes will happen before the first beta, and we will plan/discuss/review them with a higher focus on stability of the code and and its functionality. For example, we have previously patched released versions to support CUDA versions that came out during the final stages of (or after) our release cycle.

TODO list
---------

Please add TODO items as you see new releases of things we test. Please discuss below if there's things we should start or stop doing.

  • support clang 8 - Fix in gerrit
  • update compilation matrix entries to clang 8 - fix in gerrit
  • update ASAN/MSAN/TSAN matrix entries to clang 8 - fix in gerrit
  • update to clang-tidy-8 - WIP
  • update to clang-static-analyzer-8 - fix in gerrit
  • support gcc 9 - fix in gerrit
  • use clang-format - WIP, some progress in gerrit

Subtasks

Task #2819: figure out latest clang + native CUDA that works on our hardwareClosedSzilárd Páll
Task #3006: Install clang-8 infrastructure for code checkersClosed
Task #3007: Install and update testing to add gcc-9Closed
Task #3009: upgrage 2020 testing matrix with CUDA 10.1ClosedSzilárd Páll
Task #3010: upgrade OpenCL stack on bs-gpu01In Progress
Task #3011: misc upgrades of testing matricesResolved

Related issues

Related to GROMACS - Task #2831: Bump required version numbers of infrastructure for 2020New
Related to GROMACS - Task #2905: Add a Jenkins configuration with std library assert New
Related to GROMACS - Task #3065: Agree and implement version support for GROMACS 2021Closed
Related to GROMACS - Task #3047: Set required versions for GROMACS 2021New

Associated revisions

Revision cb19d57f (diff)
Added by Mark Abraham 3 months ago

Fix clang-tidy-7 issues

These are detected on the mac build agent, but weren't on a Linux one,
e.g. because there is a system xdr library found on Linux.

Refs #2899

Change-Id: I591fda21c718b3a76f1fe17962150421f85fce22

Revision 45d5e3d7 (diff)
Added by Mark Abraham 3 months ago

Test specific hwloc versions

Now that releng understands the installed hwloc versions, we can
specify those in the matrix configurations. We can also specify that a
test configuration requires hwloc, but don't have to specify the
version. And we can leave it auto and provide a specific version of
the library to get detected automatically.

Refs #2899

Change-Id: I7f72b79746e77d04d9e2657b75821a8e3d62d83b

Revision ed91e159 (diff)
Added by Mark Abraham about 1 month 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 b8c9e80f (diff)
Added by Mark Abraham about 1 month ago

Modernize t_psdata

This is useful in itself, but mainly prepares to modernize other users
of t_rgb, which need it to have a constructor.

Also made a comment more neutral

Refs #2899

Change-Id: I1717c8c049f81c313c2b435f7d56b36a3f914551

Revision 0004e9e8 (diff)
Added by Mark Abraham about 1 month ago

Modernize t_matrix, t_mapping, t_rgb

This supports removing some manual string handling that regularly
troubles e.g. the static analyzer.

Made more use of vector, ArrayRef and ssize.

Stopped installing matio.h, because the transformation introduced
here was going to lead to many more files installed, and we anyway
plan to remove the serendipitous API that we have.

Refs #2899

Change-Id: Ia4c6a37d4f25dc2de93b06b2ffc46e2ddab96f39

Revision 093526b0 (diff)
Added by Mark Abraham 28 days ago

Converted a CUDA config to use clang host-only compilation

This is distinct from the clang_cuda configuration because that one
uses clang also for device compilation. This one doesn't use the
modified build system, and will be easier to update when NVIDIA
support newer clang versions on Linux.

Refs #2899

Change-Id: I82bdf700c5553fcf367809209481ab4e27b037a2

History

#1 Updated by Mark Abraham 6 months ago

  • Target version set to 2020-infrastructure-stable

#2 Updated by Eric Irrgang 6 months ago

  • Related to Task #2831: Bump required version numbers of infrastructure for 2020 added

#3 Updated by Mark Abraham 5 months ago

  • Related to Task #2905: Add a Jenkins configuration with std library assert added

#4 Updated by Mark Abraham about 1 month ago

  • Description updated (diff)

#5 Updated by Mark Abraham about 1 month ago

  • Status changed from New to In Progress

#6 Updated by Mark Abraham about 1 month ago

  • Related to Task #3065: Agree and implement version support for GROMACS 2021 added

#7 Updated by Mark Abraham about 1 month ago

  • Target version changed from 2020-infrastructure-stable to 2020-infrastructure-update-post-beta1

We plan to do several disruptive things alongside the beta release, including

  • switch to clang-format
  • adopt gitlab for CI
  • remove \inpublicapi annotations on documentation
  • move sim_util.cpp to its own module
  • rename ArrayRef to span
  • rename methods with view in the name that return span-like things to have span in the name (thus constPositionsSpan() and positionsSpan())

#8 Updated by Mark Abraham about 1 month ago

  • Related to Task #3047: Set required versions for GROMACS 2021 added

Also available in: Atom PDF