Project

General

Profile

Task #3260

keep up to with mdspan reference implementation

Added by Christian Blau 9 months ago.

Status:
New
Priority:
Low
Category:
core library
Difficulty:
uncategorized
Close

Description

To represent multidimensional data, we use mdspan that is proposed C++ extension p0009 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0009r9.html)

We use a sub-set of the reference implementation in our code under src/gromacs/mdspan.

A new reference implementation is to be found at https://github.com/kokkos/mdspan.

We should strive for

  • compatibility with the reference implementation
  • potential performance benefits of moving to a newer implementation

Godbolt testing revealed that our use of mdspan already leads to highly performant code in easy cases like 3x3 matrices. Visible performance impact of using newer implementations might need to away more use of mdspan in the overall code-base.

Also note that we cannot yet make use of the compile time improvements that come with the use of C++17 in the reference implementation.

Also available in: Atom PDF