DaniëlWW2 schreef op donderdag 3 september 2020 @ 00:14:
[...]
Dus een Turing/"Paxwell" hybrid?
Nog twee aparte INT32 en FP32 (Cuda Cores) blokken van elk 16 ALU's zoals in Turing, maar totaal aantal FP32 ALU's weer naar 32 zoals in "Paxwell".
[
Afbeelding]
De vraag is alleen hoe doe je die andere 16 FP32 ALU's? Mijn eerste gedachte is namelijk dat het door de Tensor Cores gedaan zal worden die met Ampère ook FP32 kunnen. Dat betekent alleen wel dat je die weer voor iets anders moet gebruiken naast denoising en DLSS. Het alternatief is dat er nog een blok van 16 FP32 ALU's is en je dus twee FP32 ALU blokken van 16 krijgt en een INT32 blok van 16 en Tensor Cores.
@
Werelds ik zag dat jij ook al bezig was met bedenken hoe dit zou werken. Nog andere ideeën of?

En daar hebben we het. Zoals ik al zei, een hoop marketing fluff. Er zijn technisch gezien wel dubbel zo veel FP32 ALU's, maar de helft kan maar een deel van de tijd gebruikt worden.
Wat daar (heel kort door de bocht) staat is dat Ampère in het beste geval voor FP32 dubbel zo snel als Turing is en in het slechtste geval even snel. Een GA104 in de 3070 is daarmee vrijwel identiek aan TU104 in de 2080 en GA102 in de 3080 aan TU102 in de 2080 Ti. Allemaal in de basis 16+16 FP32/INT32 per partitie, 4 partities per SM en respectievelijk 46 en 68 SM's. De Ampère chips hebben echter naast de INT32 ALU's dus een extra blok van 16 FP32 ALU's zitten die *misschien* aangesproken kunnen worden. Dat hangt er van af of een wave INT32 bevat; zodra dat het geval is, valt die partitie in feite terug naar Turing performance.
Dat verklaart eigenlijk het "gebrek" aan performance al en waarom een 3080 slechts half zo veel sneller is dan een 2080 als de cijfers doen vermoeden.
Ik snap wel waarom ze het gedaan hebben, het is echter niet de meest elegante oplossing. Het is enorm inefficiënt (er liggen altijd minimaal 16 van de 48 ALU's stil) en het maakt scheduling nog lastiger. Tegelijkertijd betekent het ook wel dat we voor de verandering wellicht wel eens meer performance kunnen krijgen door middel van drivers updates. Nvidia leunt nog steeds keihard op hun driver voor scheduling, dus het zou me niets verbazen als ze daar de boel nog wat meer kunnen sturen om zo veel mogelijk pure FP32 waves samen te schedulen.
De opgegeven single precision cijfers zijn dus volledig onzin, die zijn van z'n leven niet te halen (in games). Er is geen workload waarmee je 30 TF uit een 3080 geperst krijgt. Nee, waar je op kan rekenen is 14,9 TF (148% 2080) tot ergens richting de 29,8 (296% 2080). Met een 50/50 split van pure FP32 en mixed waves zou er theoretisch al 22,4 TF moeten zijn. Dat is 220% van een 2080 en wordt al niet gehaald. Het lijkt vooralsnog eerder zo te zijn dat er ~20-30% van de tijd pure FP32 waves zijn (dan zit je op 77% tot 92% sneller dan een 2080).
We zullen het wel zien, ik denk dat de reviews enorme uitschieters zullen laten zien. In beide richtingen. Er zullen games zijn die belachelijk veel sneller lopen en games waar de sprong in verhouding teleurstellend wordt.