AMD Radeon RX Vega 64 végre köreinkben

Nagy csinnadrattával érkezett az első Vega videokártya – végre letesztelhettük, mit tud a gyakorlatban.

A Vega reakciója

Talán egy évtized is eltelt azóta, hogy a GPU-k tekintetében valami radikális változás következett volna be. Az utolsó ilyen lépés még az NVIDIA G80-hoz kötődik, ami elhozta a unified shadert, és nyilván ezt mindenki rövid időn belül lekövette, de azóta az újabbnál újabb architektúrák lényegében az akkor kialakított elveket viszik tovább. Persze a hatékonyság nő, ahogy a GPU-k tudásszintje is, de a komolyabb reformokat gyakorlatilag egy évtizede kerülik az érintett cégek.

A fentiek azért érdekesek, mert még azt sem mondható el, hogy nincs probléma, és tökéletesen elég, ha mindenből többet raknak a következő generációba, majd optimalizálják a működést. Sajnos gond az akad bőven. Kiemelhető például a memóriamenedzsmentnek, a nem látható háromszögek kivágásának, a többletrajzolásnak, illetve az erőforrások GPU-n belüli lefoglalásának hatásfoka. Lényegében mindegyik GPU küzd ezekkel a gondokkal, amelyek az évek múlásával egyre inkább felerősödtek, viszont az AMD Vega architektúrája hosszú idő óta az első olyan fejlesztés, amely nem csak elfogadja, hogy a limitációk léteznek, hanem megpróbál tenni ellenük. Ez már csak azért is időszerű, mert több területen elértük azt a határt, hogy a nyers erőre való építkezés nem hoz előrelépést. De nem érdemes ennyire előrerohanni, érdemes előbb vetni egy pillantást magára a hardverre.

A Vega 10 vázlata
A Vega 10 vázlata [+]

Az új, Vega családba első körben egy lapka jön Vega 10 jelzéssel. Ez egy 12,5 milliárd tranzisztorból álló, 486 mm²-es fejlesztés, amely a GlobalFoundries 14 nm-es LPP node-ján készül. A rendszer sok helyen újít a korábbi generációkhoz képest, de alapjaiban továbbra is a GCN architektúrára alapoz, és ennek már az ötödik generációs verzióját használja, amit az AMD hivatalosan GFX IP 9-nek nevez, de jellemzően GCN5-ként utalnak majd rá.

A Vega 10-es grafikus vezérlőben 64 darab úgynevezett NCU (Next-Gen Compute Unit) található, és ezek egyenként tartalmaznak egy skalár feldolgozót, illetve négy darab, egymástól teljesen független, 16 utas, azaz 512 bites, multiprecíziós SIMD motort. Egy NCU-n belül 64 kB-os Local Data Share (LDS) található, melyen a négy darab, egyenként 64 kB-os regiszterterülettel rendelkező SIMD motor osztozik. A helyi adatmegosztás mellett természetesen egy 16 kB-os adat gyorsítótár is elérhető, melyet az NCU írhat és olvashat is.

A Vega NCU-ja
A Vega NCU-ja [+]

A fentebb már említett skalár feldolgozó némileg különc az NCU-n belül. Ez lényegében egy integer ALU, mely 4 kB-os dedikált regiszterterületet kapott. A textúrázást NCU-nként egy blokk oldja meg, mely négy darab, csak szűrt mintákkal visszatérő Gather4-kompatibilis textúrázó csatornát rejt. A lapkán belül maximum három NCU rendeződik egy tömbbe, és ehhez tartozik egy 16 kB-os skalár és egy 32 kB-os utasítás gyorsítótár. Előbbit csak a skalár feldolgozó éri el, míg utóbbit az NCU összes feldolgozója hasznosíthatja, és természetesen mindkét gyorsítótár írható és olvasható is.

A Vega 10 négy különálló geometriai motort használ, aminek a része egy-egy darab tizenharmadik generációs tesszellátor is, illetve az egységek megörökölték a Polaris generáció primitive discard accelerator blokkját, ami kivágja a degeneratív háromszögeket (ezeknek az összes csúcsuk egy egyenesre esik). A geometriai motorokhoz kapcsolódik egy-egy új raszterizáló, ami képes hagyományos IMR módban is működni, de az igazi újdonsága a DSBR, vagyis a draw-stream binning rasterizer mód, ami nem csak gyorsítja a feldolgozást azzal, hogy a lapkán belül tartja a számításokat, hanem még a fogyasztást is csökkenti a memóriabusz terhelésének visszafogásával. Ezekhez a raszterizálókhoz kapcsolódik egy igen méretes belső tároló, amelynek a pontos méretét az AMD nem adta meg, de több megabájtra rúghat, és ez kizárólag arra szolgál, hogy aktív DSBR mód esetében az adott mozaik számítását teljesen lapkán belül lehessen tartani, így elég lesz csupán a végeredményt kiírni a videomemóriába.

A memóriavezérlőhöz egy 4 MB kapacitású, írható és olvasható másodlagos gyorsítótár és 4 darab ROP blokk kapcsolódik. Ezek a ROP blokkok úgynevezett pixelmotorokat tartalmaznak, egészen pontosan 4-et, és egy pixelmotor 4 blending, illetve 16 Z mintavételező egységből áll. Ez összesen 64 blending és 256 Z mintavételezőt jelent. Nagy változás a korábbi GCN generációkhoz képest, hogy a ROP blokkok a másodlagos gyorsítótár kliensei lettek, aminek az a nagy előnye, hogy a pixel- és textúraadatokra vonatkozó memóriaelérések koherenssé válnak. Ez végeredményben javíthatja a deferred leképezőt használó applikációk alatti teljesítményt, mivel számos alkalommal megúszható a pixelmotorok saját gyorsítótárainak ürítése. Emellett a másodlagos gyorsítótár mostantól vertex paraméteradatok tárolására is használható.

Megmaradt a Delta Color Compression technika is, amely teljes mértékben támogatja a 2:1, a 4:1 és a 8:1 arányú, veszteségmentes tömörítést, így jelentősen lehet vele csökkenteni a memóriabuszra vonatkozó terhelést. Végül a memóriavezérlő 2048 bites, és két darab 1024 bites buszon köthető rá az egy-egy darab HBM2 szabványú memóriacsomag. A memóriákat egyszerre szállítja a Samsung és a Hynix, tehát mind a két nagy memóriagyártótól rendel az AMD, hogy kellő mennyiségű VGA-t lehessen előállítani.

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

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés