Achtung:

Sie haben Javascript deaktiviert!
Sie haben versucht eine Funktion zu nutzen, die nur mit Javascript möglich ist. Um sämtliche Funktionalitäten unserer Internetseite zu nutzen, aktivieren Sie bitte Javascript in Ihrem Browser.

Data Center Building O Show image information

Data Center Building O

DATE2019 Tutorial on OpenCL design flows for Intel and Xilinx FPGAs

On March 25 2019, Tobias Kenter conducted a tutorial at the DATE 2019 conference in Florence under the title OpenCL design flows for Intel and Xilinx FPGAs - common optimization strategies, design patterns and vendor-specific differences. Featuring tools for both Intel and Xilinx FPGAs, this tutorial provides the community with practical guidance based on the experience in OpenCL based FPGA acceleration at PC².

Summary

An increasing fraction of new results in the reconfigurable computing domain are obtained with the help of high level synthesis tools. Among the more popular tools are the OpenCL based Xilinx SDAccel and Intel FPGA SDK for OpenCL. Since they are building upon the same programming model and source language, one would hope for portability between different OpenCL based FPGA designs. However, the vast majority of published research is only optimized for one vendor tool and FPGA family. In their dissemination and training activities, both vendors focus on promoting effective design patterns with their respective tools and for their respective hardware.

In this tutorial, we want to broaden that scope and provide training for both tool chains. During two years of PostDoc research, the workshop organizer has gained extensive experience and insights into these tools. This tutorial will contain step by step optimization examples with performance models based on analysis of generated reports and complemented with measurements and profiling data. We will present design patterns that work well for both tools and thus can promote portability of OpenCL based FPGA designs, but also shed light on differences. Based on examples, we will illustrate the central difference in pipelining of nested loops, which has implications on local memory ports, replication and predictability of design space exploration.

Material

  • The main tutorial slides are available here. Tutorial participants have received additional material on the case studies that have been discussed selectively.
  • Design examples and generated compiler outputs are published in the accompanying github repository: https://github.com/kenter/OpenCL-FPGA-examples
Contact

Dr. Tobias Kenter

Paderborn Center for Parallel Computing (PC2)

Scientific Advisor FPGA Acceleration

Phone:
+49 5251 60-4340
Fax:
+49 5251 60-1714
Office:
X1.119

The University for the Information Society