NVIDIA cuPhoton hält wissenschaftliche Bilddaten vom Sensor bis zur Entscheidung auf der GPU

NVIDIA hat cuPhoton veröffentlicht, ein quelloffenes CUDA-X-Toolkit, das Bilddaten vom Auslesen des Sensors bis zur Klassifizierung auf der GPU hält. Laut NVIDIA werden dadurch Auswertungen, die in CPU-zentrierten Pipelines Monate dauern, bei repräsentativen Multi-GPU-Workloads zu einer Sache von Minuten.
- NVIDIA cuPhoton ist ein quelloffenes CUDA-X-Toolkit, das Bilddaten vom Auslesen des Sensors bis zur Klassifizierung auf der GPU hält.
- NVIDIA nennt bei repräsentativen Multi-GPU-Workloads bis zu 14.900-fach schnelleres Laden von Bildern und bis zu 14.550-fach schnellere Signalverarbeitung gegenüber einer x86-CPU-Basislinie.
- Die Beschleunigungen gelten für einzelne Operationen, nicht für eine komplette Pipeline von Anfang bis Ende.
- Die LSSTCam des Vera C. Rubin Observatory liefert pro Nacht bis zu 20 TB an Bildern und 10 Millionen Kandidatenobjekte.
- cuPhoton 0.1.3 unterstützt Python 3.12 bis 3.14 und CUDA 13 unter Linux.
Ein GPU-Pfad für die gesamte Pipeline
Der Engpass in der Hochdurchsatzforschung ist nach Darstellung von NVIDIA selten ein einzelner langsamer Kernel. Es ist der gesamte Weg vom Sensor zur Entscheidung: Rohdaten lesen, Punktspreizfunktionen (PSF) oder Detektorantworten abgleichen, subtrahieren oder reduzieren, fitten, klassifizieren und Alarme auslösen. Sternwarten, Teleskope, Laser und Röntgenlichtquellen erzeugen Bilddaten schneller, als CPU-gebundene Pipelines sie verarbeiten können. Bei CPU-zentrierten Implementierungen kann es laut NVIDIA Stunden bis Monate, mitunter ein Jahr oder länger dauern, bis aus Daten, die ein Instrument in Sekunden geliefert hat, brauchbare Ergebnisse entstehen.
cuPhoton soll nicht nur einen einzelnen Schritt beschleunigen, sondern jede Stufe abdecken. Die Anwendungsfälle reichen von der spektralen und optischen Astronomie bis zur zeitaufgelösten Laser- und Röntgenanalyse. Das Toolkit umfasst xDataReader zum direkten Laden von FITS-Dateien, xRep zur Bildausrichtung, xPois für PSF-Abgleich und Subtraktion, xFit für das Dipol-Fitting und xScan zur Prüfung von Kandidaten. Hinzu kommt xRay für die zeitaufgelöste Analyse von Röntgendetektoren.
Das Beispiel des Vera C. Rubin Observatory
Als Paradebeispiel dient NVIDIA das NSF-DOE Vera C. Rubin Observatory. Nach Einbruch der Dunkelheit nimmt die LSSTCam alle 39 Sekunden eine neue Aufnahme des südlichen Himmels mit 3,2 Gigapixeln auf. Die Prompt-Processing-Pipeline vergleicht jedes Bild mit einer Referenzvorlage derselben Himmelsregion. Innerhalb von etwa 60 bis 120 Sekunden muss sie rund 10.000 Detektionen als astrophysikalische Transienten oder als Artefakte wie kosmische Strahlung, Satellitenspuren und Verarbeitungsfehler einstufen. Über eine Nacht summiert sich das auf bis zu 20 Terabyte an Bildern und 10 Millionen Kandidatenobjekte.
cuPhoton skaliert über Multi-GPU- und Multi-Node-Systeme mit NVIDIA Grace Blackwell und NVIDIA Vera Rubin. Bei repräsentativen Workloads mit Hunderten Terabyte an Daten auf mehreren GPUs hat NVIDIA nach eigenen Angaben das Laden und Lesen von Bildern um bis zu 14.900-fach und die Signalverarbeitung um bis zu 14.550-fach beschleunigt. Außerdem sei eine Datenanalyse, die zuvor neun Monate dauerte, mit GPU-beschleunigtem Python in vier Stunden gezeigt worden. Bei Datensätzen im Kilobyte-Bereich läuft die gesamte Pipeline im Millisekunden- oder sogar Mikrosekundenbereich.
NVIDIA weist auf eine Einschränkung hin: Die Beschleunigungen vergleichen einzelne Operationen mit einer x86-CPU-Basislinie, gemessen auf NVIDIA GB200 NVL72 mit 1, 32 und 64 GPUs. Sie sind keine Beschleunigung der gesamten Pipeline von Anfang bis Ende, und die Spitzenwerte schwanken je nach Workload, Datensatz, Implementierung und Hardware.
Den Workflow ausprobieren
Die begleitende Anleitung arbeitet mit einem physikalisch motivierten synthetischen Paar astronomischer Bilder, das klein genug ist, um auf NVIDIA DGX Spark oder einer Workstation mit einer GPU zu laufen. Die Schritte sind:
- Die aktuelle Aufnahme und die Referenzdaten in den GPU-Speicher laden.
- Beide Aufnahmen auf einem gemeinsamen Himmelsraster ausrichten, sodass derselbe Stern auf demselben Pixel liegt.
- Die Punktspreizfunktionen der beiden Bilder angleichen und anschließend die Referenz abziehen. Ein bewegtes Objekt hinterlässt ein gepaartes Muster aus positiven und negativen Pixeln, einen sogenannten Dipol.
- Ein Dual-PSF-Modell an den Dipol fitten, um die Positionen des bewegten Objekts zu schätzen.
- Den PSF-Angleichungskernel, das Subtraktionsresiduum und den rekonstruierten Dipol visualisieren.
cuPhoton 0.1.3 unterstützt Python 3.12 bis 3.14 und CUDA 13 unter Linux. Der Setup-Befehl richtet eine fixierte Umgebung auf Basis von CuPy, PyTorch, Numba-CUDA, KvikIO und NVIDIA nvCOMP ein, dazu die Visualisierungsbibliotheken Bokeh und Pillow. Der FITS-Reader benötigt eine native Erweiterung, für die ein C++17-Compiler, CUDA- und cuFile-Entwicklungsheader sowie eine reentrante CFITSIO-Installation erforderlich sind. Das Repository enthält die cuPhoton-CLI und ein Skript zur Erzeugung synthetischer Eingabedaten.
Was das für Forschende bedeutet
NVIDIA verspricht einen engen Kreislauf, den Forschende interaktiv durchlaufen können. Das verkürzt die Zeit bis zur Erkenntnis und soll Einrichtungen helfen, mit dem Output ihrer Instrumente Schritt zu halten. Derselbe Workflow skaliert von der Einzel-GPU-Workstation bis zu Multi-GPU-Clustern, wobei vollständige Bildpaare und Kandidatenkoordinaten auf GPU-Worker verteilt werden, während die Arrays auf dem Gerät bleiben. Teams mit großen Bilddatensätzen können die Aussagen auf eigener Hardware prüfen, sollten dabei aber bedenken, dass sich die Spitzenwerte auf einzelne Operationen und nicht auf ganze Pipelines beziehen.
NVIDIA Developer: Faster Scientific Image Analysis with NVIDIA cuPhoton


