Teralios schrieb:
Der "neuronale"-Teil des Algorithmus läuft auf den Tensore-Cores, es gibt aber auch Teile, die normal auf den Shadern ablaufen.
Exakt- Ähnlich wie bei den RT Cores läuft der Dispatch und die anschließende Verarbeitung (wie die Gridanordnung) wieder auf den Shadern.
Auch wenn NVIDIA ja betont, dass RT-Kerne, Shader, TC usw. alle ja gleichzeitig laufen können: Das tuen sie aber nicht!
Das klassische Auslastungs- bzw. Flaschenhalsproblem, mit welchen man auf jeder massiv parallel arbeitenden Maschine zu tun hat. Du kommst halt zwischenzeitlich doch immer wieder an den Punkt, wo du "syncen" musst.
Aber - Und das habe ich schon getestet. Du kannst alle Einheiten triggern (auch async), so dass sie gleichzeitig arbeiten und Ergebnisse liefern. Dass es immer wieder zu Abhängigkeiten und "interrupts" kommt, liegt in der Natur der Grafikpipelines, die immernoch stark seriell ablaufen.
Ich hab mir jetzt genug Diagramme zur Verteilung der Rechenleistung auf Ampere-Karten und auch die Karten davor angesehen, auch mit DLSS1.0, DLSS2.0 und 2.1 und wann welche Rechenwerke wie aktiv sind im Frame und oh wunder: Sind die RT-Cores am arbeiten, bricht INT+FP - also die Shader - stark ein
Geh mal in den NSIGHT und wirf einen Blick auf die Kommunikationspipelines/Bandbreiten. Da wird dann langsam klar, warum in den Karten die Kommunikationswege und Bandbreiten massiv aufgewertet wurden.
und werden nicht stark beansprucht und zum Ende hin, wenn DLSS ausgeführt wird, haben weder RT-Cores noch die Shader viel zutun, sondern die Hauptlast liegt auf den TCs.
Exakt - Ist halt wieder das Problem, dass DLSS seine Heuristik mit endgültigen Farbwerten durchführen muss.
Die AI ist ja in Sachen DLSS 2.0 letztendlich ein extrem schneller Memory und Puzzle- Spieler:
Ups- Da ist ein Pixel. Wo war der vorher, wie ist der bis jetzt "gewandert" wie ist die Rotation von Geometrie in Abhängigkeit der Projektionsmatrix im Bild (motion vectors) und welche anderen Geometriebereiche drohen im Z-Buffer dafür zu sorgen, dass das Pixel im Zielframe verdeckt ist und somit verworfen werden muss (parralax effekt). Nebst dem variablen clamping (ich deck einfach gleich ein par memory Karten auf, um meine Chancen zu erhöhen, aber auch Fehlgriffe zu verifizieren und Ghosting zu minimieren und mixe im Sinne von Supersampling noch meine neu abgetasteten Pixel hinzu). Da sind eben nicht nur Matrizen involviert.
Achtung- Das ist vereinfacht dargestellt.
In control kannst Du DLSS2.x übrigens rudimentär beim Arbeiten zusehen, indem Du in den INI- Files die interne DLSS Renderauflösung der Originalauflösung annäherst:
Und bei DLSS kann man sagen, dass ca. 80 % auf den TCs laufen, 20 % auf den Shadern als INT-Operatonen, weil das Bild ja auch skaliert werden muss.
Da würde ich PI mal Daumen konform gehen.
Also, dass die Radeons "nur" Shader haben, ist da kein Problem, weil die Aufgaben ohnehin nach einander ablaufen.
Grundsätzlich wäre das so. Was man dabei aber nicht vergessen darf, sind die Bearbeitungszeiten der Units.
Selbst wenn wir annehmen würden, dass alles streng seriell ablaufen sollte, so ist das Zeitbudget für die Berechnung auf den tensor cores ein Vielfaches unter der Berechnung auf den Shadern.
Letztendlich wiederholen wir die Geschichte der fixed- functions Spezialisierung (ähnlich der alten Vertex- und Pixeleinheiten), die dann meines Erachtens irgendwann später wieder zu einer optimierten multi- purpose Einheit verwachsen.
Und warum? DLSS 1.0 hat auch, sagen wir mal, eher durchwachsene Ergebnisse geliefert und wurde erst mit 2.0 wirklich gut.
Ja- Letztendlich hat man dafür das ursprüngliche DLSS in die Tonne getreten und ein komplett neues generiert.
Das alte DLSS war ja eher das, was hier viele mit der klassischen künstilichen Intelligenz in Sachen Bildanalyse und Annäherung an die ground truth assoziieren.
Für den ersten Wurf, sieht FXSR nicht mal SO schlecht aus, wobei man da auch eher mal auf die Spiele warte muss um dann zu sehen, was kommt.
Ich war enttäuscht, weil ich mir insgeheim gewünscht hätte, dass sie mehr "hervorzaubern" würden, als altbekannte Verfahren. Aber- Da ist das letzte Wort noch nicht gesprochen.
Mal sehen, was im Release dann zum Vorschein kommt.
Ich zumindest kann es trotz der gedämpften Erwartungen nicht erwarten, das mal testweise einzubauen.
DLSS hat in Version 1.0 sehr viel "Training" für das Spiel gebraucht und Version 2.0 ist ausgereifter und genereller, ist aber durchaus auch noch sehr aufwendig zu implementieren und auch Version 2.1 ist da nicht unbedingt "besser" und muss teilweise auch entsprechend aufwendig implementiert werden.
Bei 2.x fällt der Trainingsaufwand weg. Zudem erhältst Du von NVIDIA eine proxy- bibliothek, die Du letztendlich mit einer funktionierenden TAA Integration zu 90% schon füttern kannst.
Ich persönlich sehe da im Augenblick auf Entwicklerseite einen kaum höheren Aufwand. Da war nvidia die letzten Monate extrem rührig. Vielleicht auch wegen des drohenden FSR Gewitters
Im Endeffekt wird man jetzt mal abwarten müssen, was AMD macht und ob sie FXSR nun mit der Zeit auch weiter verbessern.
Ich hoffe zumindest darauf, dass sie in irgendeiner Form (sei es Implementationsvereinfachend) oder technisch (effektivere kombination von Filtern (KI oder nicht KI gestützt) Impulse liefern, die das Thema in der Gesamtheit etwas nach vorne bringen.