PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Diskussion zu: Wie Gaming-Ampere die verdoppelte Anzahl an Shader-Einheiten erreicht


Leonidas
2020-09-03, 18:43:48
Link zur News:
https://www.3dcenter.org/news/wie-gaming-ampere-die-verdoppelte-anzahl-shader-einheiten-erreicht

hardtech
2020-09-03, 20:27:42
danke für die überaus verständliche ausführung.

Gast
2020-09-03, 20:34:54
Genau, sehr gute Erläuterung.
Kommt die Idee. Nvidia macht eine auf Vega ^ ^

paul.muad.dib
2020-09-03, 20:47:38
Das Schaubild kommt mir komisch vor. Ich würde ja vermuten, dass die INT32-Einheiten von Turing nun zu FP32 Einheiten aufgebohrt wurden, die aber immer noch INT können. Somit sollten mMn keine reinen INT 32 Einheiten mehr vorhanden sein.

Wenn Nvidia hier im abgebildeten Cluster 2x16 FP 32 + 1x16 INT 32 Einheiten verbaut hätte, aber immer nur 2/3 Blöcken angesteuert werden könnte, wäre das doch ein gewaltiger Verlust an Effizient.

Gast
2020-09-03, 21:11:19
Hi,

in der Tabelle ist angegeben, dass der GA104 768 Tensor Cores (2x die von Turing) besitzt. Auf Wikipedia ist der GA104 dagegen mit 192 Tensor Cores und mit 48 RT Einheiten eingetragen (https://de.wikipedia.org/wiki/Nvidia-GeForce-30-Serie).
Richtig schlüssig ist die Auflistung von Wikipedia nicht, Nvidia wird wohl kaum die Tensor Core Anzahl halbieren und keine Erhöhung der RT Einheiten durchführen. Ich glaube nicht, dass Wikipedia hier sehr belastbar ist, denn es ist keine Quelle angegeben, aber etwas merkwürdig finde ich das schon.

Eusti
2020-09-03, 22:32:06
Ich hab mal versucht es nachvollziehbar darzustellen.

Bei 36-50 INT je 100 FP, dürfte die Leistung eines CUDA-Kerns von Ampere dann ca. 70% der Leistung eines CUDA-Kerns von Turing entsprechen. Oder andersrum, die Verdoppelung der Kerne dürfte in 140% (also +40%) Performance enden.

http://www.eusterwiemann.de/Speed.GIF

ZeddZwerg
2020-09-03, 22:38:59
Hallo, eine sehr schöne Beschreibung und ergänzende Liste! :smile:

Flusher
2020-09-03, 22:47:20
Genau, sehr gute Erläuterung.
Kommt die Idee. Nvidia macht eine auf Vega ^ ^

Eher einen Fiji

Vega war da schon die verbesserte Variante mit besserer Auslastung der Shader. Fiji war ein verdoppelter Tahiti mit der Brechstange

Mega-Zord
2020-09-04, 00:14:34
Sehr schöner Artikel

Digidi
2020-09-04, 02:27:28
Ich wette bald kommt Gameworks raus und alles was mal mit anderen Datenformaten gemacht wurde Wird dann in Fap32 gemacht ob das sinnvoll ist oder nicht, sieht Tesselation.

Wie macht Ampere eigentlich FP64?

Mir kommt das Mittlerweile wie eine Reiner Marketing move vor. Man wollte wohl rein auf dem Papier die ersten mit 10.000 Shadern sein ob sinnvoll oder nicht.

Leonidas
2020-09-04, 05:41:44
Auf Wikipedia ist der GA104 dagegen mit 192 Tensor Cores und mit 48 RT Einheiten eingetragen (https://de.wikipedia.org/wiki/Nvidia-GeForce-30-Serie).


Das wäre in jedem Fall falsch. Laut NVs eigenem Blockschaltbild sind es in einer SM-Partition 2x Tensor. Ergo pro SM 8x Tensor. Ergo für TU104 = 384 Tensor.

Da Ampere die Tensor-Perf auf das 2,7fache steigern will (exakt wie bei FP32), kann auch dort nur dieselbe Verdopplung stattgefunden haben. Aber in dem Fall habe ich auch "mutmaßlich" drangeschrieben.

JVC
2020-09-04, 08:45:36
Ich hoffe auf umfangreiche Spieletests, auch mit etwas älteren Titeln.

Das hört sich alles gut an, aber ich will sehen was es wirklich bringt ;)

NV hat sehr positiv überrascht, abgesehen von 8-10Gb(hoffe auf die rasche Verdopplung)
und dem relativ hohen Verbrauch, aber haben sie AMD auch überrascht?

M.f.G. JVC

Gast-LAZA
2020-09-04, 09:20:50
Hi,

in der Tabelle ist angegeben, dass der GA104 768 Tensor Cores (2x die von Turing) besitzt. Auf Wikipedia ist der GA104 dagegen mit 192 Tensor Cores und mit 48 RT Einheiten eingetragen (https://de.wikipedia.org/wiki/Nvidia-GeForce-30-Serie).
Richtig schlüssig ist die Auflistung von Wikipedia nicht, Nvidia wird wohl kaum die Tensor Core Anzahl halbieren und keine Erhöhung der RT Einheiten durchführen. Ich glaube nicht, dass Wikipedia hier sehr belastbar ist, denn es ist keine Quelle angegeben, aber etwas merkwürdig finde ich das schon.

Wie Du schon richtig erkannt hast - die deutsche Wiki ist Dreck!

Auch wenn man nur wenig englisch versteht, ist die dortige Wiki erheblich besser (akurat, ausführliche Artikel, Tabellen)

https://en.wikipedia.org/wiki/GeForce_30_series

Dalai-lamer
2020-09-04, 09:28:02
Ich hab mal versucht es nachvollziehbar darzustellen.

Bei 36-50 INT je 100 FP, dürfte die Leistung eines CUDA-Kerns von Ampere dann ca. 70% der Leistung eines CUDA-Kerns von Turing entsprechen. Oder andersrum, die Verdoppelung der Kerne dürfte in 140% (also +40%) Performance enden.

http://www.eusterwiemann.de/Speed.GIF

Wenn das alles so offensichtlich ist, wieso dann nicht gleich so NVIDIA?
Kann AMD auch in der Richtung optimieren

Gast
2020-09-04, 19:00:54
Doch dies ist dann beachtbar weniger, als was nVidia mit seiner Aussage angegeben hatte, nachdem auf 100 FP32-Berechnungen immerhin 36 INT32-Berechnungen kommen sollen.

Das ist sogar ziemlich genau das was laut Nvidias Angaben herauskommen sollte.

Nvidia spricht von 36INT auf 100 FP Operationen.

Die Basis sind damit 136 Operationen und nicht nur 100 Operationen.
Normiert kann Turing diese Operationen in 100 Takten abarbeiten, wofür Pascal 136 brauchen würde.

Turing braucht also nur 100/136 der Zeit die Pascal brauchen würde, oder anders ausgedrückt 73,5%.

Der Soll-Speedup beträgt also 26,5%, und landet damit genau im Bereich der 25-30% realem Speedup.

Gast
2020-09-04, 19:07:38
Die Angaben zu den Tensor-Cores sind vermutlich falsch und zwischen Turing und Ampere eh nicht erreichbar.

Ein Turing-SM hat 2 Tensor-Cores pro SM, bei GA100 ist es nur einer. Voraussichtlich wird sich die Anzahl der Tensor-Cores pro SM zwischen Turing und Ampere also halbieren, wobei der einzelne Tensor-Core von Ampere natürlich viel mehr Durchsatz hat als die 2 von Turing.

Gast
2020-09-04, 19:16:27
Das Schaubild kommt mir komisch vor. Ich würde ja vermuten, dass die INT32-Einheiten von Turing nun zu FP32 Einheiten aufgebohrt wurden, die aber immer noch INT können. Somit sollten mMn keine reinen INT 32 Einheiten mehr vorhanden sein.


Könnte sein. Aufgrund Nvidias Vergangenheit vermute ich eher extra INT-Einheiten.

Nvidia hat eigentlich in der Vergangenheit immer eher spezialisierte Einheiten für extra Aufgaben eingebaut anstatt Multi-Purpose-Einheiten die mehrer Sachen, allerdings nicht gleichzeitig, können.

Beispielsweise hat Nvidia immer extra FP64-Einheiten verbaut, und niemals generell FP64-Einheiten die auch FP32 mit doppelter Geschwindigkeit können.

Auch Pascal hatte in Hardware schon INT32-Einheiten, die haben sich aber die Datenpfade mit FP32 geteilt und konnten daher nicht gleichzeitig verwendet werden.

Einzig bei Tegra-Maxwell hat Nvidia FP32-Einheiten die auch FP16 mit doppelter Geschwindigkeit können verbaut. In Turing wird sogar FP16 mit extra ALUs durchgeführt und nicht auf den FP32-ALUs.

Daher tippe ich auch bei Ampere auf eigene ALUs für INT in Hardware, mit steigender Integrationsdichte ist das einfach sinnvoll. Andererseits hätte man dann auch 2 unterschiedliche FP32-Blöcke, einen der auch INT kann und der andere der es nicht kann, nicht unmöglich aber unwahrscheinlich.

Für die Performance ist es auch egal ob es eigene ALUs sind oder ein FP32 Block dafür verwendet würde, die Variante mit extra INT-ALUs wäre lediglich energieeffizienter.

Wenn Nvidia hier im abgebildeten Cluster 2x16 FP 32 + 1x16 INT 32 Einheiten verbaut hätte, aber immer nur 2/3 Blöcken angesteuert werden könnte, wäre das doch ein gewaltiger Verlust an Effizient.[/QUOTE]

Gast
2020-09-05, 15:23:24
Wenn das alles so offensichtlich ist, wieso dann nicht gleich so NVIDIA?

Weil das in 12nm mit der gleichen Anzahl an Shadern nicht möglich gewesen wäre in dem Power-Envelop, dass man angestrebt hat.

Damals hat man eben nur die Int-Einheiten hinzugefügt und jetzt bohrt man diese um FP-Funktionalität auf, was mehr Power benötigt, aber das kann man ja jetzt mit dem 8 nm Prozess kompensieren. Man sprengt zwar immer noch den 300W-Envelop, aber eben "nur" um 20W bis 50W.

Leonidas
2020-09-05, 15:27:09
Ein Turing-SM hat 2 Tensor-Cores pro SM, bei GA100 ist es nur einer. Voraussichtlich wird sich die Anzahl der Tensor-Cores pro SM zwischen Turing und Ampere also halbieren, wobei der einzelne Tensor-Core von Ampere natürlich viel mehr Durchsatz hat als die 2 von Turing.


Nicht nur vermutlich, sondern inzwischen sogar bestätigt. Halbs Anzahl, vervierfachter Durchsatz = faktische Verdopplung, nur die nominelle Einheiten-Nummer sinkt.





Weil das in 12nm mit der gleichen Anzahl an Shadern nicht möglich gewesen wäre in dem Power-Envelop, dass man angestrebt hat.


Vermutlich eher wegen der Chipgröße. TU102 war schon 754mm² fett.

Gast
2020-09-05, 17:50:25
Nicht nur vermutlich, sondern inzwischen sogar bestätigt. Halbs Anzahl, vervierfachter Durchsatz = faktische Verdopplung, nur die nominelle Einheiten-Nummer sinkt.


Das stimmt wie wir jetzt wissen auch nur so halb.

[img]https://i.imgur.com/FCffwm0.png

Die Tensor-Cores in GA102 haben nur den halben Durchsatz von GA100, und damit pro SM den gleichen Grunddurchsatz wie bei Turing.

Allerdings unterstützen sie wie auch G100 Sparsity, was den faktischen Durchsatz verdoppeln kann.

Weiterer Vorteil: Dadurch dass es nur mehr 1 Tensor Core ist wird offenbar auch nur 1 Slot vom Scheduler belegt

[img]https://i.imgur.com/0DoqpY4.png[/quote]
Damit kann Ampere nun FP32, RT und Tensor parallel abarbeiten, bei Turing war nur 2 aus 3 möglich.

Vermutlich eher wegen der Chipgröße. TU102 war schon 754mm² fett.[/QUOTE]