VC-6 mit CUDA beschleunigt AI-Data-Pipelines
NVIDIA hat mit der CUDA-beschleunigten Implementierung des SMPTE VC-6-Codecs (ST 2117-1) eine bahnbrechende Lösung für hochleistungsfähige Vision-AI-Pipelines vorgestellt, die darauf abzielt, die immer weiter steigende Rechenleistung von GPUs voll auszunutzen. Ein zentrales Problem in aktuellen AI-Workloads ist die sogenannte GPU-Unterbeschäftigung: Während GPUs mit exponentiell wachsender Leistung ausgestattet sind, bleiben klassische Datenpfeile – wie I/O aus Speicher, PCIe-Übertragungen oder CPU-basierte Dekodierung – hinterher. Dies führt zu Engpässen, bei denen die GPU auf Daten wartet. VC-6 adressiert diesen „Data-to-Tensor-Gap“ durch eine architektonisch optimierte, hierarchische Codierung, die natürlicherweise auf GPU-Parallelität abgestimmt ist. Im Gegensatz zu herkömmlichen Codecs, die Bilder als flache Pixelblöcke codieren, erzeugt VC-6 eine mehrschichtige, pyramidenartige Struktur (Echelons), bei der jeweils eine niedrigere Auflösung als Basis dient und nur die Differenzen (Residuen) zu höheren Auflösungen gespeichert werden. Diese Struktur ermöglicht selektive Decodierung: Man kann nur die benötigten Auflösungsstufen (LoQ), Regionen (RoI) oder Farbkanäle laden – ohne das gesamte Bild zu entpacken. Dies reduziert I/O erheblich: Bei der DIV2K-Datenbank wurden bei der Decodierung auf Viertelauflösung I/O-Einsparungen von bis zu 72 % gegenüber vollständigen Decodes erreicht. Dadurch sinken nicht nur Speicher- und Netzwerklast, sondern auch PCIe-Bandbreite und VRAM-Verbrauch. Die Umsetzung in CUDA ist besonders effektiv, da VC-6s Architektur – mit unabhängigen, parallel verarbeitbaren Ebenen, Tilen und Farbkanälen – perfekt zur SIMT-Architektur von NVIDIA-GPUs passt. Im Vergleich zu CPU- und OpenCL-Implementierungen zeigt die CUDA-Version signifikante Geschwindigkeitsgewinne, besonders in durchsatzorientierten Szenarien. Benchmarktests auf einem RTX PRO 6000 Blackwell Server-Edition belegen, dass die CUDA-Implementierung die Decodierzeit deutlich reduziert, insbesondere bei Batch-Verarbeitung. Mit Hilfe von Nsight Systems wurden weitere Optimierungspotenziale identifiziert: Die derzeitige Architektur nutzt nur einen kleinen Teil der GPU-Ressourcen, da einzelne Upsampling-Kerne nur wenige SMs beschäftigen. Durch Techniken wie Kernel-Fusion, CUDA-Graphs und bessere Grid-Größen kann die Auslastung erheblich gesteigert werden. Ein weiterer Vorteil ist die direkte GPU-Speicher-Integration: Die CUDA-Version liefert Decoder-Ausgaben als CUDA-Array-Interface, die direkt in PyTorch, CuPy oder nvImageCodec verwendet werden können – ohne CPU-Kopien oder Synchronisation. Auch partielle Decodierungen (RoI, LoQ) sind nahtlos möglich und erfordern nur die Angabe der gewünschten Region. Die aktuelle Alpha-Version unterstützt bereits native Batching und wird durch enge Zusammenarbeit mit NVIDIA weiter optimiert. Industrieexperten sehen in VC-6 auf CUDA eine Schlüsseltechnologie für zukünftige AI-Workloads, besonders in multimodalen Systemen, die hohe Durchsatzraten und effiziente Datenzugriffe erfordern. V-Nova und NVIDIA positionieren den Codec als AI-native Lösung, die nicht nur die Performance steigert, sondern auch die Skalierbarkeit von Datenpipelines revolutioniert. Für Entwickler bedeutet dies: Jetzt ist der richtige Zeitpunkt, VC-6 auf CUDA zu testen – um Datenpfeile zu beschleunigen und die GPU voll auszulasten.