# Skaliert eine GPU besser als eine CPU?



## jetztaber (7. März 2008)

Derzeit im Trend ist die Aussage, dass die aufwendigeren Grafikprozessoren besser als die 'tumben' CPUs funktionieren und mehr können und daher in naher Zukunft möglicherweise die CPU ablösen werden. Zusätzlich werden sie dabei auch die Physikberechnung auf neue (nämlich ihre eigenen) Beine stellen.

Wird die GPU zukünftig die Aufgaben einer CPU mit übernehmen, oder ist es besser beide getrennt zu halten? Was meint ihr zu diesem Thema. Ich spreche auch von einem monolithischen Block, und nicht von aufgelöteten Grafikchips, die via Bus mit der CPU verbunden sind. Das haben wir ja schon mehr oder minder gut


----------



## Mantiso90 (7. März 2008)

Ich denke nicht das in kurzer Zeit die GPU alle aufgaben der CPU übernehmen kann.Bei der GPU werden viel mehr DAten hin und her geschaufelt als bei der CPU, das zu einer großen Belastung führt und ein Gewisses Maß an hoher Badbreite vorraussetzt was z.Z nicht wirklich gegeben ist m.M nach.


----------



## Stefan Payne (7. März 2008)

Ja, skaliert besser denn der Code ist besser parallelisierbar, ein Problem an dem alle GP-CPUs leiden.

Logischerweise wird beides getrennt bleiben, allein schon wenn man sich die beiden Einheiten mal anschaut.
Stichwort Sprünge und Schleifen, Out of Order Execution...


----------



## der_schnitter (7. März 2008)

Offtopic:
Mantiso,Glückwunsch zum 1000. Beitrag!
Ontopic:
Ich schließe mich voll und ganz Stefan Payne an...


----------



## Captain Future (14. März 2008)

Die Frage müsste lauten: _Wobei_ skaliert eine GPU besser als eine CPU?

Meiner Meinung nach stehen CPUs (wenn man sie denn noch so nennen will) noch vor dem riesigen Sprung, den die GPUs bereits hinter sich haben. Zwar wird einer CPU auch in Zukunft noch den x86-Klotz am Bein hinter sich herziehen (eine GPU muss einfach kein OS stemmen), aber die integrierten Vektoreinheiten werden in den nächsten Jahren deutlich gegenüber der GPU in Sachen Rechenleistung aufholen. Das gilt ganz besonders dann, wenn heterogene Prozessoren es in den Massenmarkt schaffen.


----------



## d00mfreak (14. März 2008)

Captain Future schrieb:


> Die Frage müsste lauten: _Wobei_ skaliert eine GPU besser als eine CPU?
> 
> Meiner Meinung nach stehen CPUs (wenn man sie denn noch so nennen will) noch vor dem riesigen Sprung, den die GPUs bereits hinter sich haben. Zwar wird einer CPU auch in Zukunft noch den x86-Klotz am Bein hinter sich herziehen (eine GPU muss einfach kein OS stemmen), aber die integrierten Vektoreinheiten werden in den nächsten Jahren deutlich gegenüber der GPU in Sachen Rechenleistung aufholen. Das gilt ganz besonders dann, wenn heterogene Prozessoren es in den Massenmarkt schaffen.



Jo, wobei die Grakas eigentlich nur massiv parallel arbeiten. Und damit die GPU diesen Vorteil ausnutzen kann, müssen die Berechnungen weitestgehend voneinander unabhängig sein, was zumindest im Bereich Spiele selten der Fall ist.
Ich denke mal, dass CPU und GPU noch eine ordentliche Weile getrennt beleiben werden, zumindest auf deren Prinzip bezogen. Dass sie irgend wann mal beide auf dem selben Dye zu finden sein werden, halte ich schon für möglich.


----------



## Bokill (14. März 2008)

jetztaber schrieb:


> Derzeit im Trend ist die Aussage, dass die aufwendigeren Grafikprozessoren besser als die 'tumben' CPUs funktionieren und mehr können und daher in naher Zukunft möglicherweise die CPU ablösen werden.


 Sagt wer?
Was ist an einer universal einsetzbaren CPU denn "tumb"?



> Zusätzlich werden sie dabei auch die Physikberechnung auf neue (nämlich ihre eigenen) Beine stellen.


 Was Prozessoren schon länger auf den Konsolen (Xbox 360 -> Xenon, PS3 -> "Cell") machen. Zwar nicht so leistungsfähig wie der PhysX-Chip aber immerhin.



> Wird die GPU zukünftig die Aufgaben einer CPU mit übernehmen, oder ist es besser beide getrennt zu halten? ...


 Das hängt vom Einsatzgebiet ab.

Es ist unsinnig in einem Embedded-Computer einen x86, ARM oder MIPS Prozessor ersetzen zu wollen, gegenüber einer aufwändigen GPU, deren Untereineiten Bilder filtern, glätten. Das sind alles Transistoren, die zusätzlich elektrische Leistung verbraten.
Da könnte das Gegenbeispiel eines sparsamen Intel-Prozessor "Silverthorne" einen Meilenstein für x86-Prozessoren setzen ... und _auch in Zukunft noch weiter skalieren_.

*Auch jetzt noch* gibt es Alternativen zum Einsatz von GPUs zum Numbercrunchen. Das sind zum Beispiel die NEC-Vektorprozessoren. Diese Vektorprozessoren sind zwar in vielem vergleichbar hochparallel ausgelegt ... aber sie haben nicht den Transistorenballast, die eine GPU für ihren speziellen Zweck -> Computergrafik braucht.
Die NEC-Vektorprozessoren  haben zudem eine unglaublich hohe Speicherbandbreite mit extrem viel RAM pro Knoten bei kurzer Latenzzeit zu bieten. Hier punkten die GPUs nur noch mit ihren vergleichsweise günstigen Hardwarepreis.

Auf der anderen Seite sind dann *spezielle Multicores* wie der Tilera, oder auch die Klassiker von Clearspeed. Massiv parallele CPU-Architekturen, die sich in mancher Hinsicht auch mit *DSP*s vergleichen lassen.

Und zusätzlich haben wir da noch die Gattung der *FPGA*s. Diese können sehr effizient (wenige) Algorithmen sehr schnell in Hardware berechnen, die sonst per CPU 10x, 20x oder gar 200x langsamer sind. Das können aktuelle GPUs zwar auch ... aber mit wesentlich mehr Transistoren und damit auch deutlich höheren Strombedarf.

*Eines darf man nicht übersehen bei GPUs*. Sie sind heute unglaublich komplex und alles andere als schlank. Sobald sie nicht mehr mit ihrer massiv parallel ausgerichteter Architektur glänzen können, da sind um so mehr andere Alternativen sinnvoll.
Erschwerend kommt hinzu, dass der *Instruktionssatz* bei GPUs nicht wirklich offen liegt. Auch hier können Prozessoren und etablierte Traditionsprodukte (siehe Beispiele) punkten.

*Die Frage: "Besser Skalieren" *muss auch berücksichtigen, für welchen Einsatzbereich denn diese Halbleiter eingesetzt werden. Und da sind auch in Zukunft effektive genügsame (-> Strombedarf) Alternativen zu GPUs da.

*Eine CPU-Stärke ist* zudem auch noch zu berücksichtigen. Sie können in vielen Einzeldisziplinen jeweils immer von spezialisierter Logik geschlagen werden.
Ist der CPU-Einsatzzweck aber universal, haben alle CPU-Schmieden immer wieder die Micro-Architekturen mit Streaming-Einheiten, DSP-Funktionalität, Gleitkomma-Ergänzungen, Kryptologie-Einheiten (Power6, z6/z10, Niagara 2, Rock) etc. so weit aufgebohrt, dass sie in Teilbereichen ihren ASIC-, FPGA-, DSP-Kollegen gehörig auf die Pelle gerückt sind.

*Und das Ende ist noch nicht absehbar*. Der CPU-Trend geht zur Zeit in Richtung Hybride-Micro-Architekturen ("Cell", "Fusion"). Da wächst dann das zusammen, was bislang getrennt war ... _mitunter auch Schaltlogik von GPUs_ ...

MFG Bobo(2008 )


----------



## Adrenalize (14. März 2008)

Bei Prozessordesign und -Funktionsweise habe ich zwar kein komplexeres Hintergrundwissen, aber deshalb kann man ja trotzdem mal seinen Senf dazugeben (): 

Ich denke auch, dass GPUs vor allem dort ein Heimspiel haben, wo es um (parallelisierbare) Vektor- und Matrizenberechnungen im Gleitkommabereich geht, denn dafür sind sie ja optimiert.

Die momentanen x86-CPUs sind eher Allround-Einheiten. Ich weiß z.B. nicht, wie sich eine GPU bei Integer-Berechnungen oder bei einer Datenbankanwendung schlagen würde.

Da Float- und Vektorberechnungen aber wohl zunehmen, könnte ich mir zumindest vorstellen, dass es in Zukunft dann auch mal x86-CPUs mit einer Architektur ähnlich IBMs Cell geben könnte, also viele Vektoreinheiten gepaart mit Steuereinheit.


----------

