Nvidia přiznává: GeForce GTX 970 nemá 64 ROP, ostatní parametry ale sedí
Ještě než se podíváme na samotnou podstatu problému, si musíme vysvětlit jeden základní princip, který se týká všech grafických čipů. Počet ROP jednotek (tak, jak je obvykle vyjadřován v recenzích) odráží počet pixelů, které jsou ROP schopné zapsat v taktu. Kupříkladu 16 ROP odpovídá 16 pixelům za takt, 32 ROP ~32 pixelům za takt a 64 ROP ~64 pixelům za takt.
Jde ale o teoretická maxima, která jsou v praxi omezena řadou faktorů. I při specializovaných syntetických testech, mohou být omezena hlavně dvěma faktory: datovou propustností a faktem, zda je zbytek čipu schopný dodávat (zpracovávat) minimálně stejný počet pixelů za takt jako ROP jednotky. Dosud jsme se setkávali spíše s čipy, kdy grafické jádro (rasterizér a unifikované jádro) dokázalo pracovat s větším počtem pixelů za takt než ROP. To je dáno tím, že v praxi lze jen při specifických případěch udržet stav, kdy jádro v každém taktu vykreslí maximální teoretický počet pixelů. Výkon proto neomezí, pokud je počet ROP nižší.
Prvními čipy, které zvládají zpracovat 64 pixelů za takt na úrovni rasterizéru, unifikovaného jádra i ROP jednotek, jsou AMD Hawaii (Radeon R9 290X) a Nvidia GM204 (GeForce GTX 980). Pokud jde ale o verze čipů jak Radeon R9 290 a GeForce GTX 970, které mají některé výpočetní bloky deaktivované, je už situace jiná. Unifikované jádro nezvládá pracovat s plným počtem 64 pixelů v taktu (konkrétní číslo závisí na počtu vypnutých bloků) a tudíž i 64 ROP není možné (ani v mnoha syntetických testech) efektivně využít.
Příkladem může být níže uvedený graf převzatý z webu TechReport, který zachycuje výsledky testu 3D Mark - fillrate. Zaměřme se na čipy AMD Hawaii (Radeon R9 290 / 290X) a Nvidia GM204 (GeForce GTX 970 / 980). Vezměme nejdříve Radeony. Jejich výsledek je zcela totožný, i když oba zvládají zpracovat různý počet pixelů za takt a oba běží na rozdílných taktech. Jak to? V tomto konkrétním testu totiž pro čip Hawaii není limitem počet pixelů zpracovaných za takt, ale paměťová propustnost. Ta je v případě obou modelů stejná (odpovídá 512bit sběrnici s 5GHz GDDR5) a proto jsou i výsledky stejné. Můžete si všimnout Radeonu R9 285, který díky podpoře delta-komprese není limitován datovou propustností (opět mějte na paměti, že hovoříme o situaci v tomto konkrétním testu - tato slova nelze generalizovat) a byť disponuje nižším počtem ROP, dosahuje zde vyššího výkonu.
3D Mark Vantage - fillrate (dle TechReport)
Jiná je situace s Nvidia GM204: GeForce GTX 970 a GTX 980. Tyto čipy podporují delta-kompresi, takže limitace propustností paměťové sběrnice (což, jak jsme probírali včera, může být něco trošku jiného než datová propustnost řadiče) není omezující (případně omezuje jen částečně). Díky tomu výsledky více vypovídají o potenciálu čipu než v případě zmíněných Radeonů.
Jak už jsme zmínili, plně aktivní čip GM204, který zde reprezentuje GeForce GTX 980, zvládá na všech úrovních zpracovat 64 pixelů v taktu. GeForce GTX 970 ale ne: má deaktivované tři výpočetní bloky (SM), přičemž každý výpočetní blok zvládá 4 pixely za takt. To znamená, že teoretické maximum pro GeForce GTX 970 je 64-(3*4) = 52 pixelů za takt, tzn. o 19 % méně. Dalších část dá rozdíl v taktovacích frekvencích obou karet, který dělá 3-7 %.
Při vydání GeForce GTX 970 uvedla Nvidia v materiálech pro recenze 64 ROP jednotek pro GeForce GTX 970 a GTX 980. Toto číslo bylo zmíněno ve všech článcích, recenzích, převzaly ho i různé databáze. Teprve při řešení situace kolem „3,5GB“ kapacity paměti GeForce GTX 970 Nvidia kontaktovala některé redakce a uvedla jednu překvapivou informaci. Při vydání karty došlo k omylu při komunikaci mezi technickým a marketingovým oddělením firmy a do materiálů se dostal údaj o 64 ROP jednotkách namísto reálných 56 ROP jednotek. Z materiálů už se údaj rozšířil po webu.
Možná si řeknete, jak je možné, že v desítkách recenzí a speciálních testů* žádný autor tento rozdíl neodhalil. On ho totiž nikdo odhalit dost dobře nemohl; alespoň ne za použití běžných testů. Právě proto, že GeForce GTX 970 má deaktivované některé funkční bloky, dokáže vykreslovat pouze 52 pixelů za takt, takže jestli má 56 nebo 64 ROP, se většinou běžných testů nedá odlišit - všechny ROP jednotky, které překračují oněch 52, totiž v herní zátěži zůstávají pro operace s pixely nevyužité - nemají tudíž na výkon vliv.
*pozn.: Program GPU-Z nenačítá počet ROP z databáze, ale detekuje jej podle registru. Zajímavé je, že podle autora GPU-Z se všechny ROP detekují jako online, i když by podle nového vyjádření Nvidie měly být některé (8) neaktivní. To znamená, že skutečný počet aktivních ROP autoři recenzí nemohli zjistit ani s pomocí testů (které nejsou s ohledem na zúžení unifikovaného jádra vypovídající), ani detekcí (která vypovídala o 64 ROP stejně jako specifikace Nvidie).
Jak situaci hodnotit? Na jednu stranu Nvidia uvedla chybné číslo, což nakonec napravila (Jen se ptáme, proč to trvalo tak dlouho? To nikdo z technického oddělení neviděl recenze, z nichž každá uváděla 64 ROP jednotek?). Na stranu druhou je vzhledem ke konfiguraci GeForce GTX 970 z hlediska herního výkonu jedno, zda má karta 56 nebo 64 ROP. I kdyby jich měla 52 (což by odpovídalo potenciálu zbytku čipu), herní výkon by se prakticky nelišil. Vliv by teoreticky mohl být pozorovaný v syntetickém testu pracujícím pouze se Z-daty (tam je jedno, kolik pixelů v taktu zbytek čipu zvládá), ale pro Z-data zase nefunguje delta-komprese, takže by tento test byl omezený propustností sběrnice a tudíž by se žádný rozdíl nemusel projevit (podobně jako není rozdíl mezi Radeony ve výše uvedeném fillrate testu).
GeForce GTX 760 | GeForce GTX 960 | GeForce GTX 970 | GeForce GTX 980 | |
GPU | GK104 3,5 mld. tr. | GM206 2,94 mld. tr. | GM204 5,2 mld. tr. | GM204 5,2 mld. tr. |
Plocha | 294 mm² | 227 mm² | 398 mm² | 398 mm² |
Proces | 28 nm TSMC | 28 nm TSMC | 28 nm TSMC | 28 nm TSMC |
Architektura | Kepler | Maxwell | Maxwell | Maxwell |
Frekvence | 980 MHz | 1126 MHz | 1050 MHz | 1126 MHz |
Boost | 1033 MHz | 1178 MHz | 1178 MHz | 1216 MHz |
SPs | 1152 | 1024 | 1664 | 2048 |
TMUs | 96 | 64 | 104 | 128 |
ROPs | 32 | 32 | 56 | 64 |
Výkon | 2,26 TFLOPS | 2,31 TFLOPS | 3,50 TFLOPS | 4,61 TFLOPS |
Výkon (DP) | 0,09 TFLOPS | 0,07 TFLOPS | 0,11 TFLOPS | 0,14 TFLOPS |
Paměti | 2 GB | 2 GB | 4 GB 256bit | 4 GB 256bit |
Takt | 6 GHz | 7 GHz | 7 GHz | 7 GHz |
Dat. prop. | 192 GB/s | 112 GB/s | 224 GB/s | 224 GB/s |
spotř. 3D | 170 W | 120 W | 145 W | 165 W (180 W) |
Napájení | 6+6 pin | 6 pin | 6+6 pin | 6+6 pin |
Výstupy | 2× DVI | DVI 3× DP 1.2 HDMI 2.0 | DVI 3× DP HDMI | DVI 3× DP |
Rozhraní | PCIe 3.0 ×16 | PCIe 3.0 ×16 | PCIe 3.0 ×16 | PCIe 3.0 ×16 |
API | DirectX 11 FL DirectX 12 | DirectX 11.3 DirectX 12 | DirectX 11.3 DirectX 12 | DirectX 11.3 DirectX 12 |
Nakonec proto přikládáme tabulku s opravenými údaji. Co to znamená pro uživatele GeForce GTX 970? Záleží, jak se na to dívají. Počet ROP jednotek je stále vyšší než adekvátní pro výkon zbytku čipu, takže rozdíl mezi 56 a 64 v tomto případě nemá na herní výkon vliv („úzké hrdlo“ je na úrovni unifikovaného jádra). Na druhé straně nelze popírat, že zákazníci byli výrobcem uvedeni v omyl.
Zda je toto důvod k reklamaci, je ovšem otázkou. Pokud by došlo na soud, byl by patrně zákazník v určité nevýhodě, neboť Nvidia na webu ani v návodu počet ROP neuvádí. Údaje uvedené v recenzích de facto nejsou směrodatné; jde o čísla zveřejněná třetí stranou. Váhu v tomto ohledu mají specifikace uvedené prodejcem či výrobcem karty. Pokud v popisu na e-shopu nebo třeba webových specifikacích výrobce karty (míněno např. Asus, MSI apod.) 64 ROP bylo, pak je šance na úspěch vysoká. S ohledem na poměr cena / výkon lze ale jen těžko předpokládat, že se o reklamaci (či její soudní vymáhání v případě neúspěchu) bude někdo snažit; za vrácené peníze si totiž jiný lepší produkt nepořídí.
Na výkon karty má paradoxně vliv spíš konfigurace „3,5 + 0,5 GB a 224 + 32bit“, která ovšem odpovídá specifikacím - než počet ROP jednotek (56 vs. 64 ROP), který specifikacím neodpovídá. Co o situaci soudíte vy?