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

parallel 2017 » Programm »

// ROCm with ROCr, Right?

Wissenschaftliches Rechnen auf Grafikkarten ist eine lang etablierte Methode mit hohem Potenzial in vielen Domänen. Der Treiber- und Laufzeitsupport sowie höhere darauf aufbauende Abstraktionsschichten (wie CUDA oder OpenCL) waren jedoch meist nur in Form proprietärer Pakete verfügbar oder kompilierbar, wenn man an hoher Laufzeitleistung interessiert war.

In diesem Vortrag möchte ich daher die Open-Source-Platform ROCm und deren Laufzeitumgebung ROCr der GPUOpen-Initiative als Alternative dazu vorstellen. Als Langzeit-CUDA- und -C++-Entwickler möchte ich damit erste Erfahrungen mit den damit einhergehenden Programmierparadigmen, mit dem ROCm-Open-Source-Compiler und anderen ROCm-Werkzeugen auf Basis der LLVM-Compiler-Infrastruktur im Fallbeispiel einer diskreten Faltung mit den Teilnehmern teilen. Ich werde außerdem die Ergebnisse kanonischer GPU-Benchmarks soweit verfügbar zeigen und wo möglich Vergleiche mit anderen GPU-Plattformen anstellen.

Vorkenntnisse
Teilnehmer dieses Vortrags sollten ein fortgeschrittenes Verständnis der C++-Sprache (mindestens Standards C++11 und C++14, ggfls. C++17). Ein grundlegendes Verständnis der Hardware moderner Grafikkarten ist nicht notwendig, aber hilfreich.

Lernziele
Ich werde in diesem Vortrag die ROCm/ROCr-Treiber- und Laufzeit-Umgebung zur Programmierung von Grafikkarten aus Sicht eines Entwicklers präsentieren. Ich werde nicht nur die Treiber-, Compiler- und Laufzeitinfrastruktur vorstellen, sondern auch erste Benchmarks anhand eines Fallbeispiels unseres Kunden darlegen sowie kanonische Benchmarks auf Grafikkarten. Die Zuhörer sollen damit einen Eindruck dieser modernen Entwicklungsumgebung für AMD-Grafikkarten bekommen sowie der zu erwartenden Performance.


// Dr. Peter Steinbach Dr. Peter Steinbach

hat an der Universität Leipzig studiert, wo er sein Diplom mit einem Thema aus der Teilchenphysik am DESY Hamburg erhielt. Seine Doktorarbeit befasste sich mit der Analyse von Daten des Large Hadron Collider (CERN), welche er 2012 erfolgreich verteidigte. Danach wechselte er in eine Anstellung als IT-Spezialist und Scientific Software Engineer am Max-Planck-Institut für molekulare Zellbiologie und Genetik Dresden (als Kunde der Scionics Computer Innovation GmbH), wo er sich seitdem mit parallelen Algorithmen auf Grafikkarten und HPC-Systemen beschäftigt.