The Objective of this ATHENS one week course is to introduce the students to
the concepts of programming with OpenCL. Recently there is a trend in Computer
Architecture towards heterogeneous systems (HSA) where accelerators like FPGAs,
GPUs are integrated on the same die as Chip Multi-Processors. Compute intensive
tasks are then offloaded to these accelerators. OpenCL (Open Computing
Language) is an industry standard language for parallel programming which is
adopted by industry leaders such as Intel, Xilinx, ARM for programming
accelerators (i.e Intel FPGAs, ARM Mali GPUs). After following this course a
student should be able to :
Write basic OpenCL programs (both host program and kernel) for FPGAs.
Write basic OpenCL programs for programming GPUs.
Be familiar with notions of optimization for performance.
Day 1 : Introduction to OpenCL API, and Host Program.
Day 2. Practical work with ARM MALI OpenCL SDK.
Day 3: Hands On experience: Programming GPUs with ODROID XU4 Boards.
Day 4: Practical work with Xilinx SDSoC.
Day 5: Hands On Experience: Programming FPGAs with Pynq-Z1 boards.
Computer Architecture, VLSI, C/C++
The students will be marked based on
Quiz at the end of the course.