VRAM erweitern mit RAM oder DirectStorage?

Goldkat

Cadet 4th Year
Registriert
Juli 2018
Beiträge
65
Hallo,

mit den Worten eines 2011er Threads ich habe auch eine "dumme" Frage und hab leider überhaupt keine Ahnung.

Die Frage von damals war, ob man den Grafikkartenspeicher mit dem CPU Speicher erweitern könnte und die Antwort war einfach zusammen gefasst, dass die Latenzen zu hoch wären.

Jetzt sind ja noch einmal ein paar Jahre ins Land gegangen und ich wüsste gern, ob das heute mit PCIE4.0 und DDR4 oder 5 anders aussieht?
Außerdem hatte ich eine Idee und wie gesagt ich hab keine Ahnung aber vielleicht kann ja jemand was mit dem Gedankenspiel anfangen.
Die neue DirectStorage Technologie ermöglicht doch das man Daten von der Festplatte direkt in den Grafikkartenspeicher lädt und in dem Ratchet & Clank Trailer werden dann ganze neu geladene Open Worlds ohne Ladezeiten per Portalsprung visualisiert.
Wäre es dann nicht auch möglich, dass man nur den aktuellen Bedarf im Grafikkartenspeicher lädt, anstatt beim Laden des Levels alle Daten in den Speicher zu ziehen? Dann würde immer nur das im Speicher reserviert sein was gerade tatsächlich in der Szene benötigt wird und das dürfte den Bedarf an gesamten Grafikkartenspeicherbedarf doch senken oder?
Also das wäre ja so gesehen keine Erweiterung vom VRAM sondern nur ein Speicherpuffer, aber würde es funktionieren und einen nennenswerten Unterschied bringen?

Ich frage für alle da draußen, die sich eine RX6500XT gekauft haben :p

Danke vorab und freundliche Grüße
Goldkat
 
1. Nein.
2. DirectStorage existiert derzeit nur auf dem Papier und bis es von neuen Spielen grossflächig genutzt wird hast auch du die nächste Karte.
 
  • Gefällt mir
Reaktionen: Demon_666
Kenne mich mit DS im Detail nicht aus, aber deine Frage ist weniger eine über DS sondern imho vielmehr eine Frage, die nur die Spieleentwickler beantworten bzw. realisieren können.
Und da es bei den Entwicklern immer etwas länger dauert, dürftest du wohl eine neue Karte haben, bis das relevant wird.
Zudem kann ich mir nicht vorstellen, dass die Entwickler da viel Optimierung für langsamere/schlechter ausgestattete Karten betreiben. Das passiert ja schon jetzt praktisch nicht, also warum sollten sie damit dann damit anfangen? ;)
 
  • Gefällt mir
Reaktionen: Goldkat
Goldkat schrieb:
Jetzt sind ja noch einmal ein paar Jahre ins Land gegangen und ich wüsste gern, ob das heute mit PCIE4.0 und DDR4 oder 5 anders aussieht?


Goldkat schrieb:
Wäre es dann nicht auch möglich, dass man nur den aktuellen Bedarf im Grafikkartenspeicher lädt, anstatt beim Laden des Levels alle Daten in den Speicher zu ziehen? Dann würde immer nur das im Speicher reserviert sein was gerade tatsächlich in der Szene benötigt wird und das dürfte den Bedarf an gesamten Grafikkartenspeicherbedarf doch senken oder?
Richtig, so ist das gedacht.

Ist zwar was länger, aber hör dir den Vortrag mal an, der bespricht auch das Thema im Detail:

Geht zwar um die PS5, aber DirectStorage am PC ist genau dasselbe Konzept.

Wie gut das von Spiele-Entwicklern usw. umgesetzt wird steht noch auf einem anderen Stern geschrieben.

Goldkat schrieb:
Also das wäre ja so gesehen keine Erweiterung vom VRAM sondern nur ein Speicherpuffer, aber würde es funktionieren und einen nennenswerten Unterschied bringen?
Das ist weder noch. Die Technik soll nur dazu dienen, 'unnütze' Speicherbelegung zu minimieren - also alles, was nicht innerhalb der nächsten Sekunde gebraucht wird.

Eine 'Erweiterung' des VRAM ist das in keinster Weise, nur effizientere Nutzung von dem bereits vorhandenem.
 
  • Gefällt mir
Reaktionen: der Unzensierte und Baal Netbeck
GDDR Speicher von Grafikkarten ist wesentlich schneller als DDR der für RAM benutzt wird.
 
Goldkat schrieb:
die Antwort war einfach zusammen gefasst, dass die Latenzen zu hoch wären.
Und das ist auch heute noch so. RAM ist zwar deutlich schneller geworden, VRAM aber auch. Und genau so ist die Menge an Daten, die zwischen den beiden hin und hergeschaufelt wird, größer geworden.

Goldkat schrieb:
ob man den Grafikkartenspeicher mit dem CPU Speicher erweitern könnte
Wobei das ja auch heute schon gemacht wird. Ist der VRAM voll, werden die überschüssigen Daten in den RAM ausgelagert. Ist der voll, geht es weiter zum Massenspeicher.
Aber wie oben schon erwähnt, verliert man mit jedem Schritt ganz massiv an Performance.

Goldkat schrieb:
Ich frage für alle da draußen, die sich eine RX6500XT gekauft haben
Das war leider ein absoluter Fehlkauf. Mit den nachteilen dieser Karte wirst du, insofern du sie behältst, also leben müssen...
 
  • Gefällt mir
Reaktionen: Baal Netbeck
GPU-Speicher arbeitet mit 800 GB/s und mehr, RAM nur mit ca 50 GB/s. Dazu kommen die Latenzen.

GPU-Speicher ist auch mit viel RAM oder DS nicht zu ersetzen.
 
  • Gefällt mir
Reaktionen: Aduasen
Gehen und nutzen sind zwei paar Schuhe … was für potente IGPU vlt. ein Ansatz war und ist, kann am Ende für dedizierte Karten aber eher nachteilig sein.

Nur mal so aus der Erinnerung, die GTX970 hatte da was „vergleixhbares“ was zeigt, dass zu langsam angebundener Speicher sogar schlechter ist als „zu wenig“. Damals war es so dass die gtx970 die letzten 0,5gb mit einem extrem krüppeligen speicheronterface angebunden sind und wenn die „genutzt“ wurden sackten die Frames ins bodenlose
 
Als Grafikkarten von ISA auf AGP (beides vor PCI-Express) umgestiegen sind war einer der Gedanken, mit mehr Bandbreite den RAM des Rechners zu verwenden statt teuren eigenen VRAM auf die Grafikkarte packen zu müssen. Das hat nicht so recht geklappt, bzw. es klappte (technisch) schon, aber es blieb vorteilhafter, immer größeren und breitbandigen eigenen VRAM einzusetzen.

Das Grundproblem bleibt heute das gleiche. Je "weiter weg" Daten liegen, desto länger dauert es da dran zu kommen. In der Zeit, in der Daten aus dem RAM in den VRAM kommen, gehen einige Taktzyklen flöten. Die kann die GPU anders nutzen, aber für jeden Rechenschritt ist das keine wirklich gute Alternative. Im Bereich der heutigen Taktraten kann der Prozessor den Daten (Signalflanken) quasi beim Wandern zusehen und Däumchen drehen...

Dazu kommt, dass die Bandbreite vom VRAM riesig ist, und so viele Daten so "weit" zu transportieren kostet auch Energie und ist für die Signalqualität (bzw. die Ingenieure) nicht unbedingt trivial. Wenn man Repeater in den VRAM-Datenpfad einbauen müsste sammeln die noch mehr Latenz. Das ist bei PCI-Express 4/5 schon ein Problem, PCI-E 5 muss einige schmerzhafte Kompromisse eingehen um brauchbare Signale produzieren zu können.

Ganz auf dem Holzweg bist du allerdings trotz all dem nicht - der CXL-Standard versucht gerade, so etwas Ähnliches im Serverumfeld umzusetzen. Das kann auch oft Sinn ergeben und klappen, es kommt aber auf die Anwendung an. Bei Grafikkarten (und den ganzen anderen "lineare Algebra-Beschleunigern") ist das ein ziemlicher Tradeoff und hart an der Grenze dessen, was möglich/sinnvoll ist. In Servern, gerade bei den Hyperscalern die containerweise Komponenten kaufen, kann das System von vornherein darauf ausgelegt und passend entwickelt werden. Was wir als private Rechner kennen ist im Vergleich dazu ziemlich suboptimal und täte sich vermutlich schwer mit CXL.
 
Zuletzt bearbeitet:
Goldkat schrieb:
Jetzt sind ja noch einmal ein paar Jahre ins Land gegangen und ich wüsste gern, ob das heute mit PCIE4.0 und DDR4 oder 5 anders aussieht?
Nein. Leider gar nicht. DDR und GDDR entwickeln sich in ähnlichem Tempo weiter, die Kluft bleibt also auf absehbare Zeit bestehen.

Goldkat schrieb:
Wäre es dann nicht auch möglich, dass man nur den aktuellen Bedarf im Grafikkartenspeicher lädt, anstatt beim Laden des Levels alle Daten in den Speicher zu ziehen? Dann würde immer nur das im Speicher reserviert sein was gerade tatsächlich in der Szene benötigt wird und das dürfte den Bedarf an gesamten Grafikkartenspeicherbedarf doch senken oder?
Die Idee ist nicht verkehrt, aber es gibt hier ein Problem: Das ist schon heute möglich. Und das war schon vor 10 Jahren möglich. Allerdings ist es nicht trivial sowas zu programmieren und "ressourcenschonend" zu programmieren ist seit den 2000ern aus der Mode gekommen (auch, weils zu aufwendig wäre). Der Gedanke ist also richtig, aber leider nicht praxistauglich.

Goldkat schrieb:
Also das wäre ja so gesehen keine Erweiterung vom VRAM sondern nur ein Speicherpuffer, aber würde es funktionieren und einen nennenswerten Unterschied bringen?
Es wäre nicht mal ein Speicherpuffer, es wäre nur gesteigerte Speichereffizienz. Ob es einen Unterschied bringen KÖNNTE, hängt extrem stark von der Szene ab, die gerendert werden soll und von den Daten, die tatsächlich unnötig vorgehalten werden. Aber der Gedanke ist theoretischer Natur, es gibt keine Umsetzung in der Praxis, die einen Unterschied erkennbar macht. Und welchen Effekt DirectStorage dann wirklich hat, muss sich erst noch zeigen. Klar könnten die Hersteller sagen "top, durch das schnelle Laden können wir effizienter den VRAM nutzen und laden einfach weniger Daten rein". Oder die andere Richtung: "Geil, wir müssen auf dem PC den Mist nicht mehr über die CPU mappen. Lass mal noch größere Texturen reinknallen, VRAM ist ja oft genug da." Genauso ist alles andere denkbar. Die Zeit wird zeigen, ob und wie DirectStorage verwendet werden wird.
 
  • Gefällt mir
Reaktionen: Aduasen
Streng genommen ist das folgende hier völlig off topic weil es nichts mit DirectStorage oder normalen Desktop PCs zu tun hat, aber als Blick über den Heimanwender-Tellerrand will ich noch diesen Link hier lassen.

Da wird auch der Punkt von @SoDaTierchen angesprochen. Die Sache ist flexibler als die normale Aufteilung, aber kostet auch reichlich Kohle sowohl in der Einrichtung als auch der Einführung und lohnt sich nur für bestimmte Workloads. In der Industrie wird so viel gebraucht, dass sich der Aufwand für manche Betreiber zu lohnen scheint. Aber die kennen ihre Workloads auch ganz genau und können die Tradeoffs ins Detail modellieren und ausreizen.

Und selbst dann ist das nicht der erste Versuch dieser Art und manch anderer Anbieter ist im Laufe der Zeit vom Markt verschwunden.
 
Zurück
Oben