Dennis Kempin, Peter Schumacher, Gernot Ziegler, Tobias Rick Interactive Particle Tracing with Cumulative Blood Damage Computation for Ventricular Assist Devices Dennis Kempin, Peter Schumacher, Gernot Ziegler, Tobias Rick Bedanken und Begrüßung Hiwi Projekt vorstellen Kurzen prägnanten Namen
Abstract Worum geht es? Particle Tracing - kein Fremdwort Visualisieren von Strömungsfeldern
DeBakey Ventricular Assist Device Anwendung: Projekt vom VR DeBakey Ventricular Assist Device. Turbine = Blutpumpe
Ans Herz anfügen Herz unterstützen Wartezeit überbrücken
Hydraulik Hematologie Zwei Designaspekte Hydraulisch: Geschwindigkeit Hematologisch: Blut ist nicht irgend eine flüssigkeit Rote Blutzellen sind empfindlich Krafteinwirkung = Schädigung = Hämolyse = Vergiftung/Herzversagen Will man vermeiden -> Optimieren mit Modellen
Motivation? Warum arbeiten wir an diesem Projekt? Interessante Anwendung -> Hiwi Projekt Technische Motivation
Hydraulik -> einfach Problematisch: Hämatologischen Eigenschaften Wegen: komplexe Berechnungen
Arora et al Hentschel et al A Tensor-Based Measure for Estimating Blood Damage Hentschel et al Interactive blood damage analysis for ventricular assist devices Zwei Veröffentlichungen Arora et al: Blutschädigungsmodell Heentschel et al: VAD Software Nachteil: Offline Vorberechnungen -> Kein interaktives Einfügen von Partikeln.
Fully interactive particle seeding Goal: Fully interactive particle seeding Ziel:Interaktives einfügen von Partikeln Nicht nur auf HPC Hardware, sondern auch skalierbar auf Desktop PCs. Problem: Echtzeitberechnung Blutschädigung -> Keine klassische Visualisierung
Technology Anderer Ansatz: Statt CPU
NVidia CUDA. GPUs in C programmieren GPUs eignen sich für das Problem hervoragend
Nicht nur Desktop PCs Auch: VR Hardware Vista Transparente Behandlung Ein/Ausgabe
Implementation Paar Worte zur Art der Implementierung
Traditional SV Ablauf einer klassische Visualisierung: Links Host, Rechts Device Kritischer Bereich: Renderschleife Zwei Probleme: - Data processing: Zeitintensiv mit Blutschädigung - Data transfer der Partikeldaten
GPU based SV GPU basierte Visualisierung Probleme gelöst: Datentransfer verschoben, bleiben auf GPU Data processing ausgelagert GPU kann 100te Partikel parallel verarbeiten
Hemolysis Velocity Gradient Tensor Hemolysis Eigenvectors Kurzer Überblick Position: Geschwindigkeitsfeld schrittweise integrieren Hämolyse: Braucht Tensor Wird ebenfalls schrittweise aktualisiert Benötigt viele Matrixopperationen und die Eigenvektoren -> Nicht schwierig, aber teuer wenn echtzeit Aus Tensor -> Hämolyse Hemolysis
Reduce Complexity Cartesian Grid Lower level Integration Frameskipping Single-precision float Specialized Eigensolver Damit echtzeittauglich: Komplexität reduziert Kartesisches Gitter Euler Integration Überspringen von Frames Single-precision floats Specialized Eigensolver
Results Was konnten wir mit den Ansätzen erreichen? Benchmark auf Low End Computer
G96b = $50 My Home Computer: Zu Hause steht so einer. Grafikkarte mit G96b Chip: $50. G96b = $50
65.000 particles In realtime 65.000 Partikel in Echtzeit bei 30 fps darstellbar. Inkl Blutschädigungsmodell. Doch: Ziemlich gravierendes Problem!
Numeric Instabilities! Ergebnisse nahezu unbrauchbar Zu Ungenau Kein Wunder: Zu viel Genauigkeit gegen Performance eingetauscht Doch: Optimistisch was erhöhen der Genauigkeit angeht. Warum:
(million)Integrations per second Integrationen pro Sekunde bei verschiedenen Partikelanzahlen. Orange ohne Blutschädigung – sehr simple Berechnung Rot mit komplexem Blutschädigungsmodell Kaum Geschwindigkeit eingebüßt -> Skaliert sehr gut.
GPU Peak Performance Gflops 67 Getestete Grafikkarte: 67 GFlops 9500GT
GPU Peak Performance 67 1700 Gflops 9500GT GTX 295 Aktuelle Grafikkarte: GTX 295 2 Kerne Zusammen: 1700 GFlops. Also: Massig Raum für Verbesserung der Genauigkeit 9500GT GTX 295
Improve Accuracy Tetraedal Grid Higher level Integration Memory Streaming Double-precision float More accurate eigensolver Aufgaben für die Zukunft: Tetraeder Gitter Integrationsmethoden höherer level Speicher Streaming bei zu kleinem Speicher Neue Karten: Double precision Fließkommazahlen Genauerere Egensolver Algorithmen
Thank you for your attention! Any Questions? Damit bin ich am Ende. Vielen Dank für Ihre Aufmerksamkeit