Learning the basics of OpenCL in one day. We start with the basic concepts, write our fist OpenCL program, discuss the architectures, optimise our code step-by-step, get to the difficulties of GPU-programming, compare to CUDA, and end with well-optimised software that runs on every laptop.
This is the training we normally give as a part of specialised inhouse trainings. During the day there is enough time to discuss advanced programming questions.
Attendees need to bring their own laptops for the lab sessions. The only requirement is for the laptops to be equipped with an OpenCL CPU or GPU. A complete list with OpenCL compliant devices can be found at https://www.khronos.org/conformance/adopters/conformant-products#opencl. Regarding the software they need to have cmake, ssh/putty and git installed.
Attendees are required to have intermediate programming experience and basic C/C++ knowledge. This means that they should be able to easily write and debug an application in C/C++ and be comfortable working with pointers.
Getting to correctly writing OpenCL code, and understand the basic optimisation techniques.
// Anca Hamuraru
With extensive image processing experience and a broad background in CUDA and OpenCL optimisation, Anca is one of the engineers behind the software used by the Phantom high speed video cameras. Passionate about parallel algorithms and performance, she used to teach programming and algorithm analysis theory at university level. She continues her teaching activity as one of StreamComputing's trainers with focus on OpenCL and other parallel programming technologies.
// Michael Noisternig
is a senior C++ developer. He has experience in parallel computing on both the CPU and Xeon Phi.