Due to an error in the mail-configuration e-mails sent between 27-1 and 14-2 may not have arrived. If you did not get a reply, please resend your request or question. Sorry for this inconvenience.

Training Modules

Basic Introduction

All there is to know about the world of OpenCL. You will:

  • get lectures about the basics of OpenCL,
  • recognise which code can best be translated into OpenCL-code,
  • learn how to think in parallel – which is different than thinking in threads,
  • get an overview of different GPGPU programming languages, and see the advantages of all.

This module can be given at any level.

Market overview for investors

For 10 years the market has been stable, but gets disrupted fast by GPGPU, smartphones and its chain-reaction. You will get an overview who to watch and why. Lots of stats, lots of insights, one you cannot miss when investing in hi-tech companies worldwide.

Introduction to OpenCL programming: host-side

This is mostly a lab-session and you will learn how to integrate kernels in your favourite programming-language: C, C++, Java, Python, Clyther and more. All solutions will be compared to the long official initialisation of OpenCL-software. Also caching kernels are described.

Introduction to OpenCL programming: kernels

This is mostly a lab-session and you will learn the basics of kernel-programming for chosen platforms: NVidia, Intel, AMD (Fusion&GPU), IBM POWER, Sony PS3 and ARM. This is excluding architecture specific optimisations, but you will learn by example for existing solutions.

Integrating into existing software

While porting to OpenCL is a much requested option, actually embedding the code into your software is somewhat more difficult. Say you found the calculation bottle-neck in your software, does the rest of your software can handle the extra speed? This is partly a round-table conversation with the system-architects to find the best solutions. Time to extend needed domain-knowledge is included.

Optimising Kernels (CPUs and GPUs)

Why is it that one kernel can be a few times slower on the other brand of GPU? Most books are about optimisations for GPUs, while the CPU can be sped up a lot using its SSE and AVX extensions. First part is theory, second part is lab-sessions using two ways to tackle the problem.

From CUDA to OpenCL

CUDA is a great programming language, but it currently works on NVIDIA-hardware only. The choice is to leave out people who have Intel- and AMD-hardware or to port your CUDA-software. If you want to port, then you can learn how in one day. Nice to combine with an optimisation-module.

Upcoming modules

The following modules have not completely been finished, but can be ordered. The exact release-dates will be announced on this page, Facebook, the newsletter and Twitter.

Developing for ARM

The end of the year you can learn how to program OpenCL for Android. Also a comparison is made with RenderScript and CUDA-for-Tegra.

Optimising for Embedded GPUs

As there is less transfer-time for embedded GPUs (AMD Fusion and some new Intel processors), new possibilities arrive. But these GPUs are not as powerful as their big brothers. An answer to the question when to use hte embedded GPU, the dedicated GPU or CPU.