Marc Benito Bermúdez, Matina Maria Trompouki, Leonidas Kosmidis

Marc Benito Bermúdez, Matina Maria Trompouki, Leonidas Kosmidis

Evaluation of Graphics-based General Purpose Computation Solutions for Safety Critical Systems: An Avionics Case Study Marc Benito Bermúdez, Matina Maria Trompouki, Leonidas Kosmidis Juan David Garcia, Sergio Carretero, Ken Wenger {marc.benito, leonidas.Kosmidis}@bsc.es Motivation • Massively parallel architectures, high computational power and high energy efficiency, in thermally limited systems • OpenCL and CUDA dominate the market of GPGPU Embedded GPUs can programming in HPC provide the required • Easily programmable APIs performance • Cannot be used in safety critical systems because of pointers and dynamic memory allocation • Safety Critical Systems require higher performance to support new advanced functionalities • In this Bachelor’s thesis [1] awarded with a Technology Transfer Award we: Characteristics of Safety Critical Systems: • Analyze their differences compared to desktop graphics APIs • Certification: Need to comply with safety standards: ISO26262 / DO178 • Demonstrate how a safety-critical application written in a non-certifiable • Very conservative in terms of hardware and software: simple programming model can be converted to use safety-critical APIs. processors, mainly single core • Evaluate performance and programmability trade-offs OpenGL and Vulkan versions diagram Visual output of the Avionics Application Initial prototype GPU-based avionics application, written in Vulkan and ported to OpenGL SC 2 following the guidelines of [2][3]. Basic Compute Shader Shader 3D Image Processed Image Brook SC Porting and Comparison Brook SC [4][5][6] generates automatically OpenGL SC 2 code from a CUDA-like language. Comparison with the handwritten version: • Porting completed in few days with no previous knowledge • Very high productivity • An order of magnitude reduction in the amount of code • Negligible impact in performance 35 4500 Development Time (days) Lines of code (approximation) The display is divided in four regions 30 4000 3500 25 • The application uses both graphics and general purpose computations 3000 20 2500 • The first region is the upper left zone of the screen with a rotating 3D 15 2000 1500 model of a plane. We load the mesh, then apply a basic shader and 10 1000 finally we draw it in a frame buffer. 5 500 0 0 • The second region is the upper right zone of the screen with a plane Vulkan OpenGL SC 2 OpenGL SC 2 Brook SC Vulkan OpenGL SC 2 OpenGL SC 2 Brook SC (original code) (compute) (compute) (original code) (compute) (compute) image obtained from a camera. The image is processed with general purpose computations and the result is written to the framebuffer. • Finally, we draw the framebuffer to the output screen. Performance Evaluation on an avionics grade AMD E8860 GPU Acknowledgements • CoreAVI OpenGL SC 2.0 driver, Open source AMD OpenGL ES 2.0 driver FPS • Airbus Defence and Space Getafe (Madrid), Spain, provided 5000 4500 4000 the prototype GPU-based avionics application in Vulkan 3500 3000 2500 • CoreAVI provided the certified OpenGL SC 2 driver and an 2000 1500 1000 avionics-grade AMD E8860 GPU 500 0 OpenGL SC 2 OpenGL SC 2 Brook SC Brook SC + Brook SC + OpenGL ES 2 OpenGL ES 2 Brook SC (compute) (compute) OpenGL SC 2 OpenGL SC 2 (compute) (compute) (Optimized) References Obtained performance: • All variants meet the target refresh rate of the avionics display (60 FPS) [1] Benito, M., Analysis and Evaluation of Embedded Graphics Solutions for Critical Systems, Bachelor’s Thesis, Faculty of Informatics, Universitat Politècnica de Catalunya (UPC), • Higher performance on OpenGL SC 2.0 driver than on OpenGL ES 2.0 Barcelona, Spain • Brook SC compute performance is close to the Native OpenGL ES 2.0 [2] Trompouki et al, Towards General Purpose Computations on Low-End Mobile GPUs. DATE’16 • Texture sharing optimization between compute and graphics contexts [3] Trompouki et al, Optimisation Opportunities and Evaluation for GPGPU applications on Low- doubles performance, by eliminating unnecessary texture copies End Mobile GPUs. DATE’17 [4] Trompouki et al, Brook Auto: High-level Certification-friendly Programming for GPU • Future Brook SC+OpenGL SC 2.0 optimization using FBO compositing is powered automotive systems, DAC’18 expected to increase performance further, by eliminating an extra [5] Trompouki et al, BRASIL: A High-Integrity Compiler for Automotive Systems. ICCD’19 fragment shader with respect to the OpenGL SC 2.0 implementation [6] Kosmidis et. al, Brook SC, https://github.com/lkosmid/brook This work has been partially supported by the HiPEAC Network of Excellence with a Technology Transfer Award 2019. Leonidas Kosmidis is also funded by the Spanish Ministry of Economy and Competitiveness (MINECO) under a Juan de la Cierva Formación postdoctoral fellowship (FJCI-2017-34095)..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    1 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us