Accelerating C, C++, OpenCL, and RTL Applications with the SDAccel Environment


Course Description

This OnDemand course focuses on using the Xilinx tools to accelerate a design at the system architecture level and optimize the accelerators. This course is for people who want to develop new or existing OpenCL™, C/C++, and RTL applications in the SDAccel™ development environment, for use on Xilinx FPGAs. The course also includes an introduction to targeting the Alveo™accelerator card. After completing this course, you will be able to: debug and profile OpenCL API code using the SDAccel development environment, maximize performance, efficiently utilize FPGA resources, utilize memory techniques to reduce latency, utilize the massive parallelism inherent to FPGAs, optimize throughput, and pipeline for performance.

Release Date

November 2018



Training Duration

2 days

Who Should Attend?

Anyone who needs to accelerate their software applications using FPGAs.


  • Basic knowledge of Xilinx FPGA architecture
  • Comfort with the C/C++ programming language

Skills Gained

After completing this comprehensive training, you will know how to:

  • Introduction to the SDAccel Environment and OpenCL Framework
  • SDAccel Environment - SDAccel Tool Overview
  • Introduction to FPGAs
  • Host Code - Open CL Execution Model
  • Profiling
  • Optimization Methodologies
  • Using the RTL Kernel Wizard to Reuse Existing IP as Accelerators
  • C Based Kernels
  • C Based Kernel Optimization
  • Setting up Alveo U200 Accelerator Card for SDAccel

Course Outline

Day 1
  • Introduction to the SDAccel Environment and OpenCL Framework {Lecture}
  • SDx Tools Overview {Lecture, Lab}
  • Makefile Flow {Lecture, Lab}
  • Introduction to FPGAs {Lecture}
  • Alveo Product Overview {Lecture}
  • Alveo Partner Ecosystem Solutions Overview {Lecture}
  • Introduction to Nimbix Cloud {Lecture}
  • OpenCL Framework Fundamentals 1 {Lecture}
  • OpenCL Framework Fundamentals 2 {Lecture, Lab}
  • Synchronization {Lecture, Lab}
  • Day 2
  • Introduction to NDRanges {Lecture}
  • Working with NDRanges {Lecture, Lab}
  • Profiling {Lecture}
  • Debugging {Lecture}
  • C-Based Kernels {Lecture}
  • C-Based Kernel Optimization {Lecture}
  • Optimization Methodologies {Lecture}
  • Memory Transfer Optimization Techniques {Lecture}
  • Kernel Optimization Techniques {Lecture, Lab}
  • Using the RTL Kernel Wizard to Reuse Existing IP as
  • Accelerators {Lecture, Lab}

    Lab Descriptions

    Event Schedule

    No events found. Event request.

    Updated at: 2019-07-23 16:09to the top