Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

A Functional Open GPU Upon ARM - SFO17-215

361 views

Published on

Session ID: SFO17-215
Session Name: A Functional Open GPU Upon ARM - SFO17-215
Speaker: Fabricio Toloczko
Track: LITE


★ Session Summary ★
GPGPUs (General Purpose Graphics Processing Unit) are becoming a relevant functional block on SoCs, particularly on the ARM ecosystem. Extracting full performance of a GPU is now becoming a combination of well integrated and optimized software and hardware. Motivated by that, there are many open GPU initiatives around the world using FPGAs, but most (if not all) of these are on Intel platforms. This project aims to present an open GPU based on a FPGA using the ARM Instruction Set. The driver platform adopted was the well known MESA 3D (www.mesa3d.org). We will describe the co-design approach to designing the OpenGPU. A fully functional hardware and software implementation of the OpenGPU working on a range of OpenGL applications ported by Linaro will be shown. On the fly we will change drivers between: software model only, native software and hardware (OpenGPU) on FPGA, to see its performance impact. The engineers that implemented this system will be at the session to support detailed technical questions.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-215/
Presentation:
Video: https://www.youtube.com/watch?v=OI7F_ra-H3E
---------------------------------------------------

★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport

---------------------------------------------------
Keyword:
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961

Published in: Technology
  • Be the first to comment

  • Be the first to like this

A Functional Open GPU Upon ARM - SFO17-215

  1. 1. A Functional Open GPU Upon ARM Fabrício Ribeiro Toloczko
  2. 2. ENGINEERS AND DEVICES WORKING TOGETHER Why develop an Open GPU? ● Because it’s cool! :) And because we need ● Open hardware for new tools, methodologies and IPs ● Free access to knowledge and technologies ● A complete system oriented GPU implementation Some applications ● New methodologies and hardware testbenches ● Specific fixed functions for scientific or industrial purposes ● Video codification, image processing and data compression
  3. 3. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: specs Software ● Mesa3D using Gallium softpipe implementation ● Software stack runs on Linux ● Immediate graphics pipeline implemented ● OpenGL compatible(API version 3.0 for Terasic DE1 SoC board) Hardware ● Functional and synthesizable rasterizer ● Expansible to other important hardware parts
  4. 4. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: specs Platform ● Terasic DE1 SoC board ● Portable to other SoC or non SoC platforms ● Already provides a complete development system Licensing ● Apache 2.0 It’s open! https://gitlab.com/fabriciorit/OpenGPU
  5. 5. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: system OpenGPU driver SYSTEMMEMORY OpenGPU hardware FPGA SoC CPU Gallium Mesa3D
  6. 6. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: current hardware OpenGPU driver (Softpipe modified implementation) SYSTEM MEMORY OpenGPU hardware Rasterizer Triangles and Coordinates Quad Fragments
  7. 7. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: rasterizer
  8. 8. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: rasterizer
  9. 9. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: demonstration! ● Linux 4.5.0, Ubuntu LXDE ● Mesa3D 12.1.0 ● Terasic DE-1 SoC board ● Altera Cyclone V SoC FPGA ● ARM CPU ● Rasterizer used 847 LUTs ● Complete FPGA SoC integration with other system hardware: 18608 LUTs
  10. 10. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: objectives ● Open hardware ● Easy to develop ● Easy integration with other hardware implementations ● Framework for graphics processing ● Framework for general purpose processing
  11. 11. ENGINEERS AND DEVICES WORKING TOGETHER Next steps
  12. 12. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: next steps ● Improve memory management using DMA approach ● Shader development ● LLVM for runtime compiling or shader optimization ● Video codification framework ● Optimize software stack
  13. 13. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: next steps ● Improve memory management using DMA approach ● Shader development ● LLVM for runtime compiling or shader optimization ● Video codification framework ● Optimize software stack
  14. 14. ENGINEERS AND DEVICES WORKING TOGETHER OpenGPU: presenter Fabrício Ribeiro Toloczko ● Bachelor of Electrical Engineering ● University of São Paulo, Brazil ● Open source software and hardware enthusiast fabriciotoloczko@gmail.com Contact me!
  15. 15. Thank You #SFO17 BUD17 keynotes and videos on: connect.linaro.org For further information: www.linaro.org

×