NVIDIA cuPhoton beschleunigt die Analyse astronomischer Bilder mit einem GPU-nativen Pipeline-Ansatz

  • PublicPublic
  • 07 Oct, 2026
NVIDIA cuPhoton beschleunigt die Analyse astronomischer Bilder mit einem GPU-nativen Pipeline-Ansatz

Hochdurchsatz-Wissenschaftsinstrumente wie Observatorien, Teleskope und Röntgenlichtquellen erzeugen Bilddaten mit Raten, die die Verarbeitungsfähigkeiten von CPU-gestützten Pipelines überschreiten. Der rechnerische Engpass liegt selten in einem einzelnen langsamen Kernel, sondern vielmehr im gesamten Weg von den rohen Sensordaten bis zur wissenschaftlichen Entscheidung, der das Einlesen von Daten, das Abgleichen von Punktverteilungsfunktionen, das Subtrahieren von Hintergründen, das Anpassen von Modellen und die Klassifikation von Objekten umfasst. Moderne Anlagen akkumulieren pro Kampagne Petabytes multidimensionaler Daten, und CPU-first-Implementierungen können Stunden bis Monate in Anspruch nehmen, um nützliche Ergebnisse aus Daten zu liefern, die in Sekunden erzeugt wurden. Diese Verzögerung behindert rechtzeitige wissenschaftliche Erkenntnisse. NVIDIA cuPhoton löst dieses Problem, indem es einen GPU-nativen Weg bereitstellt, der jede Stufe von der Sensorauslesung bis zur Klassifizierung abdeckt, die Wartezeit auf Sekunden verkürzt und es Forschern ermöglicht, enge interaktive Schleifen auszuführen.

NVIDIA cuPhoton ist ein quelloffenes NVIDIA CUDA-X-Toolkit, das aus GPU-beschleunigten Bausteinen für die spektrale und optische Astronomie sowie für die Laser- und Röntgenanalyse im Zeitbereich besteht. Indem es Bilddaten von der ersten Sensorauslesung bis zur finalen Klassifizierung auf der GPU belässt, reduziert das Toolkit die Latenz erheblich. Die NSF-DOE Vera C. Rubin Observatory beispielsweise nimmt nach Einbruch der Dunkelheit alle 39 Sekunden eine neue 3,2-Gigapixel-Exposition auf. Ihr Prompt-Processing-Pipeline muss etwa 10.000 Detektionen innerhalb von 60 bis 120 Sekunden als astrophysikalische Transienten oder Artefakte klassifizieren. In einer einzelnen Nacht entspricht dies bis zu 20 Terabyte an Bildern und 10 Millionen Kandidatenobjekten. cuPhoton skaliert auf Multi-GPU- und Multi-Node-Systeme von NVIDIA Grace Blackwell und Vera Rubin und beschleunigt das Laden von Bildern um bis zu 14.900x und die Signalverarbeitung um bis zu 14.550x bei repräsentativen Workloads, die Hunderte von Terabyte umfassen.

Komponenten des NVIDIA cuPhoton-Toolkits
Komponenten des NVIDIA cuPhoton-Toolkits

Das Toolkit umfasst fünf Hauptkomponenten für den Imaging-Workflow: xDataReader, xRep, xPois, xFit und xScan, sowie xRay für die Analyse von Röntgendetektoren im Zeitbereich. Für die Einrichtung müssen Sie das Repository klonen und eine gesperrte Linux-Umgebung mit dem Befehl uv sync --locked --extra dev --extra gpu --extra viz bereitstellen. Diese Umgebung unterstützt das NVIDIA CUDA 13-Ökosystem, einschließlich CuPy, PyTorch, Numba-CUDA, KvikIO und NVIDIA nvCOMP, sowie Visualisierungsbibliotheken wie Bokeh und Pillow. cuPhoton Version 0.1.3 unterstützt Python 3.12 bis 3.14 auf Linux. Der Build der xDataReader-Komponente aus dem Quellcode erfordert einen C++17-Compiler, CUDA- und cuFile-Entwickler-Header sowie eine reentrant CFITSIO-Entwicklerinstallation. Das vollständige Workflow-Skript ist im Repository für automatische Läufe oder die interaktive Verwendung in Jupyter-Notebooks verfügbar.

(Obere Leiste) Jede Nacht erfasst der Teleskop der Vera Rubin Observatory 20 TB an Daten (Quelle: Rohbilder von NSF-DOE Vera C. Rubin Observatory/NOIRLab/SLAC/AURA, mit KI bearbeitet).
(Obere Leiste) Jede Nacht erfasst der Teleskop der Vera Rubin Observatory 20 TB an Daten (Quelle: Rohbilder von NSF-DOE Vera C. Rubin Observatory/NOIRLab/SLAC/AURA, mit KI bearbeitet).

Das Modul xDataReader beschleunigt das Laden von Dateien im Flexible Image Transport System (FITS)-Format direkt auf die GPU und umgeht die herkömmlichen Overheads für CPU-Parsing und PCIe-Übertragung. Es verteilt die Arbeitslast: CFITSIO plant die Byte-Bereiche auf der CPU, KvikIO liest sie über GPUDirect Storage (wenn verfügbar) ein und nvCOMP dekomprimiert GZIP-Kacheln auf der GPU. Die öffentliche API-Funktion batch_to_device gibt gestapelte CuPy-Arrays zurück und unterstützt unkomprimierte Bild-HDUs mit 2 bis 16 Achsen sowie zweidimensionale Bilder mit Kachelkompression GZIP_1 oder GZIP_2. Rice-Kompression und dithered Floating-Point-Quantisierung werden nicht unterstützt. Für Bilder im primären HDU müssen Benutzer hdu_indices=(0,) übergeben, während standardmäßig der HDU-Index 1 verwendet wird. Dateien, die in einem einzigen Aufruf gruppiert werden, müssen in Form und Datentyp in jedem ausgewählten HDU übereinstimmen.

Das Modul xRep resampelt zweidimensionale Bilder auf ein gemeinsames himmlisches Gitter mit Nord-Orientierung, um Besuche auszurichten, die aufgrund von Dithering, Rotation oder unterschiedlichen Plattenmaßstäben kein gemeinsames Pixelraster teilen. Die Funktion build_stack_spec_from_fits liest die Lösungen des World Coordinate Systems aus den FITS-Headern, um ein Ziel-Footprint zu erstellen, während reproject_stack jedes Mitglied auf dieses Gitter verzerrt. Der Parameter backend ist standardmäßig auf "auto" eingestellt und bevorzugt CuPy, dann CUDA PyTorch und schließlich die CPU, wenn keine GPU verfügbar ist. Die Interpolation verwendet standardmäßig Lanczos-3. Diese Ausrichtung stellt sicher, dass statische Sterne in Vorlagen- und Wissenschaftsframes dieselben Koordinaten einnehmen, sodass die bewegliche Quelle vor der Subtraktion als einzige geänderte Position am Himmel isoliert werden kann.