Die Anforderungen an die Rechenleistung steigen in allen Bereichen der Wissenschaftlichen rapide an. Angesichts der zunehmenden Komplexität wissenschaftlicher Experimente und der Datenraten moderner Detektoren müssen Hochleistungsrechensysteme zunehmend inhärenter Bestandteil von Datenerfassungs- und Steuerungssystemen werden. Die Online-Bildrekonstruktion und -analyse ermöglicht beispielsweise die Gestaltung anspruchsvoller Experimente. Die Wissenschaftler erhalten kontinuierlich einen Überblick über die experimentellen Ergebnisse und sind in der Lage, die untersuchten Prozesse auf der Grundlage visueller Informationen entweder automatisch oder manuell zu steuern. In den nächsten 10 Jahren ist mit Detektoren zu rechnen, die Terabits an Daten pro Sekunde erzeugen. Die Leistung der Speichersysteme wird im gleichen Zeitraum weit zurück bleiben. Dies macht es notwendig, die Daten von wissenschaftlicher Relevanz bereits während der Datenerfassungsphase zu identifizieren, zu extrahieren und eine Datenkompression durchzuführen, wann immer dies möglich ist.


GPUs übertreffen Standardprozessoren sowohl in Bezug auf die Rechenleistung bei arithmetischen Operationen als auch beim Speicherdurchsatz. Moderate Preise, möglich durch den großen Markt für Computerspiele, haben GPUs zu einer wichtigen Architektur beim wissenschaftlichen Rechnen gemacht. Kürzlich wurden Technologien vorgestellt, um GPUs auch für Embedded- und Echtzeitanwendungen anzupassen.  NVIDIA GPUDirect und AMD DirectGMA ermöglichen die direkte Kommunikation zwischen GPUs und anderen Komponenten der Datenerfassungssysteme. Die Einschränkungen durch fehlende Echtzeit-Betriebssystemen werden bei diesen Protokollen eliminiert. Die resultierende Kommunikationslatenz ist sowohl klein als auch vorhersehbar. Dies eröffnet eine Möglichkeit, GPUs als Teil der Echtzeit-Instrumentierung in Detektorsteuerung und Datenerfassung für Triggeranwendungen, Datenreduktion oder Online-Überwachung zu verwenden.


Um die Leistung neuerer GPUs optimal zu nutzen, ist spezieller Code erforderlich. Zur Vereinfachung der GPU-Programmierung wurden eine Reihe von Entwicklungsmodellen vorgestellt. Kürzlich wurde die OpenMP-Spezifikation erweitert, um eine Notation im Pragma-Stil zu ermöglichen, mit der rechenintensive Teile von Anwendungen auf GPUs ausgelagert werden können. OpenCL und ähnliche NVIDIA-spezifische CUDA-Modelle verwenden eine explizite Steuerung der Parallelität und ermöglichen eine weitaus bessere Leistung. Die GPU-Architektur ändert sich jedoch schnell und eine erhebliche Leistungssteigerung ist möglich, wenn Details einer spezifischen GPU-Architektur berücksichtigt werden. Dies ist besonders wichtig für Echtzeitanwendungen mit kritischen Latenzanforderungen. Häufig reicht es nicht aus, nur die Anzahl der GPUs zu erhöhen, um die Latenz zu verringern. Vielmehr ist es notwendig, eine hocheffiziente Implementierung des Problems zu realisieren. Wir analysieren interne und oft auch undokumentierte Details aktueller GPU-Architekturen und suchen mit Mikro-Benchmarking-Methoden nach Möglichkeiten, wissenschaftliche Algorithmen mit Hilfe automatisierter adaptiver Codes zu optimieren.

Technologie

Am IPE verfügen wir über ein breites Spektrum an Expertise über parallele Algorithmen, Rechenmodelle und Hardware-Architekturen. Für Forschungs- und Entwicklungsaufgaben betreiben wir einen Rechencluster, der mit mehreren Generationen von GPUs der führenden Hersteller AMD und NVIDIA ausgestattet ist.
Zu den Hauptforschungsgebieten am IPE gehören:

  • Heterogenes Rechnen mit CPUs, GPUs, FPGAs und anwendungsspezifischen Beschleunigern
  • Berechnungen mit reduzierter Genauigkeit und Hardware-aware Techniken
  • Parallele Programmierung mit CUDA und OpenCL
  • Direkte GPU- / Detektorkommunikation mit GPUDirect und DirectGMA
  • Benchmarking, Leistungsanalyse und Software-Optimierung

Schwerpunkt unserer Anwendungen ist die Online-Datenverarbeitung, -steuerung und -überwachung. Ein prominentes Beispiel für unsere Aktivitäten ist das GPU-basierte Steuerungssystem für die tomographische Online-Rekonstruktion, das derzeit im KIT-Imaging Cluster für die Hochdurchsatztomographie verwendet wird. Das zentrale Element des Systems ist das UFO-Computing-Framework. Es modelliert den Bildverarbeitungs-Workflow durch einen strukturierten Graphen, wobei jeder Knoten einen Operator auf den Eingabedaten darstellt. Der Entwurf des UFO-Frameworks enthält mehrere Parallelitätsebenen: feinkörnige massive Parallelität, Pipelining und gleichzeitige Ausführung von Verzweigungen innerhalb des Graphen. Die implementierte Bibliothek von Bildverarbeitungsalgorithmen ist in OpenCL implementiert und für aktuelle GPU-Architekturen von AMD und NVIDIA optimiert. Der erzielte Rekonstruktionsdurchsatz erreicht bereits bei Verwendung nur eines Rekonstruktionsknotens 6 GB/s für die Tomographie und etwa 1 GB/s für die Laminographie.

Abbildung 1: Beispielhafte Graphenstruktur des UFO Frameworks für einen Tomographie Workflow

Ein weiteres unserer Beispiel für die Leistungsfähigkeit von GPUs in der Datenerfassung ist ein GPU-basierter Prototyp eines Level 1-Spurtriggers für das CMS-Experiment. Mit dem bevorstehenden High-Luminosity-Upgrade werden alle 25ns Kollisionen durchgeführt und die Spuren der Sekundärteilchen beobachtet. Die Datenmenge, die hierbei von den Detektoren des Large Hadron Collider (LHC) am CERN erzeugt wird, wird voraussichtlich im Bereich von mehreren Terabit pro Sekunde liegen. Um solch riesige Datenmengen analysieren und verarbeiten zu können, ist es unerlässlich, über effiziente Datenreduktionsmechanismen zu verfügen. Ein Ansatz besteht darin, die Auslese auf einige relevante Teilchenspuren zu reduzieren. Traditionell werden ASICs verwendet, um Partikeltrajektorien in Echtzeit zu rekonstruieren und weniger relevante zu verwerfen. Wir haben diese Studie durchgeführt, um zu prüfen, ob sich wesentlich flexiblere GPUs für diese Aufgabe verwenden lassen. Ein Prototyp wurde entwickelt. Er verwendet GPUDirect- und DirectGMA-Technologien, um die Track-Kandidaten von FPGA-basierter Elektronik auf mehrere GPUs zu verteilen, die Tracks rekonstruieren und auszuwählen. Die angestrebte Latenzzeit von 6 us wurde mit der GPUDirect-Variante erreicht. Das Rechenmodell der GPUs ermöglichte es uns sogar, ein präziseres hexagonales Gitter für die Spursuche zu verwenden. Die traditionellen Elektroniklösungen sind in der Regel auf ein reguläres quadratisches Gitter beschränkt.

Abbildung 2: Vergleich der regulären und der hexagonalen Hough-Transformation zum Zweck der CMS-Spurensuche. Im sechseckigen Gitter auf der linken Seite ist die eingelagerte Darstellung der Linie lückenlos. Im regulären rechteckigen Gitter auf der rechten Seite ist die Breite der Cluster größer, nicht nur im Indexraum, sondern auch im Parameterraum.

Der Einsatz von GPUs umfasst inzwischen viele weitere Gebiete von den Materialwissenschaft bis hin zur Strömungsmechanik.

Projekte

  • CMS – Spurtrigger für die Hochenergiephysik
  • ROOF – Dynamische Verfolgung von Strukturen in mehrphasigen Systemen
  • STROBOS-CODE – Materialuntersuchungen mit Diffraktionsmessungen
  • UFO – Synchrotron-Röntgentomographie
  • uPIV - Micro partical imaging velocimetry
  • USCT – 3D Ultraschalltomographie

Für Studierende

Für Studenten, die an GPU-Computing, parallelen Algorithmen, Leistungsanalyse und Software-Optimierung interessiert sind, bieten wir eine Vielzahl von Forschungsthemen an. Praktika zum Thema "Optimierung von Bildverarbeitungsalgorithmen für aktuelle parallele Architekturen von CPUs, GPUs und FPGAs" vertiefen Studieninhalte zu praxisrelevanten Themen. Masterarbeiten sind in der Regel in laufende Projekte eingebunden.


Wir freuen uns, euch bei uns im IPE zu begrüßen. Vorkenntnisse im Bereich paralleler Programmierung sind von Vorteil. Experten mit C-Kenntnissen und Erfahrung in CUDA/OpenCL und/oder Multi-Threaded-Programmierung sind immer willkommen. Sprecht uns an,  falls Ihr Interesse an speziellen Themen im Bereich des Hochleistungsrechnens habt.