iGPUS später als Coprozessor nutzen ... oder so?

valin1984

Commander
Registriert
Apr. 2015
Beiträge
2.666
Hallo zusammen,

würde gerne eure Meinung hören, zu einem Thema das mich beschäftigt. Beim Lesen über die Performance der HD 630 Grafik stieß ich auf folgenden Artikel:

http://www.pcgamer.com/gaming-without-a-dedicated-graphics-chip-on-i7-7700k/

Der Autor argumentiert, iGPUs haben in absebahrer Zukunft keinen enormen Leistungsschub zu erwarten, unter anderem auch, weil sie dazu verdammt sind, sowieso irgendwann in ihrer Nutzungsdauer durch eine dGPU ersetzt zu werden. Dann würde da ein großer teil des Wertes einer CPU brach liegen und warum sollte man darin dann investieren....

Wäre es nicht denkbar eine iGPU später zur Unterstützung der CPU zu verwenden?

Etwa so: Ich kaufe heute eine CPU mit starker integrierter Grafik, mit der ich aktuell Sauber Casual Gaming und MMO's spielen kann. 2 - 3 Jahre später reicht die Leistung so langsam nicht mehr, ich stecke eine dedizierte Grafikkarte hinzu und die iGPU wird in den CPU-Modus geschaltet, wo sie die Leistung der CPU um 20% erhöht (oder so)

Wäre so etwas nicht denkbar?

Mein Verständnis von Prozessor-Architektur ist ... beschränkt... vielleicht macht das ja keinen Sinn. Aber so könnte hätte man auch von Anfang an, wenn eine CPU später mit dGPU gepaart wird einen Mehrwert von der ungenutzten iGPU...
 
Ganz einfach gesagt:
Eine GPU hat andere Befehlsketten und damit eine andere "Denkweise" als eine CPU und kann somit nicht einfach so wie ein normaler Prozessor arbeiten. Sie ist außerdem in ihrer Architektur anders aufgebaut.

Etwas ähnliches gibts aber bei nvidia mit Physx bei der man eine GPU Physikberechnungen durchführen lässt. Das ist aber fast eher Softwareseitig gelöst, nicht hardwarebasiert.

TLDR
Ohne Ingenieur in diesem Gebiet zu sein würde ich behaupten dass das so ohne weitere Forschung etc. im jetzigen Zustand nicht machbar ist.
 
Die einzige Möglichkeit, die "brachliegende" Leistung einer iGPU trotz dedizierter Grafikkarte zu nutzen, bietet DirectX 12 oder Vulkan. Diese APIs bieten nämlich die gleichzeitige Ansteuerung völlig unterschiedlicher Grafikkarten.
Hier könnten Spieleentwickler bestimmte weniger intensive Berechnungen von der iGPU übernehmen lassen, z.B. eine nachträgliche Kantenglättung oder ähnliches.

Allerdings bedarf das eine (vermutlich aufwändige) Optimierung seitens der Spieleentwickler, und ob von dieser Möglichkeit jemals Gebrauch gemacht wird, steht in den Sternen.
 
Wäre es nicht möglich, dass eine GPU eine CPU irgendwie "emuliert"? Es würde ja reichen, wenn nur ein Teil der Leistung ankäme. Dass es unter Nutzung der weiteren Ressourcen der CPU, vielleicht noch weitere Threads hinzufügt.

z.B. 4K/8T wird dann zu 4K/12T oder so...
 
nein.

der einzige Vorteil den die iGPU hat, wenn eine dGPU verwendet wird, ist, bspw. Quicksync.
Es gab mal Projekte, die beide GPUs gleichzeitig verwenden wollten. quasi ne Art SLI/Crossfire. Aber durchgesetzt hat es sich nicht, da die Nachteile des Verbundes (Mikroruckler etc) den winzigen Mehrwert an Leistung nicht rechtfertigen.

und eine Emulierung der CPU auf der GPU ist nicht möglich. die CPU ist quasi das Mädchen für alles. die GPU der hochoptimierte Arbeiter. Die CPU arbeitet mit ganz anderen Befehlen als die GPU. Daher waren viele Anwender froh, als CUDA da war und die Rechenleistung einer Grafikkarte für ganz spezielle Einsatzzwecke "zweckentfremdet" werden konnte.
 
Zuletzt bearbeitet:
Eine GPU ist, wie der Name schon sagt, eine Grafikprozessoreinheit. Es ist nur in wenigen Ausnahmefällen möglich, diese (von einer x86-Architektur völlig verschiedene) Architektur mit sinnvollen Aufgaben zu versorgen, die die CPU nicht besser könnte. Dazu würden (hoch-)parallele Probleme gehören, die aber selten in alltäglichen Szenarien auftreten (außerhalb von Bildberechnung).

P.S. AMD hat trotzdem vor genau das weiter auszubauen. Ihr Ansatz der HSA (Heterogene Systemarchitektur) die der GPU und der CPU einen gemeinsamen Addressraum im Speicher zur Verfügung stellt, damit ebenjene (noch selten auftretenden) parallelen Probleme deutlich schneller gelöst werden können.

Aktuell ist aber einfach die meiste normale Software nicht für die Ausführung auf Grafikchips geeignet.

Du kannst dir das ca. so vorstellen:

4-Kern-x86-CPU: 4 starke große Kerne, die fast alles können, dafür nicht so schnell
GPU: 64 schwache Kerne, die nur wenige besondere Aufgaben ausführen können - die dafür aber sehr schnell, weil sie es zusammen tun können
 
Zuletzt bearbeitet:
Wenn es so einfach wäre und wirtschaftlich dazu hätten wir die Technik schon.

GPU arbeitet stark parallelisiert eine CPU eben nicht.

So ein CPU und GPU Design ist hoch komplex da kommt es wirklich drauf an, dass die Bahnen gleiche längen haben und co. damit kein Signal zu früh oder zuspät ankommt und noch viel mehr was wir alles nicht wissen. Einfach einen ganzen Teil einfach dazuschalten wie man will ? Da sehe ich nur Laufzeitfehler wenn das Design nicht 100% perfekt ist.

Ich sehe es aber so: wer braucht in einem 7700K oder jetzt bald im 8700K eine iGPU? Ernsthaft? Das Silizium könnte man sich sparen und den Preis drücken.
 
Naja ein Fortschritt wäre schon wenn man so ähnlich wie bei Notebooks iGPU und GPUS gleichzeitig betreiben könnte. Beispielsweise übernimmt die IGPU den Windows Betrieb so dass die haupt Grafikkarte komplett aus ist, erst wenn man intensive Anwendungen startet sich die Dedizierte von Grafikkarte von alleine aktiviert und übernimmt.



Beim Mining jedenfalls ging das, ich hab die haupt Grafikkarte zum Mining benutzt welche mit 99,9% Auslastung gearbeitet hat und ruckelfrei über die igpu andere Aktivitäten im Windows durchgeführt. ( Office, Games, Browser alles problemlos ). Natürlich mit zwei verschiedenen Monitoren in Verwendung!


Direct X 12 sollte ja features bieten die die Leistung von iGPU und dedizierter Grafikkarte bündeln lassen können um die Leistung zu erhöhen aber bis heute ist da nichts gekommen.
 
Zuletzt bearbeitet:
spcqike schrieb:
nein.

der einzige Vorteil den die iGPU hat, wenn eine dGPU verwendet wird, ist, bspw. Quicksync.
Für Multimonitor Setups kann die iGPU auch sehr nützlich sein:
Schließt man mehrere Monitore an die Grafikkarte an, kommt es durchaus vor, dass die Spiele-Leistung einbricht, wenn auf einem Nebenmonitor eine animierte Webseite angezeigt wird, oder ein Videostream encodiert wird.

Schließt man die Nebenmonitore an die iGPU an, hat man dieses Problem nicht, da sich die Grafikkarte nur noch um den primären Monitor kümmern muss.
 
Das Problem ist nicht nur dass es nicht möglich ist alles auf der GPU laufen zu lassen, sondern auch das parallele Programmierung nicht einfach ist.

OpenCL kann aber zB auf CPU und GPUs ausgeführt werden, damit könnte man eventuell Physik oder anderes beschleunigen, sehr ähnlich zu Nvidia CUDA.
 
Du kannst auf der iGPU auch schon jetzt komplexere Berechnungen ausführen, du musst sie nicht brach liegen lassen. Das ist dann meisten sowas wie BOINC oder Mining. Sie als CPU-Teil zu benutzen geht mit aktuellen Architekturen nicht. Sie unterscheiden sich einfach viel zu sehr.

nicK-- schrieb:
Ich sehe es aber so: wer braucht in einem 7700K oder jetzt bald im 8700K eine iGPU? Ernsthaft? Das Silizium könnte man sich sparen und den Preis drücken.
Ja, ernsthaft! Da fallen mir folgende Szenarien ein: Bildbearbeitung, Audio-Bearbeitung, Programmieren. Ich weiß ihr denkt hier nur vom einem Spiel zum Nächsten, aber vielen reicht es schon, wenn die Grafikeinheit ein Bewegtbild ausgeben kann.;) Und ja, selbst Photoshop profitiert nur wenig von einer dGPU ggü. einer iGPU. Starke CPU-Kerne werden dann schon eher benötigt (viele Filter; hungrige VST's oder viele Spuren; kompilieren). Die dGPU kann man sich also sparen und das System kompakter machen oder den PCIe-Slot für andere Hardware verwenden.

Sie sollten einfach mehrere Prozessoren anbieten. Damit auch wirklich jeder bedient ist. Ist ja so schon übersichtlich genug.:D
 
Zuletzt bearbeitet:
Zurück
Oben