OpenCL Training

Acceleware offers advanced OpenCL training courses. Clients can access our top rated training on techniques for parallel programming in OpenCL specifically tailored for AMD GPUs and APUs. The courses are taught by experienced OpenCL programmers who have real world experience developing commercial applications using OpenCL.

Acceleware's customized OpenCL training consists of classroom lectures and several practical hands-on exercises. We recommend that the attendees have a background C/C++ (2 or more years) in order to get the most out of the course. Contact services@acceleware.com for more information on the OpenCL training courses.

Attendees should be familiar with the following C/C++ concepts:

  • Pointers and pointer to pointers (*, **)
  • Taking the address of a variable (&)
  • Writing functions, for loops, if/else statements
  • Printing to standard output (printf, cout)
  • Memory allocation and deallocation
  • Arrays and indexing
  • Structures
  • General debugging

Entirely optional (but helpful) experiences:

  • Multithreading
  • Optimization of programs
  • Low level programming (e.g., assembly languages)
  • Familiarity with computer architectures

4 Day Course Syllabus

  • Day 1: Introduction to GPU Programming and GPU Architectures
    • Overview of GPU Computing
    • OpenCL Software
    • Data-Parallel Architectures and the OpenCL Programming Model
    • The OpenCL Memory Model & Work-item Cooperation
    • Hands-on-Exercises: Buffer Allocation and Buffer Transfers, Simple Kernels and Local and Constant Memory
  • Day 2: Advanced GPU Programming and Debugging
    • Task Concurrency and Synchronization
    • Images and Graphics Interoperability
    • Debugging GPU Programs and Numerical Accuracy
    • Hands-on-Exercises: Asynchronous Operations, Images and Graphics Interoperability and Debugging
  • Day 3: Introduction to Optimizations
    • Latency and the Execution Model
    • Arithmetic Optimizations
    • Memory Optimizations
    • Hands-on-Exercises: Arithmetic Optimizations and Correcting memory access pattern transfers and local memory bank conflicts
  • Day 4: Advanced Optimizations and Profiling
    • Profiling applications
    • Case Study – 3D Convolution or Other Case Study
    • Multiple GPUs, Cluster of GPUs
    • Hands-on-Exercises: Using the Stream Profiler to optimize a kernel and 3D Convolution – Putting it all together

Private On-Site Courses

Acceleware also provides private onsite courses. Feel free to email us at services@acceleware.com or use the contact form to the right to inquire about location, dates and rates.

Your fee includes

  • Use of a laptop equipped with AMD Fusion APU
  • Choice of Linux or Windows operating system
  • Printed manual of all lectures
  • Electronic copy of lab exercises
  • OpenCL Quick Reference Card
  • Certificate of Completion