Da auch AMD an einer Multi-GPU-Lösung arbeiten soll (>Multichipletdesign auf einem PCB
Nein, AMD arbeitet nicht an einer Multi-GPU-Lösung, sondern an einer GPU, die sich aus mehreren Chiplets zusammensetzt. Was SLI(alt)/SLI(NVIDIA)/CF und nun Intels Lösung mit AMDs neuer Lösung gemeinsam haben, ist die Tatsache, dass man mehrere Chips mit einander verbindet und gemeinsam arbeiten lässt, von da an gehen die Konzepte aber stark getrennte Wege.
Auf SLI(alt) gehe ich später ein SLI (NVIDIA) und CF (ATI) und nun Intels Ansatz laufen entweder auf Treiber- oder API-Ebene ab. In SLI und CF gibt es "zwei" bekannte Modi: Alternate Frame Rendering und Splited Frame Rendering, also AFR und SFR. AFR war dabei vorherrschend, weil es noch am einfachsten umzusetzen ist, da man einfach die Frames 1, 2, 3, 4, 5, ... n auf die GPUs A und B aufteilt und man (eigentlicht) nur die Wiedergabe synchronisieren muss. GPU A berechnet Frame 1, 3, 5, ... n-1 und GPU B 2, 4, ... n. Braucht GPU A länger, muss B warten bis A fertig ist und kann dann erst das Bild ausgeben und mit dem nächsten Frame anfangen. Das funktionierte auch solange gut, bis immer mehr "temporalen" Komponenten bei verschiedenen Effekten genutzt wurden um den Aufwand zu verringern.
SFR wiederum beruht daruf, dass man ein Bild in Teilbilder zerlegt und diese Happen auf GPU A und B berechnen lässt - SLI von 3dFX arbeitet "ähnlich". Der Treiber zerlegt das Bild in Abschnitte und gibt die Abschnitte auf GPU A und B. Das funktioniert bei Spielen der Ära < DX7 sehr gut, ab DX 7 und "Hardware T&L" sowie ab DX 8 mit den Shadern funktioniert das weniger gut. Auch weil der Kommunikationsaufwand teilweise steigt.
Natürlich arbeiten heute fast alle modernen GPUs "intern" mit einem SFR-Ansatz, da NVIDIA seit Maxwell(?) auf ein Tiled-Based-Render umgestellt hat und AMD mit Vega, die Lasten müssen dennoch gleichmäßig verteilt werden, damit alle Teile zur selben Zeit fertig sind und ebenso muss man dafür sorgen, dass man die Kommunikation weitgehend minimiert und auf das nötigste reduziert. AMD hat nun bereits angedeutet, dass sie ihren Renderer um noch eine Stufe erweitern, der eine "Vorberechnung" des Frames vornimmt um Anhand dieser die Aufteilung in Arbeitspakete vorzunehmen und dann auf die weiteren Chiplets zu verteilen.
Colindo hat das echt schön aufgearbeitet. Zu mal AMD in RDNA2 bereits den Infinity-Cache eingeführt hat, den man in nächsten Ausbaustufen zusammen mit Memory-Controllern auch eine Schicht einführt, die die Synchronisation deutlich einfacher machen kann.
könnte das Angestrebte von Intel gar nicht so dumm sein. Auch wenn da natürlich Unterschiede bestehen.
Was Intel anstrebt - nach den jetzigen Informationen - ist etwas, was AMD und NVIDIA aus gutem Grund aufgeben haben, weil die Ansätze davon noch aus der Zeit von DX 6 stammten, als es wesentlich einfacher war eine "Multi-GPU"-Lösung bereit zu stellen, weil die eigentlich relevanten Berechnungen für ein Frame von der CPU übernommen wurde und die GPU einfach nur Polygone gerastert und mit Texel sowie Licht- und Schattenwerte versehen hat (stark vereinfacht).
Es gab eine Frima, die ein entsprechendesw Konzept entwickelt haben, dass zwar "Multi-GPU" war, dass aber bereits weiter entwickelt war als das, was NVIDIA und ATi mit SLI und CF abgeliefert haben, da geh ich aber gleich drauf ein.
Das monolithische Design scheint sich ja langsam aber sicher verabschieden zu wollen.
Richtig, es reicht aber nicht, dass man einfach SLI/CF wieder belebt, die ihre Wurzeln in der DX6 und DX7 haben und die zwar bei DX8 und den frühen DX9-Titeln wunderbar noch funktionierten, seit dem aber immer weniger, weil immer mehr "Zwischendaten" aus bestimmten Schritten benötigt werden oder auch die temporalen Komponenten in den Effekten wichtiger werden.
Von daher sind SLI/CF, vom Grundgedanken her, gar nicht soweit weg von einem Multichipdesign auf einem Substrat.
Ja, vom Grundgedanken mag SLI/CF an der Lösung von AMD ran sein, in der Ausführung liegen dazwischen Welten. AFR wird heute nicht mehr wirklich funktionieren, da die temporalen Komponenten immer wichtiger werden.
SFR wiederum benötigt eine hohe Synchronisation in der "entfernten" Form und verteilt die Arbeit nicht gleichmäßig. Weite Wege sind dazu auch Gift. Also muss man weiter denken.
Bei der Voodoo gab's keine ruckler im SLI Verband. Hab das Jahre aktiv genutzt.
Du kannst das nicht mit einander wirklich vergleichen. Voodoo und Voodoo 2 sowie später die Voodoo 5 waren Karten DX6-Karten. Die Berechnung der Geometrie sowie Beleuchtung wurden damals von der CPU durchgeführt. Voodoo, Voodoo 2 und VSA-100 haben wirklich nur das Bild gerastert, die Pixel mit den Texeln versehen und dann die fertigen Beleuchtungswerte und Co noch dazu gerechnet, das war es.
Dazu kommt, dass auf der Voodoo 5 die beiden VSA-100 ihre fertigen Zeilen einfach in den RAMDAC schreiben konnten. Ähnliches bei den Voodoo 2 SLI und der Verbindung, so dass die Daten aus dem einen RAMDAC in den anderen geschoben wurden.
Was 3dFX bei Voodoo 1 - 5 gemacht hat, wäre aber spätestens bei DX7 und nachfolgend nicht mehr so einfach möglich gewesen und deswegen hat sich 3dFX da auch etwas einfallen lassen, dass dem Ansatz von AMD nicht mal so "unähnlich" ist, aber auch komplexer als es SLI und CF sind. Es wäre auch auf ein zweistufiges Konzept hinaus gelaufen.
Spectee der nie erschiene Nachfolger wäre wohl DX 7 kompatibel gewesen.
Specter war sogar DX8 kompatibel und Specter hatte auch nicht mehr viel mit dem klassischen SLI von 3dFX gemeinsam, da 3dFX wegen dem Hardware T&L und eben den Vertex-Shader vor den gleichen Problemen gestanden ist, wie heute AMD, NVIDIA und Co, wenn es darum geht die Last auf die Chips passend zu verteilen.
Da man damals auch in der Hardware zwischen Vertex- und Pixel-Shader unterschieden hat und DX8 noch eine "relativ" stare Struktur in der Renderpipeline hatte, hat 3dFX bei Specter die Chance ergrifen die zwei logisch getrennten GPU-Bestandteile auch in zwei eigene Chips zutrennen.
Sage als Gemoetrie-Prozessor, der die Komponenten aus DX7 für Transform & Lightning sowie die Vertex-Shader, damit die Geometrie berechnet wird. Erst nach diesem Schritt hätten dann die Rampage-Chips mit den ROP, TMU, TAU und Pixelshader über nommen und dann hätte man wieder "zeilenweise" arbeiten könnten.
Der Ansatz wäre auch bei den erste DirectX 9 Versionen gut gegangen, später mit den den ersten Postprocessing-Effekte (und da meine ich nicht Bloom und Co, sondern Effekte) wäre es schon problematischer geworden. Für eine "unified" Shader-Architektur hätte sich 3dFX auch wieder eine andere Lösung überlegen müssen.
3dFX kannte die Probleme und hatte diese auch direkt auf dem Schirm. AMDs Ansatz ist dem "Specter"-Ansatz nicht ganz unähnlich.