12-14 June: OpenCL Training Amsterdam

From 12 to 14 June StreamHPC will give a 3-day course in OpenCL (was 3 to 5 June). Here you will learn how to develop OpenCL-programs.

A separate ticket for only the first day can be bought, as then will be a crash-course into OpenCL. Module basics.

The second and third day will all about parallel-algorithm design, optimisation and error-handling. Module optimisation with several new subjects added.

The last part of the third day is reserved for special subjects, as requested by the attendees.

If you cannot bring your own laptop including OpenCL-drivers (AMD or NVIDIA), we will arrange one for you. It is highly preferred you use your own environment.

Schedule

Day 1: Basics of OpenCL

We will work on samples in C/C++ and translate them to GPU-OpenCL. This will include subjects like kernels and hosts. Throughout the training there will be various comparisons with other technologies.

The afternoon is scheduled for guided lab-sessions to bring the theories into practice. The goal is to make a first simple OpenCL-program which uses vectors and runs on both CPU and GPU.

Day 2: Parallelization and GPU-architecture Optimisation

We then go into various examples of code and how they could be rewritten into parallel code.

We will then go into the details of the architectures of GPUs and learning its advantages/disadvantages. This includes the various types of memory, memory-alignment, PCI-transfers and asynchronous operations.

The afternoon lab-session will let you bring the theory to practise.

Day 3: Tools, Optimizations and software-integration

Introduction to debuggers, profilers and other tools. For GPUs it is slightly different than CPUs. After that we will fix broken OpenCL code.

Finally, we will go into advanced topics, such as atomics vs barriers, OpenGL interoperability, multi-queues, and PCI-transfer handling. Exact subjects of the afternoon depend on what you have requested.