// HEISE ONLINE — HARDWARE & GADGET
Nie wieder PyTorch: Nvidia veröffentlicht CUDA Python 1.0
Das Python-Paket von Nvidia ermöglicht einen direkten Zugriff auf alle Funktionen von CUDA. Drittbibliotheken sollen damit in vielen Fällen entbehrlich sein.
This article is also available in
English.
It was translated with technical assistance and editorially reviewed before publication.
Zusammen mit CUDA 13.3 veröffentlicht Nvidia CUDA Python 1.0 als direkte CUDA-Schnittstelle für Python auf der gleichen Ebene wie C++. Dabei bündelt der Hersteller verschiedene Pakete und stellt sie unter einen einheitlichen Plan für Versionierung und Breaking Changes.
Nach Aussagen von Nvidia macht das Paket Bibliotheken wie PyTorch, CuPy oder RAPIDS überflüssig, die Python-Entwicklerinnen und -Entwickler bislang benötigten, um die C++-Funktionen von CUDA nutzen zu können.
Die Kern-Komponente von CUDA Python, cuda.core, stellt Objekte für Geräte, Streams und Speicher zur Verfügung, die Entwickler auf verschiedenen Ebenen einsetzen können, beispielsweise für eigene Kernels oder zur Optimierung von bestehenden Anwendungen. Das Objektmodell sorgt auch für einen störungsfreien gemeinsamen Zugriff verschiedener Komponenten auf CUDA, da sie die gleichen zugrunde liegenden Objekte nutzen. Objekte lassen sich so über die Grenzen der Bibliotheken und Anwendungen hinweg verwalten, was insbesondere auch für in der Latenz privilegierte Kernel (Green Context) gilt.
Die wichtigsten Bestandteile des neuen Pakets sind:
Installieren lässt sich die neue Python-Umgebung mit:
Nvidia verspricht eine stabile API mit semantischer Versionierung und vorhersehbaren Änderungen: Breaking Changes gibt es nur in Major Releases und Funktionen entfallen nach klaren und vorhersehbaren Regeln. Die Dokumentation findet sich auf GitHub neben dem Repository. Ein weiteres Repo bietet Lernmaterial.
montags und donnerstags - alles von heise developer
Ausführliche Informationen zum Versandverfahren und zu Ihren
Widerrufsmöglichkeiten erhalten Sie in unserer
Datenschutzerklärung.