The registration of this course is now open. Please, bring your own laptop. All the PATC courses at BSC are free of charge.
Course convener: Xavier Martorell
Objectives:This tutorial will introduce the audience to the BSC tools for heterogenous programming on FPGA devices. It describes OmpSs@FPGA, as a productive programming environment for compute systems with FPGAs.
More specifically, the tutorial will:
- Introduce the OmpSs@FPGA programming model, how to write, compile and execute applications on FPGAs
- Show the "implements" feature to explot parallelism across cores and IP cores
- Demonstrate how to analyze applications to determine which portions can be executed on FPGAs, and use OmpSs@FPGA to parallelize/optimize them.
Learning Outcomes: The students who finish this course will be able to develop benchmarks and simple applications with the OmpSs@FPGA programming model to be executed in FPGA boards, like Zedboard or Xilinx ZCU102.
INTERMEDIATE: for trainees with some theoretical and practical knowledge; those who finished the beginners course
ADVANCED: for trainees able to work independently and requiring guidance for solving complex problems
- Good knowledge of C/C++
- Basic knowledge of acceleration architectures and offloading models
- Basic knowledge of Paraver/Extrae
Session 1 / 9:30am – 1:00 pm (2 h lectures, 1:30 h practical)
09.30h – Global view of OmpSs@FPGA
10:30h - Instrumentation facilities and performance analysis
11.00h - Compilation and toolchain
11:30h - Hands-on: OmpSs@FPGA installation and setup
12:00h - Hands-on: Case study: vector multiplication
13.00h – Lunch Break
Session 2 / 2:00pm – 5:30 pm (0:30 h lectures, 3 h practical)
14.00h – Hands-on: Case study: matrix multiply
15:00h - Hands-on: Heterogeneous programming using "implements"
16.30h – Hands-on: Bring your application. Study, initial analysis and recommendations
17:30h - Adjourn
END of COURSE