Hirdetés

Nyílt lesz az NVIDIA CUDA fordítójának forráskódja

Az NVIDIA nagy bejelentést tett a Pekingben zajló GPU Technology Conference-en, melynek értelmében a CUDA Toolkit 4.1-es verziója új frissítése tartalmaz egy nyílt forrású CUDA fordítót, mely lehetővé teszi a platform kiegészítését új programozási nyelvek és hardverek támogatásával. A CUDA a vállalat zárt technológiájának tekinthető, mely jelenleg az NVIDIA által fejlesztett GPU-kat és az x86-os processzorokat támogatja. A zárt platformok helyzete azonban bonyolult, ugyanis a történelem során már számos alkalommal kiderült, hogy a nyílt alternatívák jelentik a jövőt, ami a CUDA-ra nézve nem éppen kecsegtető. A rendszer elsődleges kihívója a Khronos Group által fejlesztett OpenCL felület, melyet a gyártók teljes mértékben támogatnak, ideértve az NVIDIA-t is. Bár az utóbbi vállalat próbálja lassítani az OpenCL-re vonatkozó fejlesztéseket, így az OpenCL 1.1-es platform támogatását több mint egy évvel a felület bejelentése után oldották meg hivatalosan. Ez idő alatt nemcsak az AMD, hanem az Intel is megelőzte az NVIDIA-t, vagyis a vállalat veszélyes játékot játszik, de a CUDA felületet minden lehetséges úton életben kell tartani.

A GPU-k általános programozását segítő platformok száma azonban csak növekszik. A Microsoft a C++ AMP-vel szeretne ide betörni, mely a GPU oldalán DirectCompute felület előnyeit kamatoztatja. Az NVIDIA ennek alternatívájaként a nemrég bemutatott OpenACC-t kínálja, mely hasonló elven működik, mint a C++ AMP, ráadásul teljesen nyílt. Gondot jelent azonban, hogy a gyártók szerint ugyanarra a problémára nincs szükség két alternatívára, így a Microsoft megoldása egyelőre kedvezőbb helyzetben van. A C++ AMP fejlesztését a Windows esetében a redmondi óriáscég végzi, míg a többi operációs rendszeren az AMD a megbízott a támogatással kapcsolatban. Ez persze több vállalatnak nem tetszik, de a helyzet még így is elfogadható, az NVIDIA-nak azonban hatványozottan rossz a C++ AMP, mivel semmilyen formában nem erősíti a CUDA terjedését, sőt közvetve gyengíti is azt. Ettől függetlenül a vonat elindult, így fel kell szállni rá, de kell valami megoldás a CUDA életben tartására.

Tulajdonképpen túl sok opció már nem maradt, így a részlegesen meg kellett nyitni a CUDA platformot a konkurensek számára. A rendszer által használt LLVM-alapú (Low Level Virtual Machine) fordító forráskódjának megnyitása lehetővé teszi, hogy a fejlesztők új programozási nyelvek támogatását építsék be, továbbá megoldható a konkurens hardverek támogatása is, kezdve az AMD és az Intel GPU-któl, az ARM, az IBM Power, vagy a SPARC architektúrára épülő processzorokig. Az implementálás persze még mindig kérdéses, hiszen egyelőre csak a fordító forráskódja lett megnyitva, így az új architektúrák, illetve programnyelvek támogatását még be kell építeni.

Az NVIDIA természetesen nem adja ki a CUDA-t a kezei közül, így továbbra is egyedüliként felelnek a platform fejlesztéséért. Ezzel a gyártók számára a CUDA nem lesz tetszetős felület, mivel az NVIDIA dönt az új verziók képességeiről, és ezekre a konkurensek nem biztos, hogy felkészülhetnek időben. Éppen ezért a gyártók szemében a CUDA továbbra is mostohagyermek lesz, és a gyártóktól valóban független platformok továbbra is jobb alternatívát jelenthetnek. Szintén kedvezőtlen lehet az Intel és az AMD terve a C++ támogatásával kapcsolatban, ugyanis mindkét vállalat közvetlenebb módon gondolkodik a programnyelv cGPU-kon, APU-kon, vagy koprocesszorokon való kezelésével kapcsolatban. Az NVIDIA lépése persze mindenképpen kitolhatja a CUDA élettartamát, hiszen teljesen zárt felületként gyakorlatilag teljesen életképtelen lett volna a jövőben.

A CUDA Toolkit nyílt fordítót támogató verziója egyelőre nem publikus, de az alábbi weboldalon kérvényezni lehet a hozzáférést.

Azóta történt

Előzmények

Hirdetés