Merre tartanak az új GPU-architektúrák?

Felkészülés a heterogén érára

Az NVIDIA legutóbb a GTC Asia 2011 nevű rendezvényen beszélt a jövőben esedékes termékekről és tervekről. Az már régóta tudható, hogy az új generációs architektúra a Kepler kódnevet viseli, és a fejlesztések irányáról is lehet sejteni pár dolgot általánosan, de konkrétum olyannyira nincs, hogy a vállalat még élesben sem állt elő egy demonstrációval. Ez persze nem azt jelenti, hogy az új generáció nem működik, hiszen a 2012-re tervezett hivatalos start ezt megköveteli, de az NVIDIA láthatóan titkolózik. Tulajdonképpen az adott cég stratégiájától függ, hogy miképp vezeti be a piacra az újdonságot, így nincs is semmi baj azzal, hogy az NVIDIA nem kürtöli világgá a Kepler tényleges képességeit, de az AMD hamarosan elkezdi szállítani a GCN architektúrára épülő Radeon HD 7970-es VGA-t, így elkerülhetetlen, hogy a média pletykagyára erősebb fokozatba kapcsoljon az új GeForce-szal kapcsolatban.

Természetesen a legtöbb mendemonda a csúcs GPU teljesítményéről szól: ezen a fronton minden van, így vannak olyan jóslatok, hogy a GK100 kétszer gyorsabb lesz a GF110-nél, míg a másik véglet a lapka fejlesztésének leállítása. Tekintve, hogy biztosat senki sem tud, a teljesítményt nem szeretnénk firtatni, illetve a törléssel kapcsolatban sincs semmilyen hivatalos megerősítés. Rengeteg pletyka van azonban az architektúra képességeiről, és figyelembe véve az NVIDIA korábbi nyilatkozatait, valamint a vállalat jövőképét, talán érdemes elemezni, hogy milyen is lehet a Kepler.

Steve Scott a GTC Asia 2011 nevű rendezvényen már elmondta, hogy a Kepler fejlesztésénél már fontos szempont volt a szoros integrálhatóság a processzormagokkal. Tulajdonképpen az AMD GCN architektúrája is ennek jegyében született meg, így az NVIDIA is ugyanazon az ösvényen lohol, amelyre a konkurens már rálépett. Különbséget jelent azonban, hogy a zöldek a jövőjüket az ARM processzorokkal képzelik el, míg a vörös oldal az AMD64-es, vagy x86-64-es utasításkészletet tekinti prioritásnak. Ebben semmi meglepő nincs, hiszen az NVIDIA az ARMv8 alapjaira építi Denver kódnevű processzorát, így természetes, hogy a vállalat a GPU-kra vonatkozó fejlesztéseket is ilyen irányba viszi. A Kepler esetében ez azt is jelenti, hogy az érkező GeForce-ok többet is tudhatnak majd, mint amit technikailag ki lehet használni.

A GCN architektúra esetében megjegyeztük, hogy alapvetően egy félkarú óriásról van szó, hiszen kezeli a C++ programnyelvet, így támogatja a virtuális funkciókat, a kivételkezelést, a rekurziót, valamint az AMD64-es 64 bites pointereket. A rendszer tehát képes címfordításra az AMD64-es címtartományon belül, mindemellett támogatja az x86 virtuális memóriát az IOMMU technológián keresztül. Mindez persze ma még csak papíron létezik, hiszen ahhoz, hogy ebből a felhasználó lásson valamit, viszonylag szoros integráció kell a CPU-val, illetve az operációs rendszer szintjén is számos fejlesztés szükséges. Az NVIDIA Kepler esetében már régóta tudható, hogy támogatja az ARM virtuális memóriát, de az operációs rendszer itt is limitálja a lehetőségeket, illetve alapvetően ARM processzorra van szükség a kihasználáshoz. A Kepler tehát nagyon hasonló lesz a konkurens GCN architektúrához, vagyis sok újítás lesz, melyek csak a jövőben, illetve az integráció során juthatnak főszerephez.

Valószínű, hogy az NVIDIA is az integrációnak rendeli alá a fejlesztéseket, hiszen a vállalat szuperszámítógépes jövőképe ezt megköveteli. A heterogén éra lassan minden cég tervezőasztalán beköszönt, de problémát jelent, hogy a CPU és a GPU integrálása alapvetően nem éppen optimalizált. Bár a két részegység az aktuális, heterogén módon programozható PC-s chipekben már egy lapkában helyezkedik el, de egy gyors busz felel a kommunikációért. Ez a sebesség és különösen a késleltetés tekintetében jobb, mint amit egy külső busz (például PCI Express) kínál, de sokkal többre van szükség. A cél az, hogy a CPU és a GPU egységes címtartományt és teljesen koherens memóriát osszon meg egymással. Ma ez még nem valósult meg, ugyanis a CPU nem ugyanazt a logikai címteret látja, amit a GPU.

A CUDA 4.0 értékes újítása
A CUDA 4.0 értékes újítása [+]

Az NVIDIA a CUDA 4.0-ban bemutatott egy opciós lehetőséget erre, amivel a pointerek megoszthatók. Ez alapvetően jó, mert túl sok más lehetőség az aktuális termékekkel nincs, de a rendszer ettől még képtelen egy tetszőleges pointert átadni a GPU-nak az x86 memóriából. A GCN architektúra lényegében ezt vezeti be, és az NVIDIA a Keplerrel is ebbe az irányba tarthat, csak éppen az ARM zászlaja alatt hajózva. Természetesen az x86 architektúra továbbra is támogatható a CUDA alól, de licenc nélkül az NVIDIA-nak az ARM mellett kellett dönteni, mivel a heterogén éra egyik legfontosabb szempontja az egységes címtartomány.

A Kepler valószínű, hogy ugyanazokat a pointereket kezeli majd, amelyeket az ARMv7 utasításkészletű processzorok, de integrálás szempontjából a fő tényező a Maxwell APU lesz, így a rendszert ezen a ponton később a Denver projekthez igazítja majd a vállalat.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés