Lehrstuhl für Anwendungsspezifisches Rechnen


Unsere Forschung strebt signifikante Fortschritte der Leistung und Genauigkeit im anwendungsspezifischen Rechnen durch eine globale Optimierung über das gesamte Spektrum der numerischen Methoden, Algorithmen Entwicklung, Software Implementierung und Hardware Beschleunigung. Das Potential ist enorm, denn typische wissenschaftliche Anwendungen nutzen nur 0,1% der Maximalleistung heutiger Computer.

Displacements in an object under loadTime skewing algorithmParallel access in AoS and SoA

Die Stufen des Spektrums haben typischerweise widersprechende Forderungen und ihre Integration stellt viele Herausforderungen. Beispielsweise, numerisch starke Methoden erlauben nur wenig parallele Ausführung, bandbreiten-effiziente Algorithmen vermengen die Verarbeitung von Zeit- und Raumindizes in nur schwer handbare Software-Konstrukte, Abstraktionen in Hochsprachen erzeugen Barrieren bezüglich der Daten-Repräsentation und Komposition, und schließlich hohe Leistung auf heutiger Hardware stellt strikte Anforderungen an parallele Verarbeitung und Datenzugriffe. Hohe Leistung und Genauigkeit für eine gesamte Anwendung kann nur erreicht werden durch das sorgfältige Balancieren der Anforderungen aller dieser Stufen.

Viele dieser Probleme sind ungelöst und es gibt ein großes Potenzial für wichtige Entdeckungen, wenn man in der Lage ist, neue numerische Methoden und Algorithmen für die heutige parallele Hardware zu erfinden und umgekehrt die Hardware an die Bedürfnisse des Rechnens anzupassen. Wir widmen daher parallelen Algorithmen auf HPC-Hardware (GPU, Vielkern-CPUs, FPGA, Spezial-HW) viel Aufmerksamkeit zu in Bezug auf

  • Datendarstellung (gemischte Präzision, Kompression, Redundanz)
  • Datenzugriff (Layout, räumliche und zeitliche Lokalität, Koaleszierung)
  • Datenstruktur (AMR, unstrukturierte Gitter, Graphen, Adaptivität)
  • Numerische Methoden (GMG, AMG, Krylov, Vorkonditionierer, FMM, Multilevel-Methoden, SVD)
  • Graphenalgorithmen (Partitionierung, Färbung, Zerlegung, BFS, MST)
  • Programmierabstraktionen (CUDA, Thrust, PSTL, C++2x, TBB, UPC++)

Die Forschungsübersicht enthält weitere Einzelheiten zu abgeschlossenen und laufenden (+) Projekten.