Softwarekonferenz für Parallel Programming,
Concurrency, HPC und Multicore-Systeme
Heidelberg, Print Media Academy, 29.-31. März 2017

parallel 2017 » Programm »

// GPU-Computing mit CUDA und OpenCL

Mit GPUs sind oft große Performanceverbesserungen möglich. Um diese erreichen zu können, sind allerdings Kenntnisse der GPU-Architektur notwendig und wie man diese bei der Programmierung zu berücksichtigen hat. Die Programmierung von GPUs ist also immer noch "hardware-nah".

In diesem Vortrag werden deshalb die Unterschiede zwischen der GPU- und der CPU-Architektur erläutert. Die Frameworks CUDA und OpenCL werden vorgestellt. Es wird gezeigt, wie man die üblichen Patterns für Parallelität mit diesen Frameworks implementiert.

Schließlich werden die wichtigsten Optimierungstechniken und nützliche Tipps & Tricks aus der Praxis vorgestellt.

Vorkenntnisse
Grundkenntnisse über die parallele Programmierung mit C/C++, Grundkenntnisse über Hardware wie CPUs und Speicher

Lernziele
Stärken und Schwächen des GPU Computing mit CUDA und OpenCL im Vergleich zur traditionellen parallelen Programmierung, z.B. mit OpenMP.


// Jörn Dinkla Jörn Dinkla

arbeitet als Softwareentwickler und Berater bei ThoughtWorks Deutschland. Seine Schwerpunkte sind parallele und verteilte Systeme, GPU-Computing und Programmiersprachen. Für den Manning-Verlag war er technischer Editor des Buchs "OpenCL in Action". Er arbeitet seit über sieben Jahren mit GPUs und hat mehrere Vorträge zu diesem Thema auf den vorherigen parallel-Konferenzen gehalten.