GPUs are currently considered from all safety critical industries, including avionics and aerospace 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, such as in the recent Airbus project Automatic Taxi, Take- off and Landing (ATTOL) project. This tutorial aims to provide a basic understanding of GPU programming and the GPU architecture. Both aspects are required for the acceleration of high performance algorithms for new generation avionics and aerospace systems, and more importantly for their certification. The tutorial will focus on GPU programming using the CUDA programming language and will explain the Hardware Architecture of both NVIDIA GPUs as well as AMD GPUs, which are currently used in avionics systems mainly for graphics, but also considered for general purpose computing in the near future.
This tutorial provides an introduction of all the basic concepts required of the attendees of the “Introduction to Certifiable General Purpose GPU Programming for Avionics Systems” Tutorial of the same instructors.
Objectives include: learn the basics of GPU programming using the CUDA programming language; understand the basics of the NVIDIA and AMD GPU hardware; learn how to compile, execute and profile a GPU program.
What is expected from the tutorial attendees:
Almost no prior knowledge is required from the tutorial attendees. They only need to be familiar with the C programming language. In order to participate in the hands on session, the tutorial attendees will need to bring their laptops, with WiFi connection and need to have installed an SSH client.
What resources are given to the attendees:
The attendees will be provided with the slides of the tutorial, as well as the descriptions of the exercises and their source code. The exercises will be self-paced and self-guided, so that the attendees will be able to complete them also on their own after the tutorial. Remote access to NVIDIA and AMD GPUs will be provided by presenters with all relevant software and development tools.