Photos are available in the DATE 2024 Gallery.

The time zone for all times mentioned at the DATE website is CET – Central Europe Time (UTC+1). AoE = Anywhere on Earth.

ET04 Introduction to Certifiable General Purpose GPU Programming for Safety-Critical Systems using Khronos APIs

Start
Wed, 27 Mar 2024 08:30
End
Wed, 27 Mar 2024 10:00
Organiser
Leonidas Kosmidis, BSC, Spain

 

GPUs are currently considered from all safety critical industries (automotive, avionics, aerospace, healthcare and others) to accelerate general purpose computations and meet performance requirements of new advanced functionalities, which are not possible with the legacy, single-core processors used in these domains. However, most of the R&D in companies from these domains is focused on proof of concepts, which demonstrate the capabilities of employing GPUs in these domains, ignoring the certification challenges introduced by GPUs.

In this tutorial, we will teach the attendees how general purpose GPU code can be developed and certified according to safety critical standards used in these industries, using open standards such as Khronos APIs. In particular, the tutorial covers two essential APIs. The first half is focused on OpenGL SC 2.0, a well established graphics API already deployed in several high criticality systems, including DAL A systems in avionics such as the primary flight displays in modern aircraft, as well as in ASIL D systems in automotive dashboards of contemporary high-end vehicles.

The second half of the tutorial focuses on SYCL and its upcoming variant SYCL SC, which abstracts away the low-end complexity of heterogeneous programming in safety critical systems. SYCL is a programming model that lets developers support a wide variety of devices (CPUs, GPUs, and through the SYCLOPS Horizon project RISC-V accelerators) from a single code base. Given the growing heterogeneity of processor roadmaps, moving to an open platform-independent standard such as SYCL is essential for modern software developers. SYCL has the further advantage of supporting a single-source style of programming from completely standard C++. In this tutorial, we will introduce SYCL and provide programmers with a solid foundation they can build on to gain mastery of this language. The main benefit of using SYCL over other heterogeneous programming models is the single programming language approach, which enables one to target multiple devices using the same programming model, and therefore to have a cleaner, portable, and more readable code.

The tutorial includes the latest advancements in Khronos SC APIs, through the developments in the on-going Horizon Europe projects, METASAT (https://metasat-project.eu/) and SYCLOPS (https://www.syclops.org/).

This is a hands-on tutorial. The format will be short presentations followed by hands-on exercises. Hence, attendees will require their own laptop to perform the hands-on exercises, by connecting to a ready to use remote system with a preinstalled environment.

Speakers

  • Leonidas Kosmidis, Barcelona Supercomputing Center (BSC)
  • Victor Perez, Codeplay/Intel

Target Audience

Academic and industrial attendees from the domain of embedded, real-time and safety critical areas, who are interested in safety critical GPU programming APIs and safety certification. We expect particular interest from DATE attendees, as well as from the ones attending the Autonomous Systems Design (ASD) initiative at DATE. This includes practitioners from automotive, avionics, space and other safety critical domains, which face high performance needs that can be satisfied by GPUs.

Learning objectives

The tutorial is going to be a mixture of fundamentals and hands on. At first, we will introduce the fundamental theory/concepts on how we can achieve certification of general purpose GPU code, using already certified graphics-based solutions such as OpenGL SC 2.0. Next we will present the upcoming solution, SYCL, whose SC version is currently under development at Khronos. During the interleaved presentations and hands-on sessions, the attendees will have the opportunity to obtain hands on experience with the presented methods through a series of exercises.

Required background

The tutorial attendees must be familiar with C++. Moreover, understanding of safety critical systems and familiarity with at least one safety standard (ISO 26262, DO-178C, ECSS) and safety critical code development guidelines (i.e. MISRA C/C++) is desirable but not required.

Detailed Program

8:30 - 8:40 Certification and challenges with GPUs (L. Kosmidis)
8:40 - 9:10 OpenGL SC 2.0 (L. Kosmidis)
9:10 - 9:50 SYCL (V. Perez)
9:50 - 10:00 What’s new in upcoming SYCL SC (L. Kosmidis)