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

parallel 2017 » Programm »

// GPU Acceleration in C++

GPU-beschleunigtes Programmieren in C++ ist längst in der Realität angekommen. Bibliotheken wie Boost.Compute, VexCL und ViennaCL integrieren OpenCL-basierte GPU-Beschleunigung nahezu nahtlos mit C++. Nutzern der Standard Templating Library (STL) gelingt mit diesen Bibliotheken die Portierung auf die GPU spielend leicht. Die Implementierung vollständiger OpenCL-basierter Algorithmen in C++ ist jedoch aktuell noch Zukunftsmusik. Was in CUDA schon lange möglich ist, soll nun aber auch bald für OpenCL Realität werden. Der gleichzeitig mit OpenCL 2.2 aufkommende sog. SYCL-Standard soll es erlauben, Device- und Host-Code in einer Quelldatei zu vereinen. Eine Integration in etablierte C++-Compiler wird angestrebt. Somit könnte herstellerunabhängige GPU-Beschleunigung bald im Mainstream ankommen.

Vorkenntnisse
C++, OpenCL

Lernziele
* Ein Überblick über GPU-Beschleunigung mit OpenCL
* Ein kurzer Einstieg in SYCL (inkl. Demo)


// Patrick Charrier Patrick Charrier

promoviert derzeit an der Graduiertenschule Computational Engineering im Bereich physikalisch-basierte Animation. Nebenberuflich arbeitet er als OpenCL-Trainer und hat bereits mehrere internationale OpenCL-Seminare u.a. für AMD durchgeführt. Er schaut auf mehr als 10 Jahre Erfahrung mit C++ zurück. Seine Hauptinteressen gelten der parallelen Programmierung und Open-Source-Bibliotheken.