Cayman VS Barts

Elemzés - 2011/01/31

Oldalak:     
Fórum
Bevezető
A Barts chip erősen eltérő filozófiát képviselt az AMD korábbi GPU-hoz képest - az RV770 óta a legalacsonyabb ALU:ROP aránnyal rendelkezik, és ha az R600 és az RV670 igencsak gyenge ROP-jait tekintetbe vesszük, akkor ez a mondás egészen a 2900XT-ig visszamenőleg igaz. Ehhez képest a Cayman ugyanannyi (bár valamelyest felturbózott) ROP-pal van felszerelve, viszont az ALU-kapacitás terén 40%-kal előrébb tart - és ha figyelembe vesszük az AMD prognózisát a Caymanben dolgozó VLIW4 egységek hosszú távon elérhető hatékonyságával kapcsolatban, akkor ez a szám +70%, amivel már a Cypress ALU:ROP arányát is bőven megelőzi a vicces nevű GPU. Mivel a Barts hatékonyság terén igencsak odapörkölt a Cypress-nek, első ránézésre nem tűnik túlzottan jó lépésnek az az irány, amit a Cayman chippel vett az AMD - viszont, ahogy minden új GPU-nál, a Caymannél is van számtalan kisebb-nagyobb javítás, amik akár teljesen más irányba is dönthetik az új architektúra teljesítőképességét.
Nézzük, mi van különbség a két GPU között áttekintés szintjén:

Cayman és Barts blokkdiagram - az egeret a képre rámozgatva / lemozgatva vált a GPU-k között
A felépítés ismertetésébe ezen a szinten nem megyünk bele, csak a két lényeges látható, és az egy szintén lényeges, de nem látható differenciára térünk ki:
  • Míg a Barts-ban egy vezérlő engine van, ahol két elem (Rasterizer, Hierarchical Z) duplikált, és az engine után a dispatch-tól kezdve beszélünk két ALU-TEX tömbről, a Caymanben már maga az engine is duplikált, és csak a CPU irányából érkező parancsok feldolgozása közös. Mivel a legkomolyabb komplexitást szerintünk a Cypress-ben a két tömb megalkotása hozta be, a teljes engine duplázása már csak előnyt jelent a Caymannek, hátrányt aligha.
  • Nehéz nem észrevenni a SIMD tömbök száma közötti különbséget - míg a Barts-ban 14 tömb van, darabja 4 textúrázóval és 16 VLIW5 szperskalár ALU-val (=64 egyszerű és 16 komplex ALU), addig a Cayman 24 tömbbel bír, és mivel a textúrázók és a SIMD-ek viszonya nem változott, brutális mennyiségű, 96 textúrázó van a teljes GPU-ban. ALU-k terén van a leginkább látványos változás: továbbra is 16 szuperskalár ALU van egy SIMD-ben, viszont ezek mostantól VLIW4-esek, és egy ilyen egység 4 egymással egyenlő, a korábbi komplex és egyszerű számolók közötti tudású skalár ALU-ból áll.
  • Nem látszik a képen, hogy a ROP-ok is kaptak egy kis turbózást - a leglényegesebb, hogy az INT16 argumentumú műveletek sebessége megkétszereződött, ill. az FP32-es műveletek duplájára, vagy esetenként négyszeresére gyorsultak. Ennek a jelentőségét egyelőre nem tudjuk - de miután a kártya erősen backend limitáltnak látszik, azokat az eredményeket lesz érdemes figyelni, ahol a Cayman és a Barts közötti különbség az átlagosnál nagyobb.
Előzetes teljesítmény-elemzés
A strukturális áttekintés után nézzük a felépítést számokban:
VGA neve Barts @stock
(HD6870)
Cayman @Barts Cayman @stock
(HD6970)
Cayman
vs Barts
HD6970
vs HD6870
Core órajel 900 MHz 900 MHz 880 MHz 0% -2.3%
Shader órajel 900 MHz 900 MHz 880 MHz 0% -2.3%
Memória-órajel 1050 MHz 1050 MHz 1375 MHz 0% 31.0%
Memória mennyisége 1024 MB 2048 MB 2048 MB
Tranzisztorok száma 1700M 2640M 2640M
Gyártástechnológia 40nm (TSMC) 40nm (TSMC) 40nm (TSMC)
Geometriai egységek 1 2 2 100% 100%
Scanline konverzió 32 Pix/clock 32 Pix/clock 32 Pix/clock 0% 0%
ALU egységek (SP-k) * 1120 (VLIW5) 1536 (VLIW4) 1536 (VLIW4)
Textúrázó egységek 56 96 96 71.4% 71.4%
ROP egységek ** 32 32 32 0% 0%
Memóriabusz és típus 256-bit gDDR5 256-bit gDDR5 256-bit gDDR5 0% 0%
Triangle setup 900 Mtri/sec 1800 Mtri/sec 1760 Mtri/sec 100% 95.6%
Scanline konverzió 28.8 GPix/sec 28.8 GPix/sec 28.2 GPix/sec 0% -2.3%
Számítási teljesítmény * 2016 GFlops 2765 GFlops 2703 GFlops 37.1-71.4% 34.1-67.6%
Texel fillrate, 32-bit (FP10) 50.4 GTex/sec 86.4 GTex/sec 84.5 GTex/sec 71.4% 67.6%
Pixel fillrate ** 28.8 GPix/sec 28.8 GPix/sec 28.2 GPix/sec 0% -2.3%
Z-only fillrate ** 115.2 GPix/sec 115.2 GPix/sec 112.6 GPix/sec 0% -2.3%
Memória-sávszélesség 134.4 GB/sec 134.4 GB/sec 176.0 GB/sec 0% 31%
*: a két chip számítási kapacitása nem hasonlítható közvetlenül össze, mert eltérő felépítésűek az ALU blokkok. Nyers számítási teljesítményben 37% a differencia a Cayman és a Barts között, viszont ha elhisszük, hogy a VLIW4 blokkok átlagosan ugyanolyan átbocsátó-képességgel rendelkeznek, mint a VLIW5 blokkok, akkor ez a differencia 71% is lehet.
**: a Cayman chip ROP-jai INT16 és FP32 adattípusok használatakor a Cypress-hez és a Barts-hoz képest dupla sebességgel üzemelnek. Ennek gyakorlati jelentőségét egyelőre nem tudjuk felmérni.
Összefoglalva a különbségeket:
  • A GPU elejében "mindössze" annyi a differencia, hogy a két raszterizáló egység és a két ultra-threaded dispatch processor mellett most már setup engine-ből is kettő van, és duplázódott a tesszelátor is. Ennek gyakorlati jelentősége inkább a tesszeláláció-intenzív esetekben lesz.
  • Textúrázókban a Cayman nagyon durván erős, 71%-kal van neki több, mint a Barts-nak - viszont azt láttuk, hogy a Barts elég jól egyensúlyban van, azaz a sok extra textúrázó csak az erre kifejezetten éhes játékokban lesz érdekes.
  • A számítási kapacitás megítélése nem egyszerű - nyers számok terén a táblázat lábjegyzetében említett 37% él, de mi is úgy gondoljuk, hogy a VLIW4-es szuperskalár egységek kihasználtsága jobb, így minimum 50-60%-nak gondoljuk itt a Cayman előnyét.
  • Nem értjük viszont a backendet. A memória-sávszélesség még istenes a magas gDDR5-órajellel (láttuk a HD6970 tesztben, hogy ezen a téren elérte a GTX480-at), viszont a 32 ROP a magas órajel ellenére igen soványnak tűnik. Sajnos az adattípustól függően kétszeres vagy akár négyszeres (hmmm...) ROP-sebesség nagyon kevéssé megfogható, nem tudjuk, hogy a tesztünkben használt játékokban valamelyik "begyorsult" adattípus szerepel-e dominánsan - erre mindenképpen figyelni fogunk a mérések elemzésekor.
Azt láttuk tehát, hogy a Cayman chip kétszer gyorsabb setupban a Barts-nál, valamint ALU és TEX kapacitás terén brutális előnnyel rendelkezik. Miután a Barts chip sikerét elsősorban annak tulajdonítjuk, hogy a Cypress-hez képest kevesebb ALU és TEX egység a jobb egyensúly miatt alig jelentett hátrányt a teljesítményben, nem értjük, miért ilyen irányba ment a Cayman - hacsak a felokosított ROP-ok nem hoznak valami csodát. Kiegyensúlyozott esetben optimális becslő alkalmazásunk szerint kb. 35%-kal lesz gyorsabb a Cayman chip a Barts-nál azonos órajelek mellett, és 40% körül lesz a differencia a gyári órajeles modellek között - de a fentiekből az látszik, hogy a Cayman esetében szó sincs kiegyensúlyozott chipről, és mivel a Barts erőssége a kevés ALU/TEX egység jó kihasználása, az azonos órajelen futtatott variánsok között jóval kevesebb differenciára számítunk.
Tesztkörnyezet
A konfiguráció elemei
Alaplap Gigabyte P45-DS3R, FSB @400MHz
CPU és órajel Intel Q9550 @Q9770 (3.2GHz, 8x400)
CPU hűtés Cooler Master HyperTX3
Memória 4x1GB Geil Ultra DDR2-8500
Memória beállítások 1066MHz (2.66x400), 5-5-5-15, tRD: 8
Tápegység Corsair TX650
Operációs rendszer Windows 7 x64
VGA Core clock Shader clock Memory clock Driver
Radeon HD6870 900 MHz 1050 MHz Catalyst 10.10d hotfix
Radeon HD6970 900 MHz 1050 MHz Catalyst 10.12a hotfix
Radeon HD6970 880 MHz 1375 MHz Catalyst 10.12a hotfix
Nem egyformák a driverek a két kárta esetén, de emiatt nem aggódunk - a 10.10-es és a 10.12-es driverek között érdemi különbség nincs (ld. tesztünkben is).
Tesztmódszer, a tesztben résztvevő játékok
Tesztjeinkben minden játékhoz 3 beállítást használunk: Balanced, High és Max, sorban az alsó középkategóriás, a középkategóriás és a felső / csúcskategóriás kártyákkal szemben támasztható elvárásokhoz szabva. A Balanced és a High beállítást 1680x1050-es felbontásban vetjük be, az 1920x1080-as felbontásnál pedig szintén megjelenik a High beállítás, és szerepel a Max is - így lesz játékonként 4 tesztesetünk, amelyeket háromszor lemérünk, és a grafikonokra a mérések átlaga kerül.
Megjegyzés: architektúrával foglalkozó cikkeinkben előfordul, hogy csak a két 1920x1080 teszteset szerepel - ez a helyzet most is.
A játékokban vagy beépített benchmarkot használunk, vagy egy-egy kellően intenzív jelenetet játszunk le. Mindkét esetben a méréseket a fraps-szal végezzük - a grafikonokon szereplő átlag fps értékekhez a fraps számait használjuk, a minimum-fps-eket viszont egy egyéni statisztikai módszerrel állítjuk elő a mérés alatt megjelenített frame-ek kiszámolásához szükséges időkből. Az így kapott értékek lényegesen jobban jellemzik a játékokban tapasztalt folyamatosság-érzetet, mint az Internet-szerte használt abszolút minimum-érték.
A tesztekben használt játékok / benchmarkok:

Battlefield:
Bad Company 2
Crysis Warhead F1 2010 Just Cause 2 Lost Planet 2

Mafia II METRO 2033 S.T.A.L.K.E.R.:
Call of Pripyat
Unigine Heaven
Oldalak:     
Fórum