Warum ersetzt man CPUs nicht mit GPUs?

>Peter<

Komplett-PC-Aufrüster(in)
Hiho, ich hab mich eben so ein bisschen in GPGPU eingelesen bis ich das hier gelesen habe:
Welche Performance-Vorteile GPGPU-Computing bieten kann, zeigt das Distributed-Computing-Projekt Folding@home. Ziel ist es, die Faltung von Proteinen zu simulieren und so mehr über die Entstehung und Heilungsmöglichkeiten von Krankheiten wie Alzheimer, Creutzfeldt-Jakob oder Krebs zu verstehen. Auf der Projekt-Website stehen Clients für verschiedene Betriebssysteme und Plattformen zum Download.
Die Übersicht vom 4. Juli 2007 zeigt, dass 773 GPUs eine Leistung von 46 Teraflops liefern. 24.487 CPUs der an dem Projekt teilnehmenden Linux-Desktops stellen dagegen nur 42 Teraflops zur Verfügung. 185.880 Prozessoren in Windows-Maschinen schaffen 177 Teraflops und 15.361 Intel- und Power-PC-basierte Macs 23 Teraflops.

Wenn ein Grafikprozessor so viel schneller ist als eine normale CPU warum nimmt man dann nicht einfach Grafikprozessoren anstelle des normalem Prozessors und lässt diesen dann die üblichen Rechnungen machen?
 
Weil eine GPU eine bestimmte Sache sehr gut und sehr schnell kann, dafür ist sie ausgelegt.
Eine CPU kann aber deutlich verschiedenere Dinge machen, dafür aber dann den einzelnen Schritt nicht so schnell wie eine GPU.
GPUs bestehen grob betrachtet aus vielen, vielen kleinen CPUs, die eben parallel ablaufende Sachen machen, eine CPU ist nur eine CPU (meine jetzt Single cores), die kann eben nur einen Schritt nacheinander machen.
 
Recht simple, weil GPU Kerne eine wenig "doof" sind. Sie sind nur für Ihre jeweiligen Aufgaben ausgelegt und es fehlen sehr viele Einheiten, die für einen normalen Betrieb notwendig sind. Sie können die anderen Sachen einfach nicht oder nur sehr umständlich.
 
es gibt ein tool (genauen namen weis ich nich mehr; müsst ihr mal googlen wenn ihr wollt ^^ ) welche die gpu übergeht, und die cpu die grafikberechnen lässt..

das klappt aber nur mit einem besseren phenom II X4 oder i7^^ und selbst da nicht wirklich gut^^

ich habe das spaßenshalber mit meinen sstem ausprobiert.. selbst die einfachsten spiele gingen nicht ruckel frei :D
 
am besten, es gäbe bald so cell-prozessor-ähnliche prozzis. dann wär man schnell bei nem 16 core und mehr mit ner geringen tdp...
ich finds aktuell eig ganz gut mit der hardwarekonstellation. passt der prozzi nicht, prozzi auswechseln etc, bei der grafikkarte das selbe. wenns dann nur noch die grafikkarte gibt, dann wirds beim aufrüsten auf einmal richtig teuer. so kann man jedes 2. jahr nen prozzi kaufen und ist super dabei. war bei meinem q6600 auch so, und ich denke, das wird auch in etwa so bleiben, gut bald kommen 6kerner, aber die werden auch nicht extremst viel reißen und auch nicht gleich als maß bei spielen genommen. da bin ich mit meinem i5-750 mit 3,8 sicher noch lange im geschäft. und die grafikkarte kann man dann auch mal jedes jahr bzw. jedes 1 1/2 jahr wechseln. so find ichs eig richtig gechillt...
 
wen wundert es die GPU ist eine Hochgradig Skalare Architektur die darauf ausgelegt ist möglichst viele parallele Operationen bei reduziertem/spezialisiertem Befehltssatz auszuführen

andersherum wäre aber dein OS ohne die entsprechende Parallelisierung auf der GPU (sofern dies möglich wäre) ebenso langsam wie deine CPU bei der Grafikberechnung. Beide Prozessoren sind auf gewisse Anwendungszwecke hin optimiert. Denn bei Bildberechnungen können viele dinge Parallel berechnet werden ohne aufeinander Einfluss zu nehmen, bei einem OS ist eine Parallelisierung aber nicht beliebig zu realisieren a -> b -> c du brauchst nun mal für b das Ergebnis von a und für c das Ergebnis von a und b. Eine Parallelisierung wäre hier nur möglich wenn die Ergebnisse von a,b und c von einander unabhängig wären. hinzu kommen aber Architektonische besonderheiten und Cachingstrategien.
 
Zuletzt bearbeitet:
Oh Gott vor Jahren wusst ich noch genau wieso. Mal ganz grob

Im Groben, die Waffer für GPUs besitzen bereits funktionstypische Schaltcluster. Sowie n Plattenbau im Osten. Da werden quasi nur noch die Schaltwege eingebrennt. CPU Waffer sind leer, die CPU Schaltkreise bestehen vielen einzelnen spezifischen Einheiten die ineinander quasi verknotet werden. Deshalb muss man die Einheiten und Schaltungen aus dem Waffer brennen.

GPU Schaltung folgen nur anforderungsspezifischen Wegen, deshalb sind sie auch sehr viel günstiger in der Entwicklung und Produktion. CPU Schaltungen verzweigen wahrscheinlichkeits aktiv. Deshalb ist die Entwicklung und Produktion auch weitaus teuerer und komplexer.

Für genaue Infos kannst mal die Wiki fragen
 
Hab ma vor ner weile eine Interessantes Video gesehn wie CPU und GPU im Vergleich zueinander funktionieren und das ganze sehr anschaulich von den Mythbusters präsentiert

https://www.youtube.com/watch?v=<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/-P28LKWTzrI&hl=de_DE&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-P28LKWTzrI&hl=de_DE&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>

Das ist die kurze Version. Bei YT gibts auch noch iwo die komplette
 
Ah, verständlich, und gibt es da keine Wege eine GPU in der Hinsicht auf die Aufgaben einer CPU zu optimieren?
 
Was ist denn das eigentlich für eine Frage? "Wieso ersetzt man CPUs nicht durch GPUs" ist euch die CPU nicht gut genug, oder was?

Ein einzelner CPU-Kern kann viel mehr als ein einziger Shader-Kern in einer GPU. Die Kurzfassung: Eine CPU ist für gewöhnlich einfacher auf die unterschiedlichsten Aufgaben zu programmieren, d.h. vielseitiger einsetzbar - nur die Leistung fehlt halt für richtig anspruchsvolle Aufgaben, wie Grafikberechnung oder andere Berechnungen, die von einer sehr hohen Rohrechenleistung profitieren.
Darüberhinaus müsste man die Betriebssysteme erst mal auf GPUs anpassen - seit Jahren sind sämtliche Programme dafür ausgelegt, mit einer CPU zu arbeiten (CPU heißt übrigens "Central Processing Unit", wenn man jetzt vorhätte, eine GPU als CPU einzusetzen, dann müsste die GPU folglich "Graphics Central Processing Unit" o.ä. heißen). Außerdem: Was will denn die breite Masse, die sich nur für Internet- und Büroanwendungen interessiert, mit einer GPU als CPU?
 
Ah, verständlich, und gibt es da keine Wege eine GPU in der Hinsicht auf die Aufgaben einer CPU zu optimieren?

Könnte man schon aber am Ende hätte man grob gesagt eine CPU mit hunderten Kernen von denen aber jeder nur vllt die Leistung eines 50MHz Prozessors hat zumal dann auch wohl die hohe Leistungsfähigkeit der GPU zum Bild berechnen flöten gehen würde. Wenn ich damit komplett falsch liege berichtigt mich :D
 
So oder so. Eine GPU kann keine herkömlichen CPU Befehle verarbeiten. Was nutzen dir 100000 Schaltungen die alle wie ein Ei dem anderen gleichen aber nur 1 Funktion besitzen. Das ist das Prinzip der GPU. Möglichst viele Bildpunke paralell in einem Schritt verarbeiten. Ne GPU Pur kann nicht mal so simple Aufgaben wie z.B. 5x100/2,3 berechnen. Die Shader können bedingt Rechen und Gleitkomma Operationen durchführen und besitzten auch sowas wie ne Steinzeit Arthmetik. Sind aber hauptsächlich für einschlägige SIMD Stream ausgelegt. Komplexe Rechenaufgaben würden den Chip, an der Stelle wo die Shader sitzen, durchbrennen.

Theoretisch könnte eine 4 Kern Intel CPU mit ihren 4x 256bit SSE Erweiterungen, 8 4-stufige True Color Pixelshader Shader Einheiten imitieren, falls ein speziell dafür optimierter Code vorliegt. Man könnte in jedem Fall etwa die Geschwindigkeit von 16 - 32 Pixel Shader Einheit auf modernen GPUs erreichen. In dem Fall würde aber die CPU an der SEE Einheit, heiss laufen und es wär im Prinzip wie Perlen vor die Säue schmeissen.

GPU = Paralellisierte Schalt Cluster = Brute Force Schaltung, Pseudo Skalar
CPU = Zu einem Schaltgebild zusammengefasste, verschiedene und flexible Schaltungen = Super Skalar.
 
Was ist denn das eigentlich für eine Frage? "Wieso ersetzt man CPUs nicht durch GPUs" ist euch die CPU nicht gut genug, oder was?

Ein einzelner CPU-Kern kann viel mehr als ein einziger Shader-Kern in einer GPU. Die Kurzfassung: Eine CPU ist für gewöhnlich einfacher auf die unterschiedlichsten Aufgaben zu programmieren, d.h. vielseitiger einsetzbar - nur die Leistung fehlt halt für richtig anspruchsvolle Aufgaben, wie Grafikberechnung oder andere Berechnungen, die von einer sehr hohen Rohrechenleistung profitieren.
Darüberhinaus müsste man die Betriebssysteme erst mal auf GPUs anpassen - seit Jahren sind sämtliche Programme dafür ausgelegt, mit einer CPU zu arbeiten (CPU heißt übrigens "Central Processing Unit", wenn man jetzt vorhätte, eine GPU als CPU einzusetzen, dann müsste die GPU folglich "Graphics Central Processing Unit" o.ä. heißen). Außerdem: Was will denn die breite Masse, die sich nur für Internet- und Büroanwendungen interessiert, mit einer GPU als CPU?


Bleib mal ruhig man. Tut mir ja leid, dass nicht jeder auf Anhieb soviel weiß wie du... Tz

Naja okay danke euch erstmal.. Weil ich dachte mir halt wenn die GPU auch die Berechnungen für die Physik schaffen kann, dass dann der Rest auch kein Problem sein sollte. Aber das wurde ja jetzt ausreichend besprochen. Danke..
 
Aslo ich finde das es da schon erste anzätze zu gab von NVidia, in sachen Cuda, gut zu sehen im Bundel ION und Atom 330, wobei der Atom der nicht so der Leistungshammer ist, durch den Cuda ION (@9400M) unterstützt wird.
Das klappt auch sehr gut, solannge es Cuda Tools gibt, und wo nicht kann immernoch der Atom der als kleiner DC mit sehr wenig Stromverbrauch ein sehr emsiger Rechner ist. Er kommt zwar nicht an die leistung seiner Aktuellen voll zweikerner Brüder rann, meistert aber alle anfallenden Aufgaben wenn auch nicht immer als schnellster.
Für Office vollkommen ausreichend, im Internet ohne Probleme, und bei Video Berechnungen nutzt er dann eben den ION.
Leider wurde dieser gute ansatz von Intel gleich wider erstikt, indem sie dem Atiom II eine IGP in den CPU Core gepflanzt haben, der ausser ein begrenztes Bild zu bringen nix kann, und dann eben ein ION II nur mit Trix angekoppelt werden kann.
Schade, war ein guter weg von NV, nur leider durch die Gewinngier von Intel, die selber mal wider bewiesen haben, das sie zu Blöd sind sowas selber auf die beine zu stellen (Larebee) gestoppt wurde.
 
Zurück