SCAPP-Option von Spectrum Schnellere Datenverarbeitung für Digitizer auf der GPU

Spectrum ermöglicht mit der neuen SCAPP-Option eine deutlich schnellere Datenverarbeitung während der Aufzeichnung, indem ein CUDA-basierter Prozessor genutzt wird. Das bietet Vorteile bei der Nutzung von schnellen Digitizern.

Aktuelle Digitizer führen durch hohe Datenraten zu riesigen Mengen an Daten. Durch eine Verarbeitung der Daten schon während der Aufzeichnung kann die Menge reduziert werden. Doch das scheitert oft an den Begrenzungen der CPU.

Bis jetzt gab es zwei grundsätzliche Arten, die hohen Datenmengen von schnellen Digitizern zu verarbeiten. Die übliche Methode ist die Nutzung der CPU des PCs. Ein Vorteil bei diesem Ansatz ist die Möglichkeit, eigene Datenverarbeitungsprogramme zu schreiben, mit jeder beliebigen Programmiersprache und ohne große zusätzliche Kosten. Nachteilig ist dabei allerdings, dass die CPU-Leistung die Möglichkeiten des Verarbeitungssystems begrenzt. Außerdem werden Kapazitäten der CPU auch für den restlichen PC, das Betriebssystem und die grafische Benutzeroberfläche benötigt.

Die zweite Methode ist die Nutzung von FPGA-Technologie, entweder mit festen Verarbeitungspaketen vom Anbieter (wie die »Block Average«-Pakete von Spectrum), oder mit einem offenen FPGA und einem Firmware-Development-Kit (FDK). Diese Methode bietet weitreichende Möglichkeiten, aber sie verursacht hohe Kosten und ist komplex. Große FPGAs sind kostspielig und benötigen ein FDK vom Anbieter des Digitizers sowie die entsprechenden Tools des FPGA-Herstellers. Zudem ist die Implementierung von Signalverarbeitung in ein FPGA eine anspruchsvolle Aufgabe, die einen hohen Kenntnisstand von VHDL bedingt. Dadurch kann die Inbetriebnahme des ganzen Systems stark verzögert werden. Zumal die Gefahr besteht, an die Grenzen des eingesetzten FPGAs auf der Karte zu stoßen. Ist z.B. der Block-RAM am Limit, ist keine weitere Verbesserung mehr möglich.

Spectrums SCAPP

Spectrum Instrumentation löst das Problem mit der neuen SCAPP-Option; die Abkürzung steht für »Spectrum’s CUDA Access for Parallel Processing«. Mit SCAPP kann ein CUDA-basierter Prozessor (GPU) der Grafikkarte direkt zwischen jedem Spectrum Digitizer und dem PC benutzt werden. Der große Vorteil: die vom Digitizer erfassten Daten werden direkt an die GPU geschickt, der mit bis zu 5000 Kernen eine viel schnellere parallele Verarbeitung bietet als die CPU des PCs mit nur 8 oder 16 Kernen. Die gesteigerte Leistungsfähigkeit ist besonders wichtig bei schnellen Digitizern mit 50 MSa/s, 500 MSa/s oder sogar 5 GSa/s.

Für SCAPP benötigt man nur eine typische Grafikkarte, die den CUDA-Standard vom führenden Grafikkarten-Hersteller Nvidia erfüllt. Die Spectrum Digitizerkarte liefert ihre aufgezeichneten Daten direkt an die GPU der Grafikkarte, ohne Interaktion der CPU des PCs. Nun steht die parallele Prozessorstruktur der GPU für die Verarbeitung der riesigen Menge an Messdaten zur Verfügung. Die GPU kann eine Vielzahl von Verarbeitungsvorgängen übernehmen, wie Datenkonvertierung, Filtern, Mittelwertbildung, Basislinien- Unterdrückung, FFT-Fenster-Funktionen oder FFTs.