close notice
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.
Weiterlesen nach der Anzeige
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.
cuda.core (unten) stellt den Python-Bibliotheken in der Mitte CUDA-Objekte zur Verfügung.
(Bild: Nvidia)
Die wichtigsten Bestandteile des neuen Pakets sind:
- cuda.core: stellt in der CUDA-Laufzeitumgebung Objekte für Geräte, Streams und Puffer zur Verfügung
- cuda.compute: parallele Algorithmen der CUDA Core Compute Libraries (CCCL) zur Optimierung mit sort, scan, reduce, transform, unique, histogram, top-k usw.
- cuda.bindings: unmittelbare Bindungen für alle C-APIs
- cuda-pathfinder: ermittelt die installierten CUDA-Komponenten
- nvmath-python: Mathematikbibliotheken in Python
Installieren lässt sich die neue Python-Umgebung mit:
Weiterlesen nach der Anzeige
pip install cuda-python cuda-cccl numba-cuda-mlir[cu13]
Stabile und einheitliche Versionspläne
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.
Lesen Sie auchMehr anzeigenWeniger anzeigen
(who)
Dieser Link ist leider nicht mehr gültig.
Links zu verschenkten Artikeln werden ungültig,
wenn diese älter als 7 Tage sind oder zu oft aufgerufen wurden.
Sie benötigen ein heise+ Paket, um diesen Artikel zu lesen. Jetzt eine Woche unverbindlich testen – ohne Verpflichtung!