Hirdetés

Így muzsikál Ada: teszten a GeForce RTX 4080

Az NVIDIA új generációs GPU-ját az ASUS tuningolt ROG Strix kártyájával próbáltuk ki.

Ada Lovelace AI-ra kigyúrva

Az elmúlt időszak nem alakult túl jól a VGA-piacon a játékosok nézőpontjából, aminek elsődlegesen a bányászláz fellángolása volt az oka, de ennek már láthatóan vége, és az NVIDIA pont jókor jelentette be az új GeForce-ok érkezését, amelyek közül a GeForce RTX 4090 és 4080 jelölésű modell elérhetővé is vált. Jelen tesztünkben az utóbbira koncentrálunk, amely nem a sorozat leggyorsabbika, de kellemes sebességet kínál, és nem mellesleg ennek is elég durva az ára.

Az alapokat tekintve az NVIDIA az Ampere helyére az Ada Lovelace architektúrát dobta be, amely az említett VGA esetében az AD103-as kódnevet viselő lapkában dolgozik. A fejlesztés a TSMC 4N jelzésű 5 nm-es node-ján készül, és 45,9 milliárd tranzisztorból épül fel, miközben a kiterjedése 378,6 mm².

Az Ada Lovelace architektúra elsődlegesen az Ampere továbbfejlesztésének tekinthető. A streaming multiprocesszorok általános felépítése szinte nem is változott, inkább a bennük rejlő részegységek tekintetében vannak újítások – de ne rohanjunk ennyire előre!

Az Ada Lovelace architektúra multiprocesszora
Az Ada Lovelace architektúra multiprocesszora [+]

Az Ada Lovelace multiprocesszorokon belül maradt a jól megszokott, négy compute blokk. Ezekben található egy L0 utasítás gyorsítótár, egy feladatirányító (dispatch), illetve egy warp ütemező, amelyek többféle futószalagot etetnek. Az NVIDIA szokás szerint a CUDA mag kifejezést használja, de ahogy korábban, úgy ennek a friss dizájn esetében sincs értelme, mivel már nem komplex feldolgozók találhatók a blokkokon belül. Ennek megfelelően az Ada Lovelace architektúrában az utasításszavak végrehajtása a nekik megfelelő futószalagon történik.

A dizájn alapjai az Ampere-hez képest nem változtak, ha 32 bites lebegőpontos operációról, azaz FP32-ről van szó, akkor két darab 16 utas tömb áll rendelkezésre, de ezek közül az egyik 32 bites integer, azaz INT32 feladatokat is képes elvégezni. Az előbbi felépítéssel megmaradt co-issue feldolgozási modell, méghozzá 16+16-os formában, vagyis egy compute blokkon belül egyszerre két darab olyan warp (megszokott szóhasználattal élve wave) is futtatható, amelyekben 32 bites lebegőpontos operációk kerülnek végrehajtásra. Az ütemezés szempontjából sincs változás, vagyis a két futtatott warp egy ütemezőn kerül kiosztásra, tehát a feldolgozandó feladatok között nem állhat fenn függőség.

A fentieken túl mindegyik compute blokknak része a Tensor műveletekért felelős, egy darab 512 utas, structural sparsity támogatással dolgozó tömb, amely immáron egy negyedik generációs fejlesztés, és a képességei megegyeznek a Hopper architektúrában bemutatott megoldással.

Az NVIDIA egyébként továbbra is az FP32-es ALU-kat tartja CUDA magoknak, és ezek a részegységek megfelelnek az IEEE754-2008-as szabványnak, vagyis támogatják a MAD (Multiply-Add), illetve az FMA (Fused Multiply-Add) instrukciókat. Az FP16-os műveleteket az alapértelmezett feldolgozótömb kezeli, méghozzá úgy, hogy egy FP32-es feldolgozó két darab, egymástól nem függő 16 bites lebegőpontos operációt hajthat végre. A másodlagos, INT32-es feldolgozótömb ugyan az FP32-t támogatja, de az FP16-ot már nem, tehát az Ada Lovelace esetében a szimpla és a felezett pontosság melletti elméleti számítási teljesítmény megegyezik.

A load/store egységek bekötése másolja az Ampere és a Turing dizájnját, ahogy a trigonometrikus és transzcendens utasítások végrehajtásáért felelős speciális funkciókat biztosító egység (SFU) kialakítása is. A textúrázási képességek területén sincs újítás. Az egyes streaming multiprocesszorok egy darab, négy csatornát biztosító textúrázó blokkot tartalmaznak, amelyet négy compute blokk használ egyszerre.

A compute blokkokon belüli regiszterterület marad 64 kB, vagyis annyi, amennyi az előző generációkban volt, továbbá a 128 kB-os L1 gyorsítótár tekintetében sincs előrelépés. Ez az egység ezúttal is számos konfigurációban fogható be. Amennyiben az adott compute blokk grafikai feladatot futtat, akkor kötelező 64 kB-ot biztosítani a textúrázóegységeknek, miközben 48 kB lesz a helyi adatmegosztás, illetve 16 kB fenntartása szükséges a grafikai futószalagokhoz. Compute feladatok mellett már sokkal szabadabb a felhasználás, az általános gyorsítótár 28, 64, 96, 112, 120 vagy 128 kB lehet, és ha marad nem lefoglalt terület, akkor az befogható helyi adatmegosztásra.

Fontos kiemelni, hogy az NVIDIA ugyan hivatalosan nem jegyzi, de minden egyes multiprocesszor tartalmaz két darab 64 bites lebegőpontos, azaz FP64-es ALU-t. Ezek fizikailag úgy vannak beépítve, hogy két compute blokkhoz kapcsolódik egy feldolgozó, amely a működése során a társított blokkok regiszterterületét és gyorsítótárait használhatja. A zöldek erről azért nem számolnak be, mert igencsak kis teljesítményről van szó, és alapvetően az Ada Lovelace dizájnja nem is arra lett kitalálva, hogy dupla pontosságot igénylő programokat futtasson hatékonyan, de funkcionálisan adott a lehetőség.

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

Azóta történt

Előzmények