Ich möchte wissen, wie viele parallele Einheiten für die Verarbeitung von Scheitelpunkten eine GPU hat.
Diese Wikipedia-Seite bietet einen GFLOPS und eine Taktrate, zum Beispiel für die Radeon 5850 "Broadway PRO" erhalten Sie 1000 GFLOPS. Angenommen, ein Vertex-Shader hat 100 Flops. Das bedeutet, dass Sie 1000e9 / 100 = 10e9 Vertices pro Sekunde verarbeiten können.
Gibt es eine vom Hersteller veröffentlichte Anzahl von Parallelverarbeitungseinheiten oder eine Möglichkeit, diese Anzahl zu ermitteln?
Antworten:
Nein, das tut es mit Sicherheit nicht.
Grundsätzlich sollten Sie jede Berechnung der Ausführungsgeschwindigkeit betrachten jeden Code basierte ausschließlich auf „FLOP“ count suspekt zu sein. In der Tat ist es im Allgemeinen am besten, wenn Sie FLOPS vollständig ignorieren.
Sie haben den Begriff "parallele Einheit" nicht definiert. Ohne diese Definition könnten wir nur raten, was Sie wollen.
Nehmen Sie die Radeon 5870. Sie verfügt über 1600 Gleitkommaeinheiten. Das bedeutet, dass für jeden Zyklus 1600 skalare Gleitkommaoperationen gleichzeitig ausgeführt werden können. Jeder VLIW-Opcode arbeitet jedoch mit 5-Wege-Vektor-Mathematikregistern. Die kleinstmögliche Granularität des tatsächlichen Codes ist also 1600/5 oder 320 (Hinweis: Dies ist eine enorme Vereinfachung). Das sind 320 Threads.
Das funktioniert jedoch nicht wirklich so. Es gibt keine 320 separaten Ausführungspfade. Es können nicht 320 verschiedene Codeteile auf 320 verschiedenen Einheiten ausgeführt werden. Die 5-Wege-VLIWs sind selbst in 4-Wege-SIMD-Kerne gruppiert. Jede SIMD kann einen eigenen Ausführungspfad und einen eigenen Quellcode haben. Jedes VLIW innerhalb eines SIMD-Kerns kann separate Daten haben, so dass sie separate Werte berechnen. Jeder VLIW innerhalb eines SIMD-Kerns führt jedoch dieselben Anweisungen im Sperrschritt mit den anderen VLIWs in diesem Kern aus.
Sie haben also wirklich nur 320/4 oder insgesamt 80 Threads. Aber auch hier kommt es darauf an, um welche Art von "Paralleleinheit" es sich handelt. Technisch gesehen sind 1600, 320 und 80 legitime Antworten.
Und das ist nur für eine bestimmte Architektur. Die Fermi-Linie von NVIDIA (GeForce 4xx und höher) verwendet eine völlig andere Architektur. Die Cayman-Linie von ATI (Radeon 69xx) ändert die 5-Wege-VLIWs in 4-Wege-VLIWs. Ihre nächste Architektur kann ebenfalls einige signifikante Unterschiede aufweisen.
Ohne zu wissen, wonach Sie suchen, gibt es einfach keine Möglichkeit, die Frage zu beantworten.
quelle
Ich verstehe nicht, was meinst du mit Parallelverarbeitungseinheit? Shader-Einheiten? Da eine ppu und eine gpu heutzutage im Grunde dasselbe sind, meine ich, dass die ppu die gpu ist, wenn wir über ati radeon sprechen.
Ich nehme an, Sie meinen die Funktionseinheiten, Sie müssen das
Config core
Feld in Wikipedia lesen :Config Core – The layout of the graphics pipeline, in terms of functional units. Over time the number, type and variety of functional units in the GPU core has changed significantly; before each section in the list there is an explanation as to what functional units are present in each generation of processors.
Also für die Radeon sagst du, es hätte:
was für den Broadway Pro ist:
800:40:16
Dies bedeutet, dass es 800 Shader-Einheiten, 40 Textur-Mapping-Einheiten und 16 Render-Ausgabeeinheiten hat.
EDIT: Nun nein, es scheint, dass die Parallelverarbeitungseinheit auch auf das angewendet wird, was Sie meinen. Ich nehme an, es ist etwas verwirrend, sie so zu nennen. Ich würde sie Shader-Einheiten oder Simd-Kerne nennen.
quelle