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.