Nvidia erweitert das Programmiermodell in CUDA 11.5

Das Update der Programmierplattform CUDA ermöglicht den erweiterten Einsatz verschiedener Datentypen und bietet über CUDA Python direkteren Zugriff auf APIs.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen
Nvidia gibt die finale Version von CUDA 11 frei
Von
  • Matthias Parbel

Nvidia hat Version 11.5 seiner Programmierplattform CUDA freigegeben, die Entwicklerinnen und Entwicklern ab sofort zum Download zur Verfügung steht. Neben einer Reihe von Verbesserungen, die mehr Leistung bei der GPU-Beschleunigung von Applikationen versprechen, eröffnet das Update auch den erweiterten Einsatz verschiedener Datentypen – darunter normalisierte Ganzzahlen und blockkomprimierte Texturformate.

Ergänzungen des Programmiermodells in Version 11.5 sollen Entwicklerinnen und Entwicklern mehr Möglichkeiten verschaffen, die Leistungsfähigkeit von CUDA Graphen auszuschöpfen, ohne dafür Änderungen an der Anwendung vornehmen zu müssen. Zu den für Texturformate gängigen 8-Bit- und 16-Bit-Integers gesellen sich nun Array-Datentypen, die in der Driver sowie der Runtime API zur Verfügung stehen und die Interaktion mit externen APIs erleichtern sollen. So lassen sich künftig beispielsweise passende formatierte Texturen aus externen APIs wie DirectX12/11 oder Vulkan importieren und dann CUDA-Arrays zuordnen.

Block-Compressed-(BC)-Texturformate zum Reduzieren des Speicherbedarfs von Texturen lassen sich zwar nativ mit Nvidias GPUs nutzen, in CUDA ließen sie sich bisher jedoch nur eingeschränkt in den Texture Resource Views verwenden. Über die Driver (cuArray[3D]Create) und die Runtime API (cudaMalloc[3D]Array) erhalten Entwicklerinnen und Entwickler künftig auch Zugriff auf neue BC-Array-Formate, mit denen sich blockkomprimierte CUDA-Arrays erstellen lassen.

Weitere Verbesserungen der Plattform betreffen unter anderen die Programmiersprachen C++ und Python. Der CUDA-C++-Kompiler beherrscht nun gleichzeitiges Kompilieren in NVRTC und PTX. Darüber hinaus steht NVRTC auch als statische Library zur Verfügung und es lassen sich 128-Bit-Ganzzahlwerte mit dem Kompiler verarbeiten – vorläufig jedoch nur im Rahmen einer Preview. CUDA Python ist hingegen mit Version 11.5 nun generell verfügbar und bietet sowohl für die Driver wie auch die Runtime API Cython-Bindings und Python-Wrapper für bestehende Toolkits und Bibliotheken.

Einen vollständigen Überblick sämtlicher Neuerungen in CUDA 11.5 bietet der Blogbeitrag. Das neue Release steht auf den Nvidia-Servern offiziell für Windows und Linux zum Download parat und wird mit dem Treiber R510 ausgeliefert, der Long-term Support bietet. Der auf die 2012 eingeführte Kepler-Microarchitektur ausgelegte Treiber gilt hingegen ab sofort als veraltet (deprecated), kann aber mit dem Toolkit der 11.x-Serie weiterhin verwendet werden.

(map)