Vega kwam na Polaris.

Maar Vega is gewoon apart. Het is eigenlijk Fiji met de paar verbeteringen in Polaris en nog wat dingen in Vega die uiteindelijk niet goed werkte of tot hun recht kwamen. Het enige dat wel werkte was dat Vega niet langer meer je scherm kunstmatig in twee of vier stukken hakte en elke pipeline een stuk deed. Kreeg je dus een explosie in een shooter in een hoek van je scherm met met bijvoorbeeld Fiji, dan was een pipeline hiermee bezig terwijl de andere drie niks deden.
Met Vega heb ik ook al jaren het idee dat ze aan het experimenteren waren voor RDNA. Maar het grootste probleem konden ze gewoon niet verhelpen. Dat is namelijk hoe GCN wavefronts afhandelde. Maximaal 64 threads en elke clock cycle 16 naar een van de vier SIMD blokken van 16 ALU's. Je bent dus maximaal vijf clock cycles bezig om een wave 64 te berekenen.
Het is weer even geleden, maar als ik het me goed herinner werden er vanuit de scheduler maximaal 10 wavefronts klaargezet voor elke CU. En als al het werk voltooid was, kwam de volgende set. Het probleem was dat veel CU's in de meeste gevallen helemaal geen 10 x 64 = 640 threads aan berekeningen kregen. Nee het was vaak een beduidend lager aantal. En als je dan hier en daar een CU hebt die meer werk heeft, en dus meer cycles nodig heeft, dan stalled de rest van je pipeline. Hoe dieper je architectuur dan is, hoe groter de stalls.
RDNA heeft dit weggegooid met hun dual CU. Dat is met afstand de belangrijkste reden waarom RDNA zoveel sneller is dan Vega. Een RDNA dual CU kan twee wave 32 of een wave 64 verwerken en het is altijd een clock cycle. Ook dacht ik me te herinneren dat er geen centrale synchronisatie meer is waarbij de hele GPU aan het wachten is totdat een paar CU's ook klaar zijn. Dat is ook logisch omdat het nu altijd een clock cycle is.
En wat je uit de geruchten kan opmaken is dat RDNA3 hier weer een volgende stap in wil zetten. Daar lijken ze terug te gaan naar vier SIMD per CU, maar wel wave 32 capaciteit willen behouden. In feite dus een verdubbeling in rekenkracht zonder de nadelen van de GCN CU die hier vijf cycles over deed.
Ook lijkt de inzet te zijn om nog maar 8CU diepe shader arrays te hebben waarbij elke CU tweemaal zoveel ALU's heeft. Want alle specificaties nu wijzen hierop als je het doorrekent.
edit:
Dan nog even versimpeld wat nu eigenlijk het prestatiebepalende punt is van een GPU is.

Eigenlijk kan je alles zoals: FP, INT, geheugenbus, cache etc vergeten. Het is allemaal zeer interessant (vind ik dan) maar uiteindelijk dient het maar een doel: Occupency.
Occupency kan je het beste uitdrukken in de vraag welk percentage van je ALU's een berekening uit te voeren heeft tijdens een clock cycle?
Dus stel je hebt 2560 ALU's die rond de 1800MHz geclocked zijn. Als die videokaart vergelijkbaar presteert met een GPU met 2560 + 2560 ALU's rond 1800MHz, dan is videokaart een bijna tweemaal zo efficiënt. Dit is overigens geen toevallig voorbeeld. Dit is precies wat er gebeurd met de RX5700T en RTX2070S. RDNA1/2 ligt dan ook mijlenver voor op Turing/Ampere als het om occupency gaat. De focus bij RDNA ligt ook op het zo efficiënt mogelijk maken van de GPU door de occupency te verhogen.
Nvidia compenseert dit met fysiek grotere chips op oudere nodes alsmede meer kleinere ALU's, minder cache etc. Dit is waarom er ook wel word gesproken over "brute force" als het weer over Ampere gaat. Het is zijn veel meer rekeneenheden die minder efficiënt ingezet worden.
GCN haar occupency was dramatisch. Het was fysiek niet mogelijk om meer dan 25% te halen door hun CU structuur die elke clock cycle maar maximaal 25% van alle ALU's van een rekenopdracht kon voorzien. RDNA haalde eigenlijk meteen dit probleem weg en daarom presteerde een 2560 ALU chip (Navi 10) opeens beter dan een 4096 ALU chip (Vega 10). RDNA2 deed er een volgende stap overheen door data fetchback flink te verbeteren met de L3 cache alsmede allerlei kleine dingen die ik waarschijnlijk ook niet goed zal begrijpen.
En zo kijk ik dus ook naar RDNA3. Ik kijk echt naar wat ze lijken te doen qua occupency verbeteringen naast de enorme toenames in aantal ALU's, In ieder geval lijken ze de CU helemaal op de schop te nemen.
[
Voor 29% gewijzigd door
DaniëlWW2 op 13-05-2022 17:11
]
Never argue with an idiot. He will drag you down to his own level and beat you with experience.