24 May 2019
Barcelona BSC Campus Nord
CET timezone

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



Barcelona BSC Campus Nord
Vertex VS208

For further details and practical info such as local transport and venue please visit the local course pages for PATC@BSC: http://www.bsc.es/patc

Registration for this event is currently open.