Szerző: Bodnár Ádám

2011. December 14. 10:30:00

Megnyitja a CUDA fordító forrását az NVIDIA

Megnyitja a CUDA fordító forráskódját az NVIDIA - jelentette be a pekingben zajló GPU Technology Conference (GTC) rendezvényen a vállalat elnök-vezérigazgatója, Jen-Hsun Huang. A lépéssel a vállalat célja, hogy a lehető legtöbb programnyelvet és architektúrát támogassa a CUDA.

GPU-gyorsított Ruby, Java, Python...

A 2007-ben elrajtolt CUDA (Compute Unified Device Architecture) segítségével szabványos C/C++ nyelvű programokat lehet írni a grafikus chipekre, amelyek felépítése kifejezetten alkalmassá teszi őket masszívan párhuzamos feladatok elvégzésére, mint amilyen a 3D renderelés, a Monte Carlo szimuláció, részecskefizika, időjárás-modellezés, jelszótörés vagy bármilyen más terület, ahol az algoritmusok jól párhuzamosíthatók.

A CUDA terjedése érdekében az NVIDIA az év elején ingyen elérhetővé tette a Parallel Nsight Pro fejlesztői eszközét, most pedig bejelentette, hogy megnyitja a CUDA fordítójának forrását. A GPU Technology Conference alkalmából az NVIDIA kiadta a CUDA Toolkit 4.1-es verzióját, amelynek a része egy LLVM-alapú (Low Level Virtual Machine) fordító. Az LLVM egy nyílt forrású fordítóinfrastruktúra, amely moduláris felépítése révén könnyen lehetővé teszi új programozási nyelvek vagy architektúrák hozzáadását. Az eredetileg C/C++ fordítónak indult szoftver ma már számos nyelvet támogat, például Pythont, Rubyt, Fortrant, Haskellt, Adát, Java bájtkódot és Objective-C-t - az LLVM-re épülnek az Apple iOS és Mac OS X fejlesztői eszközei is.

AMD-re, Intelre, ARM-ra, bármire

A CUDA ugyan jelenleg a legelterjedtebb GPU-programozási környezet, de kizárólag NVIDIA grafikus chipeket és x86 processzorokat támogat. A forrás megnyitásától azt is várja a vállalat, hogy további architektúrákra is elkészüljenek a támogatáshoz szükséges eszközök - a potenciális "célpontok" között lehetnek az AMD Radeon/FireStream chipjei, az IBM Power processzorok, vagy éppen a mobil eszközökben egyeduralkodó, de hamarosan szerverekben és mérnöki-tudományos rendszerekben is megjelenő többmagos ARM lapkák.

/

HWSW képzés // AI és Scrum early A HWSW októberben induló gyakorlatorientált, 10 alkalmas, 30 órás online képzéseire most early bird kedvezménnyel lehet regisztrálni!

"A CUDA platform megnyitása jelentős lépés" - idézi az NVIDIA közleménye Sudhakar Yalamanchilit, a Georgia Műszaki Egyetem professzorát, a CUDA C-ben írt szoftverek különféle architektúrákra portolását támogató Ocelot projekt vezetőjét. "A számítástechnika jövője heterogén és a CUDA programozási modell lehetővé teszi a teljesítmény maximalizálását különféle típusú processzorokon, beleértve az AMD GPU-kat és az Intel x86 CPU-kat."

Továbbra is az NVIDIA irányít

A forrás megnyitása nem jelenti azt, hogy az NVIDIA kiadná a kezéből a CUDA feletti kontrollt, ugyanakkor lehetővé teszi bárki számára, hogy a CUDA-t egy tetszőleges processzorarchitektúrához illessze, illetve bármilyen programozási nyelvből használja. A CUDA egyelőre a mérnöki-tudományos világban használt legfontosabb nyelveket (C/C++, Fortran) támogatja, de az NVIDIA feltehetően úgy véli, vannak vagy lesznek olyan, a GPU-k párhuzamos feldolgozási képességéből profitáló alkalmazási területek, ahol nem ezek a nyelvek a meghatározók.

Az NVIDIA feltehetően úgy véli, hogy a saját, zárt CUDA programozási környezet bizonyos esetekben hátrányt jelenthet az AMD által favorizált, gyártófüggetlen OpenCL-lel szemben. Debreczeni Gergely, a KFKI RMKI Részecskefizikai Főosztályának tudományos munkatársa, a nyáron tartott GPU szakmai nap főszervezőjének véleménye szerint a CUDA fordító forrásának megnyitásával az NVIDIA elősegítheti saját platformjának térnyerését a rivális OpenCL-lel szemben, amely pont gyártófüggetlensége, nyitottsága miatt vonzó a felhasználók számára. "Mi is azért kezdtünk OpenCL-ben fejleszteni, mert nem tudjuk, néhány év múlva az AMD vagy az NVIDIA GPU-i  felelnek-e meg jobban a céljainknak" - mondta a HWSW-nek Debreczeni. Az NVIDIA az OpenCL-nek is támogatója, azonban a több gyártó részvételével fejlesztett platform kompromisszumokat követelhet és akár az NVIDIA számára kedvezőtlen irányba is fordulhat - ekkor jól jöhet a saját, de mégis nyitott és széles körben elterjedt, több nyelvet és platformot támogató CUDA.

Bár a CUDA által támogatott architektúrák kiterjesztése révén akár csökkenhet is az NVIDIA szerepe a GPGPU-piacon, a mérnöki-tudományos világban az olyan riválisok kárára mint az AMD, a vállalat valószínűleg azzal kalkulál, hogy a CUDA széles körű elterjedése a teljes GPGPU felhasználói bázist is növelni fogja, ezzel pedig nőhet a kereslet az NVIDIA saját GPU-i iránt is. A CUDA fordító forráskódjához egyelőre csak az arra jogosult akadémiai kutatók és szoftverfejlesztő eszközöket gyártó cégek férhetnek hozzá ezen az oldalon keresztül.

A HWSW októberben induló gyakorlatorientált, 10 alkalmas, 30 órás online képzéseire most early bird kedvezménnyel lehet regisztrálni!

a címlapról