PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sind Grafikchips die besseren CPUs?


Corny
2006-05-27, 14:44:06
Langsam wundert mich die ganze Sache immer mehr. Grafikchips sollen für Physikberechnungen genutzt werden. Jetzt inzwischen sind auch Sound-Berechnungen angedacht.... bald kommt vielleicht noch die KI auf den Grafikchip...

Das es machbar ist, ist nichts besonderes. Aber mich wundert das es auch noch so extrem performant ist! Ein auf Grafikberechnungen spezialisierter Chip zersägt in Physikberechnungen gnadenlos jede High End CPU. Auch mit speziellen Physik-Chips hält er angeblich sehr gut mit. Dabei wurde der Chip nicht darauf optimiert das zu können.
Eine CPU die hingegen als "Mädchen für alles" entwickelt wurde, kann das scheinbar garnicht richtig.

Wieso können Grafikkarten diese fremden Aufgaben soviel schneller bearbeiten als moderne CPUs?
Sind sie überhaupt irgendwo schlechter? Würde beispielsweise WinRAR darauf auch schneller laufen?

Coda
2006-05-27, 15:00:15
Eine GPU ist ein Streamprozessor und auch nur dafür gut zu gebrauchen. Physik und Sound ist eben so ein Fall.

Corny[/POST]']Würde beispielsweise WinRAR darauf auch schneller laufen?
Nein. Genau sowas läuft mit DX9 überhaupt nicht und mit D3D10 wohl immer noch beschissen.

Gast
2006-05-27, 15:00:45
Hehe..das wird irgendwann auch der Fall sein, blos dann gibt es nur noch eine CPU die durch viele Cores alles berechnen kann und wir sind wieder am Anfang.

Coda
2006-05-27, 15:02:26
Auch das wird so schnell nicht passieren, weil bei einem Triangle-Rasterizer soviel Arbeit anfällt die festverdrahtet werden kann ohne Flexibilität zu verlieren.

Corny
2006-05-27, 15:11:51
Das heisst also das im groben nur Physik und Sound auch gut auf Grafikkarten laufen würden. Aber wenn ich jetzt beispielsweise Winrar, oder Excel auf meiner Grafikkarte ausführen würde, wäre es im Gegensatz zu einer aktuellen CPU recht langsam?

(del)
2006-05-27, 15:17:59
Corny[/POST]']Wieso können Grafikkarten diese fremden Aufgaben soviel schneller bearbeiten als moderne CPUs?
Wie Coda schon sagte, sind GPUs Streaming-CPUs :) Für die gibt es keine "fremden Aufgaben". Durch die 'Festverdrahtung' und die APIs können sie nur manches ausgezeichnet und manches nur grottenschlecht. Läßt sich etwas in einem einzigen Großen rutsch (Datenstrom) und parallel auf allen ALUs durchrechnen, sind sie das schnellste was es gibt. Bei den Szenarios die für die CPU Gang&Gäbe sind (Sprünge, vorausberechnetes verwerfen, Register retten und und und) sind sie die langsamsten CPUs die es gibt.

Coda
2006-05-27, 15:42:29
Corny[/POST]']Aber wenn ich jetzt beispielsweise Winrar, oder Excel auf meiner Grafikkarte ausführen würde, wäre es im Gegensatz zu einer aktuellen CPU recht langsam?
Sowas würde gar nicht funktionieren, aus den verschiedensten Gründen. Wenn dann kann man nur einzelne Algorithmen damit beschleunigen.

SKYNET
2006-05-27, 15:59:59
war nicht sogar schon, eine FX5900U so schnell wie nen 10GHz P4 es theoretisch wäre?! :|

Corny
2006-05-27, 16:03:14
Coda[/POST]']Sowas würde gar nicht funktionieren, aus den verschiedensten Gründen. Wenn dann kann man nur einzelne Algorithmen damit beschleunigen.

okay, um bei meinem WinRAR Beispiel zu bleiben würde es z.B. klappen, das Winrar Bilder, die zu komprimieren sind, an die Grafikkarte zu schicken, dort läuft dann die Texturkompression drüber und die schickts wieder an Winrar zurück.
Rein fiktives und vereinfachtes Beispiel natürlich.

Corny
2006-05-27, 16:05:26
SKYNET[/POST]']war nicht sogar schon, eine FX5900U so schnell wie nen 10GHz P4 es theoretisch wäre?! :|

Das käme dann wohl auch wieder auf die Aufgabe an, die man der GPU übertragen würde. Bei reiner Grafikberechnung wäre ein 10Ghz P4 wohl noch brutal untertrieben :biggrin:

Gast
2006-05-27, 16:15:40
Coda[/POST]']Auch das wird so schnell nicht passieren, weil bei einem Triangle-Rasterizer soviel Arbeit anfällt die festverdrahtet werden kann ohne Flexibilität zu verlieren.

Es wird aber geschehen, früher oder später, sobald die Parallelisierung so gut ausgereift ist.

Coda
2006-05-27, 16:32:43
Corny[/POST]']okay, um bei meinem WinRAR Beispiel zu bleiben würde es z.B. klappen, das Winrar Bilder, die zu komprimieren sind, an die Grafikkarte zu schicken, dort läuft dann die Texturkompression drüber und die schickts wieder an Winrar zurück.
Nein.

Gast[/POST]']Es wird aber geschehen, früher oder später, sobald die Parallelisierung so gut ausgereift ist.
Die Kristallkugel möchte ich haben.

Arcanoxer
2006-05-27, 16:49:47
Für Seti@home sind ja auch schon clients in Arbeit die die GPU in den Berechnungen mit einbeziehen.

Gast
2006-05-27, 17:19:08
Coda[/POST]']


Die Kristallkugel möchte ich haben.

Du siehst doch selber das es darauf hinausläuft.
Die Frage ist nur wann...

Coda
2006-05-27, 18:00:15
Die Frage ist ob wir irgendwann auch an die Stelle kommen wo man eben keinen Die-Shrink mehr machen kann und deshalb Spezialisierung wieder eher gefragt wird.

Corny
2006-05-27, 18:46:10
Aber würde sich denn nicht in den Shadern einer Grafikkarte nahezu jeder Code ausführen lassen?

Gast
2006-05-27, 18:53:42
Corny[/POST]']Aber würde sich denn nicht in den Shadern einer Grafikkarte nahezu jeder Code ausführen lassen?

Wenn er für die Graka lesbar gemacht wird, schon.
Sieht man ja schön am Cell, der is ja ein Vektorprozzi, ähnlich einer PPU.

HajottV
2006-05-28, 11:32:46
Corny[/POST]']Aber würde sich denn nicht in den Shadern einer Grafikkarte nahezu jeder Code ausführen lassen?

Das ist schon richtig, aber nicht jeder Code kann von der GPU effizient ausgeführt werden.

Umgekehrt gibt es Berechnungen, die eine CPU nicht so schnell auführen kann... und aus genau diesem Grund gibt es Grafikkarten.

Das Problem bei der Sache ist, daß eine GPU auf parallele Aufgaben optimiert ist, wohingegend eine CPU darauf ausgelegt ist, eine serielle Aufgabe möglichst schnell zu erledigen (grob vereinfacht).

WinRAR arbeitet die Dateien Byte für Byte ab... das ist eine serielle Aufgabe. Der GPU würde hierbei ihre massive Parallelität also gar nicht helfen. Vermutlich würde bei RAR selbst ein Pentium@100MHz eine Shader Implementierung auf einer Highend Graka wegrasieren.

Gruß

Jörg

Gast
2006-05-28, 11:34:34
SKYNET[/POST]']war nicht sogar schon, eine FX5900U so schnell wie nen 10GHz P4 es theoretisch wäre?! :|


wenn es um grafikberechnungen geht, ist sie wohl noch viel schneller.

(del)
2006-05-28, 16:21:33
Arcanoxer[/POST]']Für Seti@home sind ja auch schon clients in Arbeit die die GPU in den Berechnungen mit einbeziehen.
Die 'Einheit' zu bearbeiten bedeutet ein Stream zu verarbeiten.

Coda
2006-05-28, 16:28:02
Corny[/POST]']Aber würde sich denn nicht in den Shadern einer Grafikkarte nahezu jeder Code ausführen lassen?
Nein. Ganz und gar nicht.

HajottV[/POST]']Das ist schon richtig, aber nicht jeder Code kann von der GPU effizient ausgeführt werden.
Ne isses nicht.

Gast
2006-05-28, 16:38:24
Coda[/POST]']Nein. Ganz und gar nicht.


Ne isses nicht.

1. Nur wenn er nicht zuvor richtig compiliert, dann trifft das schon zu.
Aber das würde wieder Rechenleistung kosten, was es nicht wirklich bringt.

Coda
2006-05-28, 16:42:25
Zumindest mit einem Shaderdurchlauf kann das gar nicht funktionieren und zusätzlich fehlt DX9-Hardware die komplette Integer-Soße.

Gast
2006-05-28, 18:22:18
Das ist klar, dafür sind GPUs gar nicht gemacht worden, mehr durch Gänge sind notwendig, dabei wären die GPUs um einiges langsamer als CPUs...

Gast
2006-05-29, 04:37:21
hallo,
da das hier so ein "wofür lässt sich die graka noch misbrauchen"-thread ist, stell ich hier auch mal ne frage, die zwar nicht ganz das thema trifft aber doch irgendwo dazu passt und man nicht gleich nen neunen thread anfangen muß... ;)

Graka und Ram:
auf den neusten grakas sind schon 512mb ram vorhanden, die im desktop betrieb ja eigentlich "brach liegen" (was sich aber wohl mit vista ändern wird). kann man diesen ram im desktop-betrieb nicht irgendwie nutzen?
also ein zusätzlicher speicher z.b. für die auslagerungsdatei oder tempdateinen oder ein downloadpuffer oder sonst was, wo man speicher braucht. bedenkt es sind ja schon stolze 512 MB mit ner PCIx16 bandbreitenlimitierung, was ja immer noch wesentlich schneller als jede HD oder ein raid system ist :)

kann man den ram der graka für andere sachen benutzen?

Gast
2006-05-29, 17:27:44
Gast[/POST]']hallo,
da das hier so ein "wofür lässt sich die graka noch misbrauchen"-thread ist, stell ich hier auch mal ne frage, die zwar nicht ganz das thema trifft aber doch irgendwo dazu passt und man nicht gleich nen neunen thread anfangen muß... ;)

Graka und Ram:
auf den neusten grakas sind schon 512mb ram vorhanden, die im desktop betrieb ja eigentlich "brach liegen" (was sich aber wohl mit vista ändern wird). kann man diesen ram im desktop-betrieb nicht irgendwie nutzen?
also ein zusätzlicher speicher z.b. für die auslagerungsdatei oder tempdateinen oder ein downloadpuffer oder sonst was, wo man speicher braucht. bedenkt es sind ja schon stolze 512 MB mit ner PCIx16 bandbreitenlimitierung, was ja immer noch wesentlich schneller als jede HD oder ein raid system ist :)

kann man den ram der graka für andere sachen benutzen?

Es gab mal eine Anleitung im Netz, wie man RAM der Geforce4 unter Linux anzapfen und für eigene Zwecke benutzen kann, das geht bestimmt auch bei den neuen Karten mit PCI-E. Nur für Windows habe ich sowas noch nicht gesehen.

HajottV
2006-05-30, 01:22:24
Coda[/POST]']Zumindest mit einem Shaderdurchlauf kann das gar nicht funktionieren

Das stimmt... hat ja auch niemand behauptet.

Coda[/POST]']und zusätzlich fehlt DX9-Hardware die komplette Integer-Soße.

Selbst mit einer DX8 Graka kriegt man eine Turingmaschine hin. Ein Turingschritt pro Shaderlauf.

Gruß

Jörg

tokugawa
2006-05-30, 19:24:01
Zu dem Thema fallen mir einige Literaturhinweise ein:

http://www.gpgpu.org/


Sowie einige Artikel in der GPU Gems 2.

Also die GPU für andere Sachen zu mißbrauchen ist quasi eine neue Disziplin (von Spinnern nicht ganz unähnlichen Leuten). Aber teilweise kommt sogar nützliches dabei heraus.

Deswegen zu sagen die GPU sei die bessere General Purpose Processing Unit ist Unsinn, aber für einige Anwendungen ist das sogar feasible. Mal abgesehen von der rein akademischen Herausforderung.

Corny
2006-05-30, 22:27:39
Was mich immer noch wundert:

wie kann eine aktuelle High End GPU mit dem Agiea PhysX konkurrieren?
Ich hab zwar aktuell keine Werte im Kopf, aber erinnere mich irgendwo mal gelesen zu haben das sich die in Sachen Geschwindigkeit nicht einmal soviel nehmen.

Da hätte Ageia gleich einen Grafikchip entwickeln können, dafür wäre das Know-How der Menschheit schon bekannt...

Den letzten Satz mit Vorsicht genießen, es ist etwas überspitzt ausgedrückt. Aber wie kann ein auf etwas anderes spezialisierter Chip (Grafikchip) einem für die jeweilige Aufgabe spezialisiertem Chip (Physik-Chip) das Wasser reichen?

Demirug
2006-05-30, 23:30:03
Corny[/POST]']Was mich immer noch wundert:

wie kann eine aktuelle High End GPU mit dem Agiea PhysX konkurrieren?
Ich hab zwar aktuell keine Werte im Kopf, aber erinnere mich irgendwo mal gelesen zu haben das sich die in Sachen Geschwindigkeit nicht einmal soviel nehmen.

Da hätte Ageia gleich einen Grafikchip entwickeln können, dafür wäre das Know-How der Menschheit schon bekannt...

Den letzten Satz mit Vorsicht genießen, es ist etwas überspitzt ausgedrückt. Aber wie kann ein auf etwas anderes spezialisierter Chip (Grafikchip) einem für die jeweilige Aufgabe spezialisiertem Chip (Physik-Chip) das Wasser reichen?

Weil dieser angebliche Physik Chip gar nicht so spezialisiert ist und die GPUs aufgrund iherer Shader immer flexibler werden.

Eine GF 7800 GTX hat soweit mir bekannt etwa die 5 fache Fließkomma Rechenleistung wie PhysX

deekey777
2006-05-31, 00:30:27
Demirug[/POST]']Weil dieser angebliche Physik Chip gar nicht so spezialisiert ist und die GPUs aufgrund iherer Shader immer flexibler werden.

Eine GF 7800 GTX hat soweit mir bekannt etwa die 5 fache Fließkomma Rechenleistung wie PhysX
Was ist mit dieser Aussage:
http://www.firingsquad.com/hardware/ati_physics/page2.asp
As for performance of the PPU vs. the GPU, the issue is one of efficiency and processing power. We think that even if Ageia’s PPU has 100% processing efficiency and ATI’s GPU has 80% efficiency, if the PPU only has 100 Gflops of processing power, and we have 375 in our GPU, we’ll still have a higher performing solution (those numbers are just examples, not proven stats, but I think you can understand how we’re looking at this).

Corny
2006-05-31, 23:49:39
So würd ichs eben auch sehen. Etwas das auf eine Aufgabe spezialisiert ist, muss doch alles andere, das die selbe Aufgabe nur emuliert, in Grund und Boden stampfen!?

Warum ist der PhysX denn dann doch nicht so spezialisiert? Der wurde doch für die Physik Berechnung entwickelt!

Wenn ich den Spieß mal umdrehe:
Wenn ich meiner Soundkarte 3D Grafik berechnen lasse, dann kanns die sicher auch nur extrem lahm. Nur weil ne X-Fi im Sound-Sektor stark ist, ist sie's nicht auch im Grafik Sektor. (die X-Fi könnts dank eigenem RAM bestimmt, mal abgesehen von der Performance...)

genauso müsste demnach der Physix Grafik brauchbar berechnen können.... :rolleyes:

Coda
2006-05-31, 23:57:57
Eigentlich ist es so, dass die PPU in Physik wirklich schneller ist als jede GPU. Das ist Propaganda.

Die X-Fi ist eigentlich sogar "recht gut geeignet" für 3D-Grafik, weils nen Streamprozessor ist, aber die Performance dürfte trotzdem absolut grottig sein wegen der Taktfrequenz und der Anzahl der "Pipelines".

RaumKraehe
2006-06-01, 00:08:26
Gast[/POST]']

kann man den ram der graka für andere sachen benutzen?

Im Jahre 1985 gab es einen kleinen Sinclair Spektrum 48k+. Da gab es Spiele die konnte man einfach nicht kopieren weil die so groß waren das sie den kompletten Speicher verbraucht haben .. 48 nochwas Kb (64kb minus ROM minus Bildspeicher). Da war dann kein Platz mehr für das Kopierprogramm. :rolleyes: Findige Programmierer haben dann Kopierprogramme geschrieben die zusätslich den Speichebereich der Grafikausgabe nutzten um Daten unterzubringen. Sah immer sehr lustig aus. ;D

Ok. Damals gab es nicht mal Grafikkarten. Aber die Idee ist nicht neu. :|

Und aus meiner Sicht kann man das sicher machen.