Gpu zwingen den Ram statt Vram zu nutzen?

TheDarkness

Commander
Registriert
Sep. 2013
Beiträge
2.620
Hallo, es gibt ja viele Laptops im low-end Segment mit einer dedizierten Gpu, die vom Chip an sich nicht schlecht wäre (zbs hd 8670m/gt 730m wären etwa eine 750m/8750m) aber dann durch das 64bit ddr3 Speicherinterface verkrüppelt sind.
(Zbs. ist ne 8650m trotz niedrigerem Takt schneller als ne 8670m dank gddr5 64 bit statt ddr3 64 bit was ja das gleiche wie ddr3 128 bit von der Leistung ist)

Nun wäre meine Idee die Gpu zu zwingen den ddr3 128 bit Ram zu nutzen.
(ich weiß ein Teil der Brandbeite wird für generelle Sachen verwendet, trotzdem sollte es meiner Meinung zumindest 50% schneller als ddr3 64bit sein was die Speicherlimitierung dann mehr oder weniger aufheben sollte)

Allerdings kann ich zu dem Thema nicht viel finden außer wie man bei igpus einstellen kann wie viel ram sie nutzen dürfen.
 
Amd notebook mit igp only kaufen
 
Theoretisch müßtest das BIOS der Mobilen Grafikkarte umschreiben. Nur die Theorie eben, praktisch ham das sicher nur sehr wenige probiert, wir sind halt eben "alle" keine Software-Ingenieure :D
 
Sind leider meist gleich teuer oder gar teurer wie nen i5-4200 mit einer lowend gpu und haben nicht genug cpu Leistung für ein paar meiner Spiele und eine geringere Laufzeit.

Dachte mir es sollte einen mehr oder weniger einfachen Weg geben da die gpu (soweit ich weiß) den ram automatisch nutzt wenn der vram voll ist. (Sowas wie vorgaukeln der vram würde nicht existieren oder wäre schon voll)

Bios der gpu umschreiben geht dann eher schlecht das ist meist mit dem gesamten Notebook Bios verbunden.

Habe ausserdem mal gelesen, dass einer ein Software Problem hatte bei dem die gpu den Ram statt den Vram genutzt hat muss nur wieder finden wo.
 
Zuletzt bearbeitet:
Der Speicher der CPU ist langsamer, als der der GPUs, selbst wenn man vielleicht mehr Bandbreite hat, sind die Reaktionszeiten des Hauptspeichers viel langsamer, was bei Spielen viel Leistung kostet.
 
Ohne jetzt genau nachgeschlagen zu haben: Der Hauptspeicherzugriff ist für die GPU immer deutlich langsamer als der Zugriff auf den eigenen Speicher. Die Anbindung des Hauptspeichers ist nur für die CPU richtig schnell. Die GPU muss ja über den PCIe-Bus zugreifen, das sind also bei PCIe 2.0 16x500MB, also gerade mal max 8 GB/s, und über Latenzen, die bestimmt 5x höher sind und die Bevorzugung der CPU haben wir noch gar nicht gesprochen. Hauptspeicherbenutzung der GPU macht nur Sinn, wenn die GPU in der CPU sitzt und deren Direktanbindung an den Speicher mitgeniesst.
 
Für CUDA Berechnungen ala BOINC wenn man viel Speicher BRÄUCHTE wäre das brauchbar, aber die GPU risikieren , nein danke ! Zum Gamen nicht zu gebrauchen. :mussweg:
 
Zuletzt bearbeitet von einem Moderator:
@puri na wenn das so ist hat sich die Sache ja erledigt.
Wäre auch zu schön gewesen, wobei die Latenzen kein großes Problem sein sollten die spielen keine zu große Rolle bei gpus eher bei cpus aber wenn pcie nicht genug hergibt ist es logisch, dass es nichts bringt.
 
Deine Theorie ist leider total daneben ..

denn der Normale RAM wird ja auch noch durch die CPU belastet da sie selber dort Berechnungen hin und herschiebt .

Also auch wenn der RAM eigentlich schneller wäre so ist der VGA RAM durch die Belastung beim Spielen immer noch der schnellere
 
Meine Theorie ist nicht total daneben ich habe bereits Brandbeite abgezogen die für die Cpu ausreicht aber dafür muss man eben auch alles lesen.
Hast du irgendwelche Werte wieviel die Cpu von der Brandbreite nutzt? Wenn nicht dann unterlasse solche Aussagen, denn wenn ein niedrig getakteter Riegel in nem Desktop einen I7 nicht groß ausbremst dann werden 2 hoch getaktete Riegel MEINER MEINUNG NACH ausreichend sein um mehr Brandbeite zu liefern als die gpu momentan hat.

Wenn meine Theorie total daneben wäre würden die starken igpus von Amd absolut 0 Sinn machen, tun sie aber.
 
Zuletzt bearbeitet:
Shared Memory ist immer schlechter als dedizierter - war schon immer so wird auch noch ne weile so bleiben. Ist ja nicht nur ne Sache der Bandbreite sondern auch des Speichermanagements (wie weiter oben ja schon beschrieben wurde).
Nen schönes Beispiel aus neuerer Zeit ist das der Vergleich zwischen nVidia ION und ION 2 bzw. next generation. Dazu kannst Dir mal nen paar Benchmarks angucken. ...und bei dem ION (1) handelte es sich noch um einen Chipsatz der speziell dafür entwickelt wurde.
 
Wenn meine Theorie total daneben wäre würden die starken igpus von Amd absolut 0 Sinn machen, tun sie aber.
Die größte APU von AMD hat etwa die gleichen Leistungsdaten einer 7750, ist aber trotzdem deutlich langsamer. Das liegt an dem langsamen DDR3 Speicher. Dabei ist das Problem nicht die Bandbreite, sondern die Zugriffszeit. Ram für CPUs dümpelt bei um 10ns rum, während der Ram der Grafikkarten um ein Vielfaches schneller ist (auch der ddr3 Ram bei manchen Grafikkarten).
Dass die Anbindung über pcie eine weitere Verzögerung verursacht, kommt noch erschwerend hinzu. Aber selbst die APU von AMD ist relativ schwach, wenn man sich die intel 5200 dagegen anschaut, die ein wenig eigenen RAM hat und so trotz geringerer Rechenleistung und schlechterer Treiber gar nicht so weit von den AMD Karten entfernt ist.
 
Was habt ihr alle mit eurer Zugriffszeit?
Ich habe noch NIE gelesen, dass gddr5 eine bessere Zugriffszeit als ddr3 hat, ganz im Gegenteil, ddr3 hat eine viel bessere Zugriffszeit und man verwendet gddr5 für gpus aufgrund der Bandbreite.
Wenns daran liegen soll, dass gpus mit dediziertem Ram ne bessere Zugriffszeit haben weil es auf der selben Platine ist dann ist das ebenso falsch, man nehme eine Karte mit dediziertem gddr5 und lässt sie gegen eine mit ddr3 antreten oder alternativ taktet man die gddr5 einfach auf ddr3 niveau runter, sollte ja dann kaum einen Unterschied machen, falsch.

Ebenso sieht man das daran, dass ein 128bit bus an der selben gpu mit der selben Taktrate und selbem Speicher viel schneller ist als ein 64bit bus in fast jedem Szenario.

Ich habe genug gelesen schon alleine für die ps4, dass der gddr5 Speicher der gpu aufgrund der Bandbreite sehr helfen wird aber die cpu Leistung aufgrund der Latenz etwas mindert.

So, ich kann nichts finden was die Behauptung: "Bandbreite für gpus fast egal, Zugriffszeit ist wichtig" in geringster Weise unterstützt.

Dass der Umweg über pcie die Performance stark einschränken kann habe ich ja nicht bedacht und im Endeffekt auch sofort eingesehen, in meiner Theorie war dies aber kein beachteter Faktor.
 
Zuletzt bearbeitet:
Es ist immer eine Mischung aus beidem. Es bedingt sich ja zum Teil. Schnellere Zugriffszeiten sorgen für größere Bandbreite. Dass Bandbreite allein aber nicht reicht, sieht man gut daran, dass 512bit Speicherinterfaces gar nicht mehr vorkommen.

GDDR Ram wurde immer schneller, glaub inzwischen unter 1ns, während normaler Hauptspeicher noch eben bei den 10ns steht. Da wird immer über Hilfsmittel die Bandbreite erhöht. Absolut läuft ddr2 genauso schnell wie der ddr Vorgänger (das war das letzte mal, dass ich mich damit auseinandergesetzt habe, beim Wikipedia überfliegen scheint das bei ddr3 aber immernoch so zu sein), aber es werden halt mehrere Adressen auf einmal gelesen. Ich habe das nicht studiert, aber das Problem bei Grafikkarten ist es, dass bei Spielen nicht unbedingt die benötigten Daten beieinander liegen, dass man das schwer vorhersehen kann und somit die Geschwindigkeit zufälliger Zugriffe relevanter sind als bei CPUs und normalem Ram.

Aber dazu gibt es viel Literatur im Netz. Die typischen Seiten philosophieren da immer gern.
 
TheDarkness schrieb:
Hast du irgendwelche Werte wieviel die Cpu von der Brandbreite nutzt?

Ich glaub sowas Benchmarkt keiner bei nem Game extra ... und wenn kommts auch auf das Game drauf an.

Und nen kleiner Tip zu deinem RAM Problem ...

PCIe 3.0 kann maximal 15754 MB/s Verarbeiten. Und da muss nun Speicherdaten und CPU Daten durch.

900Mhz DDR3 mit 64 Bit hat 14,4 Gb/s Datenrate ... mal ehrlich wo soll da noch Geschwindigkeit herkommen ?
http://de.wikipedia.org/wiki/AMD-Radeon-HD-8000-Serie


@ Quarr³

In Wikipedia steht leider was falsches bei GDDR5 mit Latens von 0.4 ns ... DDR3 hat ca 9-12 ns

GDDR5 hat langsame Zugriffzeiten macht aber durch die Datenmenge es wieder wett.
DDR3 hat kleinere Zugriffszeiten kommt halt an die Datenrate nicht ran.

Wer sich da Informieren möchte sollte sich XBOX und PS4 anschauen die treten nähmlich genau mit diesen unterschiedlichen Konzepten an.

http://www.redgamingtech.com/ps4-vs-xbox-one-gddr5-vs-ddr3-latency/

But what about the actual latency of DDR3 vs GDDR5?

It’s worth remembering that if you do a little bit of Googling around, you can easily come across the specs of various GDDR5 memory. Hynix for example place PDF’s of their products freely available on the internet.

The latency on GDDR5 and DDR3 memory does vary some, but the typical CAS latency of most sticks of DDR3 is between 7 and 9 (see the earlier Tomshardware link for more information). GDDR5 RAM meanwhile is a typical latency of about 15. Once again, all of this depends on the make and models of the RAM.

So – there’s the answer right? Let’s say 8 CAS vs 15 CAS? No, it’s not. We have to remember that the speeds are for all intents and purposes – relative. If you take the CAS of both, and then multiply it by the clock speed – you get the ns of delay. CAS of 15/1.35 = 11ns.

I’ll save you the trouble and say that it’s between 10 – 12 for both DDR3 and GDDR5 varying heavily on the clock speed of either the DDR3 or GDDR5 AND in the timings they’ve chosen.
 
Zuletzt bearbeitet:
@ xxMuahdibxx

Hättest du doch gleich gesagt, dass du die Bandbreite des pcie meinst, von der Ram Bandbreite an sich reicht es nur wie bereits mehrfach gesagt hab ich den pcie gar nicht berücksichtigt (zumal in Laptops meist nichtmal mit x16 sondern mit x8 angebunden wird).

Und endlich mal jemand der nicht so einen Schwachsinn von wegen Latenz ist viel wichtiger redet (Habe zum Teil 60 Seitige Pdfs gelesen in denen sogar klar und deutlich stand, dass sich gpu Entwickler auf Bandbreite fokussieren und nicht Latenz).

Aber okey man weiß ja, dass da jemand Schwachsinn redet wenn er sagt 512bit Speicherinterfaces kommen gar nicht mehr vor. (Ich sag nur r9 290&r9 290x&r9 295x2)
 
@ Darkness das mit dem PCIe ist mir auch nur noch als Schwachstelle eingefallen.

Aber selbst der Hauptspeicher läuft schnell voll wenn man ein Spiel startet von daher wird auch da viel bewegt was dessen Bandbreite halt auch eingrenzt.

Getestet wird sowas aber nicht. Doch wenn ein Game am Start 2-3 GB im RAM belegt dann muss das auch ab und an was zur CPU schicken.


In der Wiki stehen 0.4ns ... Warum geht das nicht ?
GDDR arbeitet mit 1500 Mhz.( kann auch 1800er Sein ) d.h. 1.5 Mrd Schwingungen pro Sekunde.

Wie lange dauert damit eine Schwingung ? = 1 / 1,5 Mrd = sehr kleine Zahl x Umrechnung zu Nano Sekunde also x Mrd ( 10 hoch -9 Nano / 10 hoch 9 = Mrd ) = 0,66667 ns pro Schwingung .

Latenz ist das aber nicht sondern die ist wie lange der Ram Controller warten muss bis nach einem READ Signal der Speicher Sendebereit ist.
 
Zuletzt bearbeitet:
Tut mir Leid für die falsche Information. Bleibt für mich nur noch die Frage, warum der neue A10 so viel langsamer ist als die 5750 und wieso stehen denn auf den Speicherchips der Grafikkarten dann Werte unter 1ns?

Bei DDR Speicher wird ja 2 mal pro Schwingung etwas übertragen. Daher muss man mit 3000mhz rechnen.
 
Ich hab nur mit normalen Takt gerechnet da ich nicht weis wie der READ Befehl aufgebaut ist .
Kann z.b. sein das er nur bei Aufsteigender oder fallender Flanke gesendet wird.

Aber es zeigt ja eindeutig das eine Schwingung in 0,6667 ns passiert also bei 0,333 ns eine Flanke passiert.
Das erklärt auch das was auf dem Speicher steht .... 0,x ns ... Geschwindigkeit.

Latenz ist aber was anderes .

Am Beispiel von DDR 3

http://de.wikipedia.org/wiki/DDR-SDRAM#Latenzzeiten_im_Vergleich
Die gesamte Zugriffszeit ist mindestens tRCD + tCL geteilt durch den Takt.

Tabelle daneben gibt ja deutlich aus das selbst beim schnellsten dort dargestellten Modul immer noch 2x8,75 ns vergehen eh Daten kommen. Das sind 17,5 ns .

Bei DDR5 schauts anders aus dort sind die tRCD + tCL größer als Wert wie oben im Englischen z.b. 15
Also ( 15 + 15 ) / 1500 Mhz = 20 ns

Das beschreibt halt wie lange es dauert das Daten kommen.... erst danach kommt der Vorteil von DDR5 zum Tragen ... nähmlich der Speed .
 
Zuletzt bearbeitet:
@TheDarkness

Das du nichts über Latenzen gelesen hast hängt (mit) daran, dass bei normalen Betrachtungen davon ausgegangen wird, dass die Latenz klein genug ist, damit deren Einfluss gegenüber der schieren Bandbreite nicht auffällt. Werden die Latenzen jedoch zu hoch sinkt die nutzbare Bandbreite erheblich. Wenn in deinem Modell nun die GPU Speicher anfordert, dieser Anforderung über den PCIe controller der Grafikkarte geht, im PCIe Controller der CPU landet, über den Speichercontroller der CPU geht, beim Speicher ankommt und die Daten daraufhin den selben Weg wieder zurückgehen... Die Latenz ist dann derart hoch, dass die GPU nur um auf die Daten zu warten einige tausend bis zehntausend Takte nichts zu tun hat. Der reinste Horror!
Was man bei der Betrachtung der Latenzen auch noch betrachten muss ist neben der zeitaufwenigen Behandlung durch die ganzen Controller, dass die elektrischen Signale in metallischen Leitern gro mit 2/3 der Lichtgeschwindigkeit unterwegs sind. Das heißt aber auch, dass allein für die Bewegung der elektrischen Ladungsträger von der GPU bis zum Speicher einige Sekundenbruchteile ins Land gehen die wiederrum einigen hundert (!) Takten moderner Halbleiterchips entsprechen.
Zusätzlich kommt erschwerend hinzu, dass CPU und GPU wenn sie auf den selben Speicher zugreifen für Latenzen sorgen. Bei bisherigren Modellen ist der Grafikspeicher und der Speicher für die CPU in verschiedene Bereiche aufgeteilt und beide können nicht beliebig auf den zugeteilten Speicher des Anderen zugreifen. Daher führen gleichzeitige Zugriffe von CPU und GPU zwangsweise zum Anstieg der Latenzen für beide was wieder bremsend wirkt (hier arbeitet AMD mit HSA dran dieses Problem zu entschärfen). Wobei es an dieser Stelle nicht nur um Bandbreite geht, mit vielen kleinen Anfragen die die Bandbreite nicht ausschöpfen bekommt man ein Bus trotzdem voll ausgelastet.

Also nochmal, Latenzen sind wichtig, man klammert diese nur aus, wenn sie klein genug sind um nicht zu stören! Werden sie zu hoch müsste man mit riesigen Caches gegensteuern und/oder aber mit einer deutlichen Verschlechterung der Leistung rechnen, da haben die hier hier schreibenden allesamt recht!

Zusätzlich kommt das Bandbreitenproblem von PCIe dazu, aber das hast du ja schon eingesehen.
 
Zurück
Oben