​Test der Hardwarebeschleunigung von Testsystemen mit GPUs und NI LabVIEW

Überblick

​Moderne Testsysteme erfordern hochdurchsatzfähige Verarbeitung, und GPUs bieten eine leistungsstarke Lösung mit massiver Parallelität, ideal für Signalverarbeitung, Bildanalyse und KI-Inferenz. LabVIEW ermöglicht in Kombination mit Toolkits von Drittanbietern wie Ngene, Graiphic und G²CPU eine nahtlose GPU-Beschleunigung ohne steile Lernkurven.

 

​Ingenieure können GPUs über RADX PXI Express (PXIe)-Module, MXI Express (MXIe)-Erweiterungen oder vernetzte GPU-Server in ihre Testsysteme integrieren, wodurch Testgeschwindigkeit und Systemskalierbarkeit erheblich steigen. Mit intuitiven Werkzeugen und flexiblen Bereitstellungsoptionen ist die GPU-Beschleunigung nun innerhalb der NI-Plattform zugänglich, was schnellere, skalierbare und zukunftsfähige Testabläufe ermöglicht.

Inhalt

Warum ist Hardwarebeschleunigung für moderne Testsysteme unerlässlich?

Dieses Whitepaper untersucht den strategischen Einsatz von GPUs als Hardwarebeschleuniger, um den steigenden Anforderungen rechenintensiver Testanwendungen gerecht zu werden. Da Industrien zunehmend auf hochdurchsatzfähige Verarbeitung setzen, um die Testeffizienz zu steigern, wird skalierbares Hochleistungsrechnen unerlässlich. GPUs bieten dank ihrer massiven Parallelität und Tausenden von Kernen erhebliche Vorteile gegenüber herkömmlichen CPUs und sind daher ideal für Aufgaben wie Bild- und Signalverarbeitung, Deep-Learning-Inferenz und Matrixberechnungen.

Durch die Integration von GPUs mit NI LabVIEW und die Nutzung kompatibler Hardware und Toolkits kann die GPU-Beschleunigung effektiv umgesetzt und nahtlos in bestehende Testsysteme integriert werden. Dieser Ansatz stellt Ingenieuren und Systemarchitekten ein intuitives Framework zur Verfügung, um die Hardwarebeschleunigung in ihren Arbeitsabläufen zu maximieren. Die Wahl der richtigen Hardwareplattform bietet Vorteile wie höhere Verarbeitungsgeschwindigkeit, geringere Latenz, verbesserte Energieeffizienz und skalierbare Leistung für zukünftige Anwendungen.

 

Wie schneiden GPUs im Vergleich zu FPGAs und CPUs für Test- und Messanwendungen ab?

GPUs zeichnen sich durch ihre unvergleichliche parallele Verarbeitung bei Aufgaben mit neuronalen Netzen, Bildverarbeitung und Simulationen aus. Die Vorteile der GPU-Parallelität zeigen sich jedoch nur im großen Maßstab, da das Auslagern von Aufgaben auf GPUs mit kostspieligen Datenübertragungen, Synchronisation zur Datensicherung und Verzögerungen beim Kernelstart verbunden ist. GPUs sind für kleine Datensätze mit geringem Volumen und hoher Variabilität bei Berechnungen nicht gut geeignet.

FPGAs bieten eine anpassbare Architektur, die ideal für deterministische Systeme wie Embedded-Systeme und Echtzeit-Signalverarbeitung ist. Sie bieten optimierte Verarbeitungsumgebungen und energiesparende Lösungen, die für KI-Modelle mit Leistungsbeschränkungen entscheidend sind. Die Programmierung von FPGAs für optimale Leistung ist jedoch mit erheblichem Aufwand verbunden.

Allzweckprozessoren verfügen typischerweise über eine geringere Anzahl von Rechenkernen, wobei jeder Kern seine eigene Steuereinheit besitzt, was Flexibilität und Kontrolle ermöglicht. CPUs legen im Vergleich zu GPUs einen stärkeren Fokus auf Steuereinheiten, was eine Kontextumschaltung auf Einzelkernbasis erlaubt.

Die modularen Plattformen von NI verwenden CPUs für Flexibilität und komplexe Steuerlogik sowie FPGAs für Determinismus und präzise Steuerung. Durch die Hinzufügung von GPUs wird nun eine dritte Säule durchsatzorientierter Beschleunigung etabliert. 

 

GPU-Beschleunigung in LabVIEW mit Toolkits von Drittanbietern

LabVIEW bietet leistungsfähige native Funktionen und eine breite Palette integrierter Features für vielfältige Anwendungen; dies wird durch Toolkits von Drittanbietern ergänzt, die eine einfache Integration von GPU-Beschleunigung ermöglichen. Diese Toolkits sind intuitiv und ähneln nativem LabVIEW, wodurch die Lernkurve für Entwickler reduziert wird. Sie fügen spezialisierte Funktionen für die GPU-Nutzung hinzu und helfen Anwendern, die GPU-Leistung zu nutzen, ohne alle Komponenten von Grund auf neu programmieren zu müssen. In diesem Abschnitt werden drei bedeutende Drittanbieter-Toolkits im NI-Ökosystem vorgestellt, die GPU-Beschleunigung für verschiedene Anwendungen erleichtern, wobei der Fokus auf deren Funktionen und effektiven Architekturen zur Erfüllung hoher Leistungsanforderungen liegt.

Das Ngene CuLab Toolkit

Moderne technische und wissenschaftliche Anwendungen erfordern erhebliche Rechenleistung, insbesondere in Bereichen wie RF-Signalverarbeitung, Echtzeitüberwachung und -analyse, wissenschaftliches Rechnen und Modellierung sowie industrielle Bildverarbeitung. Obwohl GPUs aufgrund ihrer Parallelität ideal für diese Aufgaben sind, fehlt LabVIEW bisher eine native Unterstützung für GPU-Beschleunigung, was für Ingenieure ohne Erfahrung in CUDA oder C++ eine Herausforderung darstellt.

Das Ngene CuLab Toolkit schließt diese Lücke, indem es eine leistungsstarke Lösung zur GPU-Beschleunigung bietet, die direkt in LabVIEW integriert ist. Es verfügt über eine LabVIEW-ähnliche API, die es Ingenieuren ermöglicht, Berechnungen ohne komplexe Programmierung zu beschleunigen. CuLab vereinfacht die Integration, bietet umfassende GPU-beschleunigte Funktionen und zeigt eine überlegene Leistung, die im Durchschnitt 6-mal schneller als Python-Frameworks wie CuPy ist.

CuLab bietet mehrere wesentliche Vorteile. Es integriert sich nahtlos mit einer LabVIEW-ähnlichen API und bietet eine mehr als 100-fache Verbesserung1 bei Datenverarbeitungsaufgaben im Vergleich zum Baseline-LabVIEW auf einer CPU. Die Plattform umfasst mehr als 150 GPU-beschleunigte Funktionen zur effizienten Verarbeitung multidimensionaler Arrays und aller numerischen Datentypen.

CuLab-GPU im Vergleich zu CPU im Blockdiagramm

Abbildung 1. Dieses Programm zeigt die Ähnlichkeit zwischen nativen LabVIEW- und CuLab-Implementierungen.

Die Funktionalität von CuLab ist umfangreich und orientiert sich an nativen LabVIEW-Funktionen. Die umfangreiche Funktionsliste umfasst Vektor- und Matrixoperationen, lineare Algebra, Signalverarbeitung, Computer Vision, mathematische Funktionen und logische Operationen.

Das Graiphic SOTA Toolkit

Das SOTA-Ökosystem für LabVIEW von Graiphic bietet erweiterte GPU-Beschleunigungsfunktionen als Alternative zu Deep-Learning-Frameworks wie PyTorch und TensorFlow. Es verwandelt LabVIEW in einen universellen Graph-Editor und Orchestrator mit erweiterter ONNX-Unterstützung für Training und Berechnung auf vielfältiger Hardware. Mit sowohl High-Level- als auch Low-Level-Abstraktionen richtet es sich an Ingenieure, die eine einfache Bereitstellung benötigen, und Forscher, die detaillierte Kontrolle über eine breite Palette von Deep-Learning-Anforderungen suchen.

Graiphische Beschleunigerpalette

Abbildung 2: Die Accelerator-Palette zielt darauf ab, den vollen Umfang der Standardfunktionen von LabVIEW abzudecken. Sie verwaltet effektiv die dynamische Orchestrierung und bietet ausgezeichnete Flexibilität zur Unterstützung verschiedener Ausführungsanbieter. Eine öffentliche Referenzkarte zeigt die Abdeckung von Nodes über mehrere Backends hinweg.

 

SOTA konkurriert mit bestehenden Frameworks durch ein umfassendes Funktionsangebot, verallgemeinert durch das Accelerator Toolkit, das die LabVIEW-Funktionspalette für die Orchestrierung von Rechengraphen via ONNX erweitert. 

Zu den Hauptkomponenten des SOTA-Ökosystems gehören das Deep Learning Toolkit für Training und Inferenz, das Computer Vision Toolkit für Bildverarbeitung, das GenAI Toolkit für transformerbasierte Modelle sowie das bereits erwähnte Accelerator Toolkit. Die Toolkits dieser Umgebung zeichnen sich in den Bereichen Computer Vision, Deep Learning, GenAI und Reinforcement Learning aus; die nahtlose ONNX-Integration optimiert die Leistung auf allen Hardwareplattformen. Es demokratisiert die KI-Entwicklung durch visuelle Datenflussprogrammierung, sodass Nutzer ohne Programmierkenntnisse komplexe Workflows erstellen können.

SOTA optimiert die Datenbeschriftung, das Training von KI-Modellen, deren Feinabstimmung und die Bereitstellung auf heterogener Hardware.

LabVIEW G²CPU High-Performance Compute Toolkit von Natan Biesmans

G²CPU bietet ein Hochleistungs-Computing-Toolkit für LabVIEW, das plattformunabhängige Codeausführung über CPUs, NVIDIA CUDA GPUs, OpenCL-Geräte und das gesamte NI-Ökosystem ermöglicht. Basierend auf der Open-Source-ArrayFire-Bibliothek vereinfacht es den Backend-Wechsel für langfristige Stabilität.

Vorteile im Überblick

  • Einheitliche Backend-Abstraktion – Programmcode einmal schreiben und ohne Änderung auf CPUs, CUDA und OpenCL ausführen, was die Flexibilität erhöht. Dieses Toolkit kann im gesamten NI-Ökosystem eingesetzt werden, einschließlich Geräten mit Windows und Linux, dem LabVIEW Real-Time Module, PXI und Industriecomputern.
  • Nahtlose Integration – Funktionen entsprechen den nativen LabVIEW-Operationen, was die Integration bei minimaler Lernkurve erleichtert. Fehlersuche wird mittels Sonden unterstützt, die Daten über verschiedene Rechen-Backends direkt in der LabVIEW-Umgebung untersuchen können.
  • Hohe Codeflexibilität – Selbst komplexeste Algorithmen können auf GPUs implementiert werden, während man in der nativen LabVIEW IDE bleibt.
  • Hohe Leistung – Erreicht bis zu 200-fache Geschwindigkeitssteigerungen2 bei intensiven Aufgaben, mit GPU I/O-Geschwindigkeiten von 7 GB/s auf NI PXI und über 22 GB/s auf modernen Systemen. Es unterstützt Sub-1-ms-Schleifen im NI LabVIEW Real-Time Module für zeitkritische Anwendungen. 

 

In G²CPU geschriebener Linear Fit Algorithmus

Abbildung 3. Dieses Programm zeigt einen vollständig in G²CPU geschriebenen Algorithmus zur linearen Anpassung. Beachten Sie die Ähnlichkeit mit nativen LabVIEW-Funktionen.

Das Software-Toolkit bietet eine umfassende Suite leistungsfähiger Funktionen für diverse Aufgaben wie Mathematik, Signalverarbeitung, maschinelles Sehen, UI-Beschleunigung und vieles mehr – nutzbar auf jeder GPU und jedem Betriebssystem. Es bietet Hochgeschwindigkeits-Datenübertragungsfunktionen, die eine nahtlose Integration mit Geräten wie dem NI PXI-Vektorsignal-Transceiver (VST), NI FPGA-fähiger Hardware und NI Framegrabbern sowie vielen anderen ermöglichen. G²CPU ist ein hochflexibles und leistungsstarkes Toolkit, das durch benutzerdefinierte GPU-Kernel und Toolkits von Drittanbietern erweitert werden kann, was eine nahtlose Integration mit Toolkits wie NVENC, LibTorch, OpenCV und vielen anderen ermöglicht. G²CPU ist die ideale Lösung für Entwickler, die außergewöhnliche Leistung bei einer unabhängigen Entwicklung in jeglichem Bereich benötigen.

Anschluss einer GPU an NI-Hardware

Dieser Abschnitt behandelt die Verbindung zu einem GPU-Server sowie PXI Express- zu MXI Express-Konfigurationen.

Netzwerkverbindung zu einem GPU-Server

Die Verbindung zu einem GPU-Server kann effizient über Netzwerkkarten (NICs) und intelligente NICs erfolgen, die erweiterte Funktionen für optimierte Netzwerkleistung bieten. Intelligente NICs integrieren CPU- und GPU-Komponenten, um anspruchsvolle Rechen- und Parallelverarbeitungsaufgaben zu unterstützen. Sie lagern die Netzwerkverarbeitung intelligent aus, um den Overhead zu reduzieren und die Effizienz des Datenflusses zum GPU-Server zu erhöhen. Intelligente NICs verbessern die Datenverarbeitung über Netzwerke und unterstützen verteilte Rechenanwendungen mit bis zu 25 GB/s Bandbreite für eine effektivere Nutzung von vernetzten GPU-Ressourcen. Andere NI-Hardware, einschließlich NI CompactRIO und NI CompactDAQ Systemen, kann Ethernet- oder USB-Netzwerkverbindungen zur Anbindung und Nutzung von GPU-Server-Ressourcen verwenden. 

PXI-Chassis mit externem GPU-Server verbunden

Abbildung 4: Ein PXI-Chassis ist über eine NIC oder Smart NIC mit einem externen GPU-Server vernetzt, um schnelle, beschleunigte Berechnungen zu ermöglichen.

PXI Express zu MXI Express

PXIe-zu-MXIe-Konfigurationen sind vorteilhaft für Systeme, die externe GPU-Fähigkeiten benötigen, insbesondere im Hochleistungsrechnen. Durch die Verbindung von PXIe-Chassis mit MXIe-Schnittstellen können Benutzer leistungsstarke externe GPUs nutzen, wodurch die Rechenkapazität über lokale Hardwaregrenzen hinaus erhöht wird. Diese Konfiguration ist ideal für beengte Räume und Szenarien, die mehrere GPUs in verschiedenen Systemen für Aufgaben wie groß angelegte Datenverarbeitung, KI-Entwicklung oder Simulationen benötigen. Die MXIe-Schnittstelle der 3. Generation unterstützt Datenübertragungsraten von 16 GB/s, reduziert Engpässe und ermöglicht es anspruchsvollen Anwendungen, externe GPU- oder GPU-Server-Ressourcen effizient zu nutzen.

PXIe-Chassis über MXIe-Erweiterung mit GPU-Server verbunden

Abbildung 5. Ein PXIe-Chassis wird über eine MXIe-Erweiterung mit einem GPU-Server verbunden, was hohe Bandbreiten für beschleunigte Verarbeitung und fortgeschrittene Berechnungen ermöglicht.

RADX- und NI-Hardwareplattformen

RADX Technologies Inc. bietet handelsübliche (COTS) PXI Express GPU-Module an, die für das NI-Ökosystem entwickelt wurden und sich von NI-Angeboten unterscheiden. Diese Module basieren auf NVIDIA Turing-, Ampere- und Ada-GPUs und lassen sich nahtlos in PXI-Express-Chassis wie das NI PXIe-1092 oder NI PXIe-1095 integrieren, um die Rechenleistung in Test- und Messumgebungen zu erhöhen. RADX PXIe-GPUs unterstützen zahlreiche Anwendungen wie Datenerfassung und maschinelles Lernen, mit Tools wie LabVIEW und Python, ohne separate GPU-Server zu benötigen.

Die in-chassis GPUs von RADX Technologies bieten 1,7 bis 30,3 FP32 TFLOPS mit 4 bis 24 GB Speicher. Diese Systeme können jedoch aufgrund fehlender Peer-to-Peer-Kommunikation zwischen GPUs mit Datenengpässen rechnen, außer bei Verwendung von Linux. Techniken wie Zero Copy sind erforderlich, um diese Einschränkungen zu mindern, die GPU-Fähigkeiten vollständig zu nutzen und Engpässe abzumildern. RADX-GPUs sind für NI-Systeme qualifiziert und werden häufig mit G²CPU für GPU-beschleunigte LabVIEW-Signalverarbeitung kombiniert.

RADX-PXIe-kompatible GPU-Module

Abbildung 6: RADX-PXIe-kompatible GPU-Module und Angebote

Zusammenfassung und Schlüsselerkenntnisse

Abschließend lässt sich sagen, dass GPUs aufgrund ihrer außergewöhnlichen Leistung und Programmierbarkeit zunehmend von Testingenieuren zur Beschleunigung von Tests eingesetzt werden. Ihre massive Parallelität und skalierbare Rechenleistung machen sie ideal für datenintensive Anwendungen wie Signalverarbeitung, Bildverarbeitung, Simulationen und modellbasierte Steuerung. Aufgrund ihres hohen Datenbedarfs bleiben GPUs jedoch eine Nischenergänzung für geeignete Workflows.

Die Integration der GPU-Beschleunigung in das NI-Ökosystem mit PXI Express-kompatiblen Partner-GPUs und LabVIEW-Toolkits demokratisiert die GPU-Nutzung für Testingenieure, indem sie eine flexible und leistungsfähige Ergänzung zu bestehenden Arbeitsabläufen bietet. Diese Integration in vertraute Umgebungen senkt die Einstiegshürde und ermöglicht schnelleres Prototyping, effizienten Datendurchsatz und bessere Systemskalierbarkeit.

Das Verständnis für den effektiven Einsatz von GPUs verschafft Test- und Messunternehmen einen Wettbewerbsvorteil bei der Entwicklung zukunftssicherer Systeme. Das Erkennen von GPU-Leistungssteigerungen, der Einsatz geeigneter Werkzeuge und die Identifikation rechenintensiver Aufgaben gehören zu den wichtigsten Schritten.

1 Sehen Sie sich eine aufgezeichnete Demo an, die zeigt, wie CuLab (GPU Toolkit für LabVIEW) RF-RTSA-Anwendungen beschleunigt.

2 Weitere Informationen finden Sie auf g2cpu.com

 

AnwendungsbereichBereiche, in denen GPUs Vorteile bieten
RF-Aufnahme und Wiedergabe/SpektrumanalyseEchtzeit-Multi-Gigahertz-FFT, Polyphasen-Kanalisierer und Spektrogramm-Rendering
Hochgeschwindigkeits-Vision/bildbasierte InspektionFaltungsneuronale Netze (CNNs) und klassische OpenCV-Filter verarbeiten Hunderte von Bildern pro Sekunde
Umfangreiche SignalverlaufsanalyseBatch-Verarbeitung von Millionen Signalverläufen mit Filtern, Korrelationen oder Deep-Learning-Anomalieerkennung

 

Tabelle 1. Nutzung der Leistungsfähigkeit von GPUs für Aufgaben in wichtigen Anwendungsbereichen

EigenschaftCPUFPGAGPU
Geeignet fürZweiglastige, sequentielle Logik; Betriebssystemdienste, kleinere AI/ML-Workloads (im Bereich von Hunderten GFLOPs)Latenz im Nanosekundenbereich; benutzerdefinierte I/O-ProtokolleParallele Mathematik im Teraflop- bis Petaflop-Bereich; AI/ML-Workloads
Determinismus10 µs–ms Jitter (präemptives Betriebssystem)Zyklengenaue Ausführung; deterministisches Timing auf HardwareebeneMäßiger Jitter; deterministische Ausführung innerhalb gestarteter Kernel
EntwicklungsablaufC/C++, LabVIEW RT, PythonLabVIEW FPGA, VHDL/Verilog, HLSCUDA/HIP, LabVIEW GPU Toolkits, Python (Numba/CuPy)
Kosten der NeuausrichtungKeineHoch (Synthese, Timing-Schließung)Niedrig (Kernel in Sekunden neu kompilieren)
Typischer Einsatz in Test und MessungSequenzierung, Host-Benutzeroberfläche, DatenprotokollierungPräzises Timing, benutzerdefinierte Triggerung, Inline-FilterungFFTs, Spektrogramme, Deep-Learning-Inferenz, große Matrixoperationen

 

Tabelle 2: Auswahl der richtigen Engine: CPU, GPU oder FPGA?