PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gflops berechnen?


Gast
2007-10-23, 14:16:06
Auf der anderen Seite würde man auch mit 96 Shader-Einheiten und 1500 MHz Shader-Takt bei der GeForce 8800 GT von der MADD-Rechenleistung her (288 GFlops) noch gut zwischen GeForce 8800 GTS (230 GFlops) und GeForce 8800 GTX (346 GFops) liegen
Wie berechnet man diese Werte allgemein?

Godmode
2007-10-23, 14:31:10
Wie berechnet man diese Werte allgemein?

MADD = Multiply + Add dh das sind zwei Gleitkommaoperation

Ops/ALU * Anzahl ALUs * Takt =
2 * 96 * 1,5 GHz = 288 GFlops

Spasstiger
2007-10-23, 15:18:26
Wobei man dem G80 auch drei Operationen (Ops) pro Shader-ALU zugestehen kann (einmal MADD = ADD + MUL , eimal MUL).
Nur ist ja im zitierten Text ausdrücklich die Rede von MADD-Operationen.

Godmode
2007-10-23, 16:01:34
Wobei man dem G80 auch drei Operationen (Ops) pro Shader-ALU zugestehen kann (einmal MADD = ADD + MUL , eimal MUL).
Nur ist ja im zitierten Text ausdrücklich die Rede von MADD-Operationen.

Ich habe die MUL außen vor lassen, da sie nicht immer genützt werden kann. Aber du hast schon recht, eigentlich müsste man sie dazu zählen.

BlackBirdSR
2007-10-23, 16:24:31
Das ist das Problem an der FLOPs-Angabe. Wie und wann die Werte erreicht werden ist unmöglich einzusehen.

AnarchX
2007-10-23, 16:26:20
Das ist das Problem an der FLOPs-Angabe. Wie und wann die Werte erreicht werden ist unmöglich einzusehen.

Wobei bei G8x eher, als bei anderen aktuellen GPUs. ;)

Spasstiger
2007-10-24, 01:50:21
Falls man keine skalaren Shadereinheiten betrachtet, sondern vektorielle, muss man übrigens noch mit der Anzahl an Komponenten für die jeweilige Operation multiplizieren.
Z.B. hat der R580-Chip (X1900 XT/X, X1950 XT/X) 48 sogennante VEC4-Shadereinheiten. Diese rechnen jeweils 1 MADD3 (3 Komponenten), 1 MADD1 (eine Komponente wie beim G80), ein ADD3 und ein ADD1. Bei einem Takt von 650 MHz (=X1950 XTX) hat man dann eine Shaderleistung von

(3 * 3 (Ops mit 3 Komponenten pro ALU) + 1 * 3 (Ops mit 1 Komponente pro ALU)) * 48 (ALUs) * 650 MHz = 374 GFlops.

Zählt man nur die reinen MADD-Operationen, kommt man mit der X1950 XTX auf knapp 250 GFlops.

Was in der Regel nicht eingerechnet wird, sind Flops durch Special-Function-Units (SFUs), welche Mini-ALUs für spezielle Rechnungen wie z.B. den Sinus sind (bei CPUs gibt es auch radix = Wurzel). Diese speziellen Funktionen rechnen allerdings für gewöhnlich länger als einen Takt und weisen auch gewisse Abhängigkeiten auf, weshalb sie in das obige Rechenschema nicht reinpassen. Bei Herstellerangaben können die Flops durch SFUs dennoch enthalten sein.

OBrian
2007-10-28, 14:42:13
Man muß nur bei diesen Angaben immer beachten, daß das rein theoretische Werte sind. Die eignen sich zwar, um verschiedene Ausführungen identischer Architekturen zu vergleichen (z.B. voller Chip ggü. teildeaktiviertem Chip mit anderem Takt). Aber wenn man unterschiedliche Chiparchitekturen vergleichen will, verrennt man sich schnell, weil die tatsächliche Leistung in echten Anwendungen/Spielen stark auch von anderen Faktoren abhängt.

Sieht man ja an der Rechnung von Spasstiger: Danach sollte die X1900XTX selbst bei vorsichtiger Rechnung (250) mehr Power haben als die 8800GTS (230), aber in den allermeisten Benchmarks sieht es doch deutlich anders aus.

Gast
2008-01-28, 16:13:40
Ich muss das Thema mal aufgreifen. Da mich die ganze Geschichte interessiert, habe ich ein paar Vergleiche angestellt, es fehlen mir jedoch noch die Zahlen der Radeon 9000 und Radeon 8500. Weiß jemand, wie man diese errechnen kann?
Das einzige, was ich per google gefunden habe, sprach von 80GFlops (unrealistisch). Leider ist mein Englisch auch nicht das beste, sodass die Englische Wiki schonmal flach fällt.
Kann mir jemand helfen?

http://de.wikipedia.org/wiki/ATI-Radeon-8000-Serie
http://de.wikipedia.org/wiki/ATI-Radeon-9000-Serie

vielen Dank im Voraus.

Spasstiger
2008-01-28, 16:46:33
Ich muss das Thema mal aufgreifen. Da mich die ganze Geschichte interessiert, habe ich ein paar Vergleiche angestellt, es fehlen mir jedoch noch die Zahlen der Radeon 9000 und Radeon 8500. Weiß jemand, wie man diese errechnen kann?
Das einzige, was ich per google gefunden habe, sprach von 80GFlops (unrealistisch). Leider ist mein Englisch auch nicht das beste, sodass die Englische Wiki schonmal flach fällt.
Kann mir jemand helfen?

http://de.wikipedia.org/wiki/ATI-Radeon-8000-Serie
http://de.wikipedia.org/wiki/ATI-Radeon-9000-Serie

vielen Dank im Voraus.
Bei den R200-basierenden Karten (Radeon 8500, Radeon 9100) sind es ja vier Pixelshaderpipelines. Wenn man davon ausgeht, dass jede Pipeline ein MADD beherrscht, wären das 275*4*2*4 MFlops = 8,8 GFlops bei einer Radeon 8500.

Die RV250-basierenden Karten (Radeon 9000) besitzen ja nur zwei Pixelshaderpipelines, bei der Radeon 9000 Pro (275 MHz Chiptakt), müssten es dann 4,4 GFlops sein.

Hinzu kommt noch jeweils die Rechenleistung der Vertexshader-Einheiten, beim R200 und dem RV250 gibts davon wohl jeweils nur eine (+ eine T&L-Einheit).
Mit nur einer Vertexshadereinheit kommt man bei 275 MHz auf 275*1*2*1 MFlops = 0,55 GFlops.

deekey777
2008-01-28, 16:49:08
R200: 4x2
RV250: 4x1
:tongue:

AnarchX
2008-01-28, 16:52:53
Genau, zudem:
R200: 2VS
RV250: 1VS

Aber kann man beim R2x0 überhaupt schon von Floating-Point-OPs reden? AFAIK war es doch 16 Bit Fix-Point.

Zudem will der Gast wohl auch die Leistung vom R3x0 wissen, was bei dessen splitbaren Vec4-ALUs, 8 FLOPs pro ALU sein müssten, z.B. 9800 Pro 8* 8 Flops*378MHz = 25GFLOPs.
Oder gab es da noch Co-ALUs die man berücksichtigen muss?

Spasstiger
2008-01-28, 21:30:36
R200: 4x2
RV250: 4x1
:tongue:
Hm, beide haben vier Shadereinheiten? Ich dachte, der RV250 hätte nur halb soviele Shadereinheiten wie der R200.

Genau, zudem:
R200: 2VS
RV250: 1VS
Wobei beim R200 der zweite VS afaik nur eine T&L-Einheit ist.

Aber kann man beim R2x0 überhaupt schon von Floating-Point-OPs reden? AFAIK war es doch 16 Bit Fix-Point.
Der R200 und der RV250 konnten tatsächlich nur mit Fix-Point rechnen, deshalb haben beide Chips eigentlich 0,0 GFlops.

Gast
2008-01-29, 16:45:35
Vielen Dank euch, hat mir weiter geholfen. (y)

Hvoralek
2008-02-01, 21:57:57
Der R200 und der RV250 konnten tatsächlich nur mit Fix-Point rechnen, deshalb haben beide Chips eigentlich 0,0 GFlops.Du meinst den Fragment- Shader, oder? Die VS müssten FP32 sein.