Duration: 10 Hours
Schedule:
Friday 16th , Wednesday 21th, and Friday 23th
November 2018
From 9:00 to 13:00
Professor: Antonio Carpeño Ruiz
Objectives:
- Know the basic principles of programming applications in OpenCL
- Use the design cycle with the IntelFPGA SDK for OpenCL Tools
- Analyze the structure of the code to be executed on the host
- Know the basic techniques for optimizing the performance of OpenCL kernels
Contents:
Lectures
|
Labs
|
Introduction | Lab 1: Running openCL Applications
|
Setting up OpenCL Tools with IntelFPGA Platforms | |
An overview of OpenCL | |
Basic OpenCL concepts | |
OpenCL for FPGA design cycle | |
OpenCL Host Programming | |
Introduction to OpenCL kernel programming
|
|
FPGAs Oriented Kernel Design | Lab 2: Implementing and IO Channel for an Acquisition Device
|
The OpenCL memory hierarchy | |
Synchronization in OpenCL | |
The OpenCL Events Model
|
|
The FFT Example | Lab 3: Performing the FFT of a block of samples. |
Course Materials:
- Lectures Slides
- DE1-SoC board
- Linux Virtual Machine VMWare Ubuntu 14.04 Guest
- https://bitbucket.org/acarpeno/de1_soc_examples
- OpenCL in Action. Matthew Scarpino
- Heterogeneous Computing with OpenCL. Gaster, Howes, et al
- OpenCL Parallel Programming Development CookBook. Raymond Tay
- Intel FPGA SDK for OpenCL
- Getting Started Guide
- Cyclone V SoC Getting Started Guide
- Programming Guide
- Best Practices Guide
- Custom Platform Toolkit User Guide
- Intel Cyclone V SoC DK Reference Platform Porting Guide
- Intel Arria 10 SoC DK Reference Platform Porting Guide
- Intel Arria 10 GX DK Reference Platform Porting Guide
- Intel FPGA RTE for OpenCL – Getting Started Guide