Echtzeit-Signalverarbeitung in der Optischen Kohärenztomographie (OCT) am Fraunhofer IPT

Wissenschaftlicher Bereich

Tomographische Bildgebung, Augenheilkunde

Kurzbeschreibung

Am Fraunhofer-Institut für Produktionstechnologie (IPT) werden Systeme der Optischen Kohärenztomographie (OCT) für medizinische und industrielle Anwendungen entwickelt. Optischen Kohärenztomographie ist eine bildgebende Technik, die auf einer Signalverarbeitungskette basiert. Diese Kette, die in den OCT-Systemen von Fraunhofer eingesetzt wird, umfasst z. B. die Datenerfassung von einer Zeilenkamera, bildbezogene Anpassungen, eine Fourier-Transformation und die Reduzierung von Signalrauschen. Da diese OCT-Systeme für eine hohe räumliche und zeitliche Auflösung in Produktionsaufbauten, z.B. Videobildrate (25 Bilder/s), erforderlich sind, ist die Parallelisierung und Abstimmung der Signalverarbeitungskette entscheidend.

Um die Videobildrate zu erreichen, haben wir eine Compute Unified Device Architecture-Version (CUDA) der Fraunhofer-Signalverarbeitungskette OCT entwickelt, die auf Grafikprozessoren von Verbrauchern ausgerichtet ist, wie sie in den Produktionsumgebungen der Kunden eingesetzt werden. Wir haben zahlreiche Komponenten der Signalverarbeitungskette als Matrixtransformationen neu formuliert, um die Verwendung von gut abgestimmten Bibliotheken wie cuBLAS (Basic Linear Algebra Subprograms) und cuFFT (Fast Fourier Transformation) zu ermöglichen. Darüber hinaus haben wir uns darauf konzentriert, die Datenübertragungszeiten durch Überschneidungen von Daten- und Rechenoperationen zu verkürzen. Dazu wickeln wir unabhängige Teile des Bildes - sogenannte B-Scans - in CUDA-Streams ein und verarbeiten sie asynchron.

Für die Performance-Validierung unserer CUDA-Implementierung erstellen wir ein Performance-Modell, das Kernel-Laufzeiten und Datentransferlaufzeiten in einem solchen asynchronen Setup vorhersagt. Unser Leistungsmodell basiert auf bestehenden Ansätzen und Interpretationen und kombiniert diese für unseren realen Code.

Ergebnisse

Ausgangspunkt unserer Leistungsbewertungen ist die Original Serial Code Version mit dem Microsoft Visual Compiler (v14.0). Aufgrund der neuen algorithmischen Matrixformulierungen haben wir mit geringem zusätzlichen Aufwand auch parallele CPU-Versionen des Codes erstellt: Mit dem Microsoft Compiler haben wir OpenBLAS und mit dem Intel Compiler (v17.0) mit der Math Kernel Library (MKL) verwendet. Unsere neue CUDA-Implementierung wurde auf zwei NVIDIA Pascal Consumer GPUs (mit ähnlichen Ergebnissen) getestet. Um den Nutzen unserer Optimierungen in Bezug auf asynchrone und überlappende Operationen aufzuzeigen, stellen wir Performance-Ergebnisse der Code-Versionen CUDA_SYNC und CUDA_ASYNC vor.

Säulendiagramm mit der Laufzeit der Versionen CUDA-Sync und CUDA-Async

Liniendiagramm mit der Laufzeit der verschiedenen Versionen

Insgesamt erreicht unsere CUDA-Version (CUDA_ASYNC) selbst für den größten getesteten Datensatz ~50 Bilder/s und erfüllt damit unsere Anforderung an die Videobildrate. Dies bedeutet eine Beschleunigung von 8-16 gegenüber der seriellen MSVS-Version und eine Beschleunigung von 4-5 gegenüber der schnellsten parallelen CPU-Version. Unser entsprechendes GPU-Leistungsmodell steht im Einklang mit unseren Laufzeitmessungen (Abweichung unter 15 %) und prognostiziert, dass mit unserer Version CUDA_ASYNC noch dreifach große Bilder in Video-Frame-Rate verarbeitet werden können.

Code-Details

Code-Zeilen: ~6000 LOC für den verwendeten Testaufbau
Programmiersprachen & ‑modelle: C++, CUDA, OpenMP, BLAS Bibliotheken

Entwicklung & Zusammenarbeit

Tobias Schrödter, RWTH Aachen University
David Pallasch, Fraunhofer IPT, Aachen
Sandra Wienke, Christian Terboven, IT Center/ Lehrstuhl für High Performance Computing, RWTH Aachen University

Referenz

Schrödter T., Pallasch D., Wienke S., Schmitt R., Müller M.S. (2019) Modeling and Optimizing Data Transfer in GPU-Accelerated Optical Coherence Tomography. In: Mencagli G. et al. (eds) Euro-Par 2018: Parallel Processing Workshops. Euro-Par 2018. Lecture Notes in Computer Science, vol 11339. Springer, Cham