PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Double Precision mit GTX 460 (GF104)


labecula
2010-08-12, 22:32:45
Mir ist zwar bekannt, dass ein Großteil der eingesparten Schaltkreise auf dem GF104 gegenüber dem GF100 auf Kosten der Double Precision Einheiten geht. Sprich, die GTX 460 ist für wissenschaftliche Aufgaben mit Doppelter Genauigkeit nicht unbedingt geeignet. Meine Info war aber bisher, dass selbst der GF104 in geringem Maße dazu in der Lage sein soll. Nun habe ich mal testweise einen GPU-Computing-Test mit BOIC und dem Milky Way Projct gemacht, welches Double Precision benötigt. Dies gelingt aber nicht, da er Fehler meldet. meine Vermutung ist, es liegt an der eingeschränkten oder nicht vorhandenen DP-Möglichkeiten der GF104. Ein Boic Project wie AlbertEinstein@home mit einfacher Precision gelingt ohne Probleme.
Kann wer etwas genaues zu den DP Möglichkeiten des GF104 Chipsatzes sagen? Ist dort überhaupt eine Möglichkeit gegeben oder wurden ALLE Einheiten kastriert?

Bucklew
2010-08-12, 23:43:53
Auch der GF104 kann noch DP, ungefähr 1/8 der SP-Performance. Das ist bei allen GF10x-GeForce so. Die Quadro/Tesla GF100-Karten haben bei DP die Hälfte der SP-Performance.

Consystor
2010-08-13, 03:19:27
Hi!

Habe seit gestern Abend ne Gainward GTX460 GS 2GB für Spiele und wg. eines eigenen OpenCL-Projekts. Sie kann auf jeden Fall auch DP. Hatte gestern leider nur die Zeit sie mit SP zu testen und war recht enttäuscht, als ich gesehen habe, dass sie schon bei SP nur halb so schnell ist wie eine zuvor getestete Colorful GTX470. :(
Es werden unter OpenCL zudem auch nur halb so viele Compute Units angegeben.

Ich teste sie nacher mal mit double precision. Hoffe, dass es keine Probs gibt - wäre äußerst ärgerlich, falls das im aktuellen OpenCL-1.1 dev Linux-Treiber noch nicht richtig für den GF104 implementiert ist.
Jetzt will ich erstmal sehen, wie es mit der DPC Latency aussieht...

Gruß

PS:
Habe es getestet und es gibt kein Prob mit double precision. Jedenfalls die zugehörige OpenCL extension cl_khr_fp64 funktioniert problemlos. Habe mal die oclDeviceQuery Ausgabe (ein Nvidia Testprogramm für OpenCL) angehängt, wo man die wichtigsten Eigenschaften dreier GraKas sieht. Trotzdem ist bei meinem Prog die GTX460 auch mit DP nur etwa halb so schnell, wie die 470. Liegt aber mE an der hälfte der Shader Cluster (nur 7 statt 14 :( )

Coda
2010-08-13, 05:05:04
und war recht enttäuscht, als ich gesehen habe, dass sie schon bei SP nur halb so schnell ist wie eine zuvor getestete Colorful GTX470.
Das kann eigentlich kaum sein, außer du machst komische Dinge.

Es werden unter OpenCL zudem auch nur halb so viele Compute Units angegeben.
Eine "Compute Unit" hat bei GF104 deutlich mehr Ausführungsresourcen als bei GF100, deshalb kannst du das so nicht vergleichen.

Consystor
2010-08-13, 05:35:32
Also bin ich schuld, weil ich "komische Dinge" mache, dass die GTX460 so viel langsamer ist? ;D

Ging mir ja auch nicht um den Vergleich der Compute Units, sondern um GTX460 vs. GTX470 in genau meinem Fall. Wird auch sicher so sein, dass ich es allgemein nicht vergleichen kann aber das habe ich auch nicht getan.
Trotzdem denke ich, in meinem Fall wird es hauptsächlich an den Compute Units liegen.

Ich weiß zumindest, dass mein gewisser kernel folgende Laufzeiten hat:
single precision:
GTX 460: 0.951814 sec
GTX 470: 0.550467 sec
HD5850: 2.29815 sec
double precision (natürlich gleiche Berechnungen):
GTX 460: 1.06341 sec
GTX 470: 0.604876 sec
HD5850: 2.51097 sec

Nenne es "komische Dinge" oder nicht - es ist wies ist - die 460 ist eindeutig langsamer als die 470 und das liegt auch nicht an der geringeren Anzahl von DP-Einheiten.
Und was für mich zählt ist jedenfalls das Ergebnis und nicht der Unterschied "auf dem Papier".

Gruß

r@h
2010-08-13, 06:29:20
Wenn man bedenkt, dass DP gegenüber SP bei GF104 nur noch ein achtel (1/8) der Ausführungsgeschwindigkeit haben soll...
...sind Deine Ergebnisse schon mehr als "erstaunlich".

Findest Du nicht?

Razor

Consystor
2010-08-13, 13:55:43
Hallo Razor,

Deine Frage ist vollkommen berechtigt! :)

Sie sind aber nicht erstaunlich, weil die Berechnungen dieses kernels nicht floating point lastig sind!
Es ist halt wie bei einer CPU - da macht im realen Fall nicht nur der Takt etwas aus, sondern auch die Cache-Größe, Speicheranbindung etc.
Und in meinem Fall werden auch viele integer Berechnungen durchgeführt etc.

Anders gesagt:
Wenn ich nur Integer Berechnungen durchführen würde und sonst nichts, dann würden die Zeiten kaum variieren, falls der GF104 und GF108 bis auf die Sache mit den DP-Einheiten gleich wäre.
Aber die Unterschiede zwischen 460 und 470 liegen, wie jeder weiß, nicht nur in der Anzahl der DP-Einheiten, sondern auch im Speicherinterface und in der Anzahl der shader.

Was mich halt nervt ist, dass überall nur von der schlechteren DP-Performance geschrieben wird und den Leuten m.E. suggeriert wird, dass der GF100 und GF104 bei GPGPU-Computing ansonsten gleich auf sind, doch das sind sie nicht und die Unterschiede können je nach Karte sehr groß sein, wie man sieht.

Zudem soll nicht die Ausführungsgeschwindigkeit bei DP 1/8 sein, sondern die "DP-Leistung" oder wie die das nennen soll nur 1/8 betragen - wie auch immer sich das auf die Ausführungsgeschwindigkeit auswirkt. Aber das soll jetzt keine Anmache sein. :) Ich habe auch erst an "Ausführungsgeschwindigkeit" gedacht, nur wäre das schon eine Interpretation.
Die GPUs sind ja nicht mal gleich getaktet etc.

Grüße und danke für den Hinweis!

Gast
2010-08-14, 21:15:59
Wenn man bedenkt, dass DP gegenüber SP bei GF104 nur noch ein achtel (1/8) der Ausführungsgeschwindigkeit haben soll...
...sind Deine Ergebnisse schon mehr als "erstaunlich".



Es ist 1/12, 1/8 ist es beim Consumer-GF100 (1/2 bei Tesla)

r@h
2010-08-14, 21:28:39
Was mich halt nervt ist, dass überall nur von der schlechteren DP-Performance geschrieben wird und den Leuten m.E. suggeriert wird, dass der GF100 und GF104 bei GPGPU-Computing ansonsten gleich auf sind, doch das sind sie nicht und die Unterschiede können je nach Karte sehr groß sein, wie man sieht.
Das steht ausser Frage!
Die Frage ist halt, wofür man die Karte genau einsetzen will.
Und ob man im Consumer-Umfeld nich auch ein bissel "mehr Zeit" hat ;)

In der Firma kam auch mal jemad auf die tolle Idee für die CAD-Workstations "einfach" mal Consumer-Grafikkarten zu nehmen... was ja auch plausibel erscheint, wenn man die Hintergründe nicht kennt.

Lange Rede, kurzer Sinn... ich habe es dann mal vorgeführt und dann hat man es auch begriffen.
Die Frage nach dem tatsächlichen Unterschied habe ich dann mit dem SoftMod ala RivaTuner demonstriert.

Eine Kombo aus Consumer-Karte und RivaTuner habe ich dann aber abgelehnt, da dies in einer Firma schlicht ein "NoGo" ist.
Dies hat man dann auch eingesehen...

Mich würde tatsächlich mal interessieren, ob es zwischen GeForce und Quadro auch bei den GF100 keinen Hardware-Unterschied gibt.
Die Teslas stehen auf einem anderen Blatt...

Razor

Gast
2011-02-22, 22:21:10
Hallo Razor,

hast du den Softmod via Rivatuner bei einer GTX460 durchgeführt oder bei einem älteren Modell?
Wenn ja, könntest du mir bitte erklären, wie du das angestellt hast^^
Ich hab schon eine Weile im Netz gesucht und nichts gefunden, das darauf hinweist, dass ein Softmod bei der GTX460 funktioniert.

Besten Dank schon mal im Voraus.