Mehr Rechenleistung durch GPUs

CUDA und GPGPU im industriellen Umfeld

11. Februar 2019, 8:03 Uhr | Frank Riemenschneider
© EKF

Computerspiele sind Ressourcen-Fresser und Grafikkarten im PC wahre Giganten. Es entstand die Begehrlichkeit, diese Performance im Teraflop-Bereich auch im professionellen Umfeld zu nutzen. Für industrielle Anwendungen stellen CompactPCI-Systeme die geeignete Hardware-Plattform bereit.

Diesen Artikel anhören

Die Aufgaben einer Grafikkarte erfordern einen atemberaubend schnellen Zugriff auf den Bildspeicher mit relativ einfachen Operationen, diese jedoch möglichst auf viele Bildpunkte parallel ausgeführt. Daher ist der Grafikprozessor mit vielen gleichartigen Kernen ausgestattet, den sogenannten Streaming Multiprocessors (SMs). Jeder SM beinhaltet in der Regel acht Streaming-Processor-Cores plus Register und Unterstützungslogik. High-End-Grafikkarten erreichen so Rechenleistungen von 5-15 TFlops und damit ein Mehrfaches dessen, was die stärksten Intel-CPUs leisten können.

Um diese Rechenleistung generell für beliebige Berechnungen nutzen zu können, existieren verschiedene Programmiertools, so zum Beispiel OpenCL oder Cuda (Compute Unified Device Architecture). Mittlerweile spricht man allgemein von General Purpose Computation on Graphics Processing Unit, kurz GPGPU. Es gibt heute kaum ein Anwendungsgebiet, in dem die Rechenbeschleunigung durch die Parallelverarbeitung in der Grafikkarte nicht genutzt wird. Auf der GPU-Anwendungsseite von Nvidia findet sich von der Bioinformatik (Sequenzierung, Molekulardynamik) über Finanzmathematik (Kreditrisiko), Strömungsdynamik, medizinische Bildverarbeitung, Künstliche Intelligenz, Mustererkennung und Wetter- und Klimavorhersage alles, was hinlänglich als rechenintensiv bekannt ist.

Radar- und Lidar-Anwendungen

Doch es gibt auch Anwendungen, die auf den ersten Blick harmlos erscheinen und dennoch mehr und mehr ins Rampenlicht rücken: Radar-/Lidar-Anwendungen. Das Grundprinzip kennt jeder Leser der DESIGN&ELEKTRONIK: Ein hochfrequenter Impuls (z. B. mit 24 GHz) wird von einer Sendeantenne ausgestrahlt, von einem metallischen Objekt reflektiert und gestreut und trifft in Teilen als Echo auf eine Empfangsantenne. Aus der Laufzeit des Impulses hin und zurück und der Lichtgeschwindigkeit kann man die Entfernung errechnen. Unter Ausnutzung des Doppler-Effekts (Frequenzverschiebung des Sendesignals) kann darüber hinaus auf die Relativbewegung von Sender und Objekt geschlossen werden. Die dahinterstehende Mathematik erfordert im Wesentlichen die Frequenzanalyse des Empfangssignals, die Domäne der diskreten Fouriertransformation. Die schnelle Fouriertransformation (FFT), zum Beispiel mit dem Butterfly-Algorithmus, ist ein Musterbeispiel für einen parallelen Algorithmus, der sich hervorragend in der Programmiersprache C-for-Cuda realisieren lässt. Dann bestimmt die zur Verfügung stehende Rechenleistung für diesen Algorithmus die verschiedenen Auflösungsparameter der Radarbilder.

Radar oder die Variante Lidar sind in der Sicherheitstechnik bei der Analyse und Beobachtung von beweglichen Objekten unverzichtbar. Die Überwachung der Bodenbewegungen, auch und gerade auf parallel verlaufenden Runways in Kombination mit dem dazugehörigen Luftraum ist zum Beispiel eine der Hauptsicherheitsfunktionen im Flughafenbetrieb. Die dazugehörige Technik ist dabei antennennah und damit oftmals im Außenumfeld in Containern untergebracht. Und mit den zukünftigen autonom fahrenden Fahrzeugen im Individualverkehr ist die Umfeldanalyse zu einer der wichtigsten KI-Forschungsgebiete geworden, die eine Kombination verschiedenster elektromagnetischer und optischer Sensoren auswerten und verarbeiten muss.

Ein weiteres Anwendungsgebiet paralleler Algorithmen ist das Gebiet der Mustererkennung, und diese wiederum ist für alle KI-Anwendungen unverzichtbar, sei es die Analyse des Einkaufs verdächtiger chemischer Substanzen, die Beurteilung gefährlicher Situationen oder bei der automatisierten Mülltrennung. Neuronale Netze lassen sich eben hervorragend auf einer parallelen Rechnerarchitektur implementieren. Auch hier erfordern die Anwendungsorte oftmals robuste Industrierechner, spezielle Temperaturbereiche, besonders stabile Stromversorgungen oder einfach die Integration weiterer Messwerte aus dem Feld.

CompactPCI 

Es war naheliegend auch für den Industriecomputerhersteller EKF, das Thema GPGPU frühzeitig aufzugreifen und die Technologie Cuda von Nvidia in das Baugruppenprogramm zu integrieren. Mittlerweile ist die Technologie bei etlichen Kunden in verschiedensten Applikationen im Einsatz.

Wichtigster Baustein zur Realisierung ist die SV2-Movie, eine Peripheriebaugruppe, die ein Grafikmodul MXM 3.0/3.1 in ein CompactPCI-Serial-System integriert. Diese Baugruppe verfügt über 4 Displayports, die für GPGPU-Anwendungen aber nicht genutzt werden (müssen). Auf diesem Trägerboard können zum Beispiel Nvidia GTX 1070 Pascal oder Nvidia Quadro P3000/P5000-Baugruppen betrieben werden.

Für die Nutzung als Cuda-System war eine umfangreiche Bios-Anpassung notwendig, damit sich das Subsystem nahtlos in das CompactPCI-System einfügt. Dabei wurde die Cuda-Unterstützung von bis zu vier SV2-Movie implementiert, sodass eine Rechenleistung von über 25 TFlops je CompactPCI-CPU bereitgestellt werden kann.

Wer Rechenleistung satt braucht, und das auf kleinstem Raum, in ungünstiger Umgebung oder integriert in ein mobiles Sys-tem oder in einem Schaltschrank, dazu Unterstützung von einem deutschen Hersteller mit langjähriger Erfahrung im industriellen Umfeld schätzt, kann sich das beschriebene System ja einmal anschauen.

Dipl.-Inform. Wolfgang K. Weber

passend zum Thema


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu EKF Elektronik GmbH