This event is a part of the "Best Practices for HPC Software Developers" webinar series, produced by the IDEAS Productivity family of projects. The HPC Best Practices webinars address issues faced by developers of computational science and engineering (CSE) software on high-performance computers (HPC) and occur approximately monthly.
| Resource Information | Details |
|---|---|
| Webinar Title | Modernizing C++ Interfaces with Concepts, Constraints and std::mdspan |
| Date and Time | 2026-02-18 1:00 pm - 2:00 pm EDT |
| Presenter | Christian Trott (Sandia National Laboratory) |
| Registration, Information, and Archives | https://ideas-productivity.org/events/hpcbp-096-cpp |
| Presentation Language | English |
Webinars are free and open to the public, but advance registration is required through the Event website. Archives (recording, slides, Q&A) will be posted at the same link soon after the event, and all registrants will be notified.
Abstract
Over the last few years C++ has evolved considerably by adding features that allow for more robust, intuitive and maintainable interfaces, most notably through the addition of Concepts and Constraints in C++20, and std::mdspan in C++23. These features can in particular benefit scientific computing, where libraries with complex overload sets or large numbers of class specializations are common. In this presentation we will introduce Concepts and Constraints and discuss their benefits as well as their pitfalls. In particular, we will illustrate how these new capabilities interact with std::mdspan to enable the design of public facing interfaces, which enable interoperability between libraries for multi-dimensional arrays, and provide a much larger degree of safety and maintainability than typical C-like interfaces.
This talk will be appropriate for attendees who do not know anything about Concepts, Constraints or std::mdspan; however, a general C++ familiarity is highly recommended.
Presenter
- Christian Trott (Sandia National Laboratory)
Presenter Bio
Christian Trott is a High Performance Computing expert at Sandia National Laboratories, where he co-leads the Kokkos core team, developing performance portability solutions for engineering and science applications. He heads Sandia’s delegation to the ISO C++ committee and is a principal author of features like mdspan and linear algebra. Recently, he helped establish the High Performance Software Foundation and serves on its governing board. Christian advises application teams on redesigning their codes with Kokkos for next-generation supercomputers. Before joining Sandia, Christian earned a doctorate in theoretical physics from the University of Technology Ilmenau.


