Megjelent a CUDA Python 1.0, stabil API-kat kap a Pythonos GPU-fejlesztés

Az NVIDIA 2026. augusztus 25-én jelentette be a CUDA Python 1.0-t a CUDA 13.3 részeként. A kiadás célja, hogy a Python támogatott, első osztályú módja legyen a CUDA-platform használatának, stabil API-ígéretekkel és közös futtatási alappal.
- Az NVIDIA 2026. augusztus 25-én jelentette be a CUDA Python 1.0-t a CUDA 13.3-mal.
- A kiadás szemantikus verziózási garanciákat ad a stabil API-khoz.
- A cuda.core 1.0.0 közös Pythonos alapot ad eszközökhöz, streamekhez és pufferekhez.
- A cuda.compute 1.0.0 Pythonból hívható CCCL algoritmusokat kínál, például sort, scan és reduce műveleteket.
- Egyes újabb kernelírási nyelvek még kísérleti állapotban vannak, és nem tartoznak a 1.0 garanciái alá.
Stabil verziózás a Pythonos CUDA-eszköztárban
Az NVIDIA fejlesztői blogján megjelent bejegyzés szerint a CUDA Python 1.0 mérföldkő, nem egyetlen olyan verziószám, amelyet a fejlesztők a pip parancsban használnak. A csomag több, egymástól függetlenül verziózott komponensből áll, ezért szerepel egymás mellett például a cuda.core 1.0.0, a cuda.compute 1.0.0 és a cuda.bindings 13.3.0.
A bejelentés központi eleme a szemantikus verziózás. Az NVIDIA leírása alapján a törő API-változások csak főverziókban érkeznek, az alverziók új funkciókat adnak, a javítóverziók hibákat javítanak. Ha egy nyilvános API eltávolításra kerülne, azt előbb egy alverzióban elavultként jelölik meg, egyértelmű átállási útvonallal.
A cég szerint ez azoknak fontos, akik eddig azért óvatosan építettek egy adott könyvtárra, mert nem voltak biztosak abban, hogy az API túléli a következő frissítést. A CUDA Python továbbra is követi az új CUDA-képességeket, de kiszámíthatóbb verziózási és kivezetési szabályok mellett.
Egy közös alap a különálló CUDA-rétegek helyett
A bejegyzés szerint a Pythonos GPU-fejlesztőknek korábban jellemzően két útjuk volt: CUDA C++-ban bővítményt írni, fordítási eszközláncot fenntartani és Python-kötéseket kezelni, vagy magasabb szintű könyvtárakra, például PyTorchra, CuPyra vagy RAPIDS-re támaszkodni. Az NVIDIA szerint az utóbbi út tette erőssé a Pythonos GPU-ökoszisztémát, de korlátai is voltak, ha egy könyvtár nem tett elérhetővé egy szükséges CUDA-funkciót.
A CUDA Python 1.0 egyik fő üzenete, hogy a Pythonból elérhető CUDA-hoz mostantól van egy hivatalos, NVIDIA által karbantartott út. A CUDA 13.3-tól az NVIDIA megfogalmazása szerint a CUDA Python és a C++ egyenrangú, első osztályú szereplőként áll egymás mellett, a cég pedig a jövőben teljes funkcionális paritás fenntartását vállalja.
A közös alap szerepét a cuda.core tölti be. Ez a CUDA alapfogalmait, például az eszközöket, streameket és puffereket Python-objektumokként teszi elérhetővé, kivételalapú hibakezeléssel. A forrás szerint ez túlmutat a kényelmen: a GPU-s Python-könyvtárak ugyanarra az alapra építhetnek, közös erőforrásokat használhatnak, és könnyebben működhetnek együtt.
Az NVIDIA példája szerint egy Numba kernel és egy cuda.compute hívás ugyanazon a GPU-pufferen, ugyanabban a streamben dolgozhat, mert nem hoznak magukkal külön CUDA-réteget. A cég azt is kiemeli, hogy az olyan képességek, mint a green contexts, amelyek a GPU streaming multiprocessorait particionálják, így egyszer kerülhetnek be a cuda.core-ba, és az arra épülő komponensek hozzáférhetnek hozzájuk.
Mit tartalmaz a CUDA Python 1.0
A bejelentés alapján a CUDA Python 1.0 alá több könyvtár és eszköz tartozik. A cuda.core 1.0.0 Pythonos hozzáférést ad a CUDA runtime-hoz. A cuda.compute 1.0.0 a CCCL párhuzamos algoritmusait teszi hívhatóvá Pythonból, köztük a rendezést, a scan műveletet és a reduce műveletet. A cuda.bindings 13.3.0 alacsony szintű, 1:1 kötéseket ad a CUDA C API-khoz, és a CUDA Toolkit verziózását követi.
A cuda-pathfinder feladata annak megtalálása, hogy milyen CUDA-komponensek vannak telepítve az adott környezetben. A blog szerint ez azért lényeges, mert a Pythonos GPU-közösség sok időt töltött azzal, hogy kiderítse, egy folyamat valójában melyik CUDA runtime-ot töltötte be.
A matematikai könyvtárakhoz az nvmath-python 1.0 kapcsolódik, amely az NVIDIA math könyvtárait hozza Pythonba, saját kiadási pályán, hasonló stabilitási vállalással. A kommunikációs rétegben a bejegyzés az NCCL4Py és az NVSHMEM4P könyvtárakat említi, amelyek az NCCL és az NVSHMEM elérését adják.
A kernelírási szinthez a numba-cuda tartozik, amely SIMT nyelv Pythonos kernelekhez. A forrás két újabb, szakterület-specifikus nyelvet is megnevez: a cutile-python a blokkszintű modellhez készült CUDA tile nyelv, a cuteDSL pedig CUTLASS nyelv Tensor Cores használatához. Az NVIDIA ugyanakkor jelzi, hogy egyes újabb kernelírási nyelvek még kísérleti állapotban vannak, és nem tartoznak a 1.0 szemantikus verziózási garanciái alá.
Mit jelent ez a fejlesztőknek és a Pythonos GPU-piacnak
A bejelentés gyakorlati jelentősége az NVIDIA szerint az együttműködésben van. Ha a könyvtárak ugyanazokat a cuda.core eszközöket, puffereket és streameket használják, akkor könnyebben komponálhatók, és kevesebb saját alacsony szintű CUDA-réteget kell fenntartaniuk.
Könyvtárfejlesztőknek ez azt jelentheti, hogy több munka fordítható a saját könyvtár megkülönböztető részeire, kevesebb pedig az alap CUDA-elérés újraírására. Alkalmazásfejlesztőknél a hatás közvetettebb: a függőségek az NVIDIA leírása szerint ugyanarra a közös infrastruktúrára tarthatnak.
A felhasználók a problémájukhoz illeszkedő szinten léphetnek be. A bejegyzés hangsúlyozza, hogy sokan a könyvtári szinten maradhatnak, és nem kell a teljes rendszert megtanulniuk. Aki viszont alacsonyabb szintű hozzáférést vagy saját GPU-kódot akar írni, ugyanazon ökoszisztémán belül találhat runtime-kötéseket, párhuzamos algoritmusokat, matematikai és kommunikációs könyvtárakat, valamint kernelírási eszközöket.
Az NVIDIA a telepítéshez a pip install cuda-python cuda-cccl numba-cuda-mlir[cu13] parancsot említi, az nvmath-python telepítését pedig külön kezeli. A további dokumentációhoz és példákhoz a NVIDIA/cuda-python repót, valamint az NVIDIA Accelerated Computing Hubot ajánlja.
NVIDIA Developer: CUDA Python 1.0: Stable APIs, One Foundation, Full Platform Access


