Belangrijkste punten
- GPU SLI en CrossFire zijn verouderd vanwege meerdere problemen en afnemende opbrengsten, maar Multi-Chip GPU's bieden hoop op toekomstige verbeteringen.
- DirectX 12 Ultimate biedt expliciete multi-GPU-ondersteuning, maar weinig games maken daadwerkelijk gebruik van deze functie vanwege uitdagingen voor ontwikkelaars.
- De innovatieve oplossing van Apple om meerdere afzonderlijke GPU's in één systeem-op-een-chip aan te sluiten, resulteerde in een vrijwel naadloze ervaring voor gebruikers.
Als één GPU goed is, zijn dan toch zeker twee GPU's beter? Voor een groot deel van de GPU-geschiedenis was dat het geval, maar tegenwoordig kun je niet zomaar een tweede grafische kaart in je pc stoppen en een framerate-boost krijgen. Waarom? En wanneer kunnen we dat weer doen?
Hoe SLI en (ook) SLI dual-GPU-gaming introduceerden
De vroege pionier op het gebied van de grafische versneller, Voodoo, introduceerde SLI of “Scan-Line Interleave”. in de jaren 90. Hierdoor kun je twee van hun Voodoo-kaarten (die identiek moesten zijn) met elkaar verbinden, waardoor elke kaart een afwisselende lijn van het frame weergeeft. Theoretisch zou dit je weergavekracht verdubbelen, maar in de praktijk was de boost nog nooit zo lineair.
Met de teloorgang van Voodoo (en de technologie ervan gekocht door NVIDIA) zou SLI een terugkeer maken met de GPU's van NVIDIA, maar deze keer was het een afkorting voor “Scalable Link Interface”. ATi (nu AMD) was en blijft de belangrijkste concurrent van NVIDIA, en de gelijkwaardige technologie CrossFire deed vrijwel hetzelfde. De kaarten, of soms twee tot vier GPU's op dezelfde kaart, waren met elkaar verbonden via een speciale bus met hoge bandbreedte waarmee ze snel informatie konden delen, en zo de renderingwerklast konden delen.
De exacte manier waarop dit werkte, was afhankelijk van de implementatie, maar meestal gaven de GPU's afwisselende frames weer of werd elk frame opgesplitst in een schaakbordpatroon van regio's, en werkten de GPU's elk aan hun deel van de patches.
De dag dat SLI en Crossfire stierven
Toen SLI of CrossFire werkte, zorgde het voor snellere prestaties dan welke GPU dan ook, maar er waren veelvoorkomende problemen. Zogenaamde "micro" stotteringen veroorzaakt door synchronisatieproblemen en bandbreedtebeperkingen zouden de ervaring verpesten, zelfs als de FPS-teller hoog was. Bovendien maakte prestatieschaling de kosten-prestatieberekening voor de meeste mensen onhoudbaar. Het toevoegen van een tweede kaart zou uw prestaties niet verdubbelen, maar misschien met 70% verhogen als u geluk had. Een derde of vierde kaart zou het rendement nog meer verminderen. In veel gevallen zou die vierde kaart letterlijk niets doen!
Liefhebbers waren echter nog steeds bereid alles te betalen om de beste prestaties te krijgen, dus SLI leefde nog steeds voort als een functie, maar de doodsklok kwam toen games het niet meer ondersteunden. Niet alleen is het implementeren van SLI extra werk voor een ontwikkelaar die een heel klein deel van zijn markt bedient, maar de manier waarop games worden weergegeven, past slecht bij SLI.
Moderne game-engines gebruiken vaak gegevens uit eerdere frames om huidige frames te verbeteren of weer te geven, met verschillende buffers en hopen gegevens die moeten worden verschoven. Het totale eindresultaat is dat SLI en Crossfire slecht passen bij de manier waarop deze game-engines werken, omdat gegevens uit het verleden of de inhoud van die buffers niet snel genoeg kunnen worden verschoven.
Apple kan GPU's aan elkaar lijmen

Het verbinden van twee grafische kaarten met een kabel is misschien niet goed genoeg om multi-GPU-technologie goed te laten werken in moderne games of 3D-apps, maar Apple lijkt dit probleem te hebben opgelost door een waanzinnig snelle verbinding tussen hun GPU's te creëren. Door meerdere kopieën van hun Apple Silicon systeem-op-een-chip-modules te nemen en deze in wezen aan elkaar te lijmen met randconnectoren met ultrahoge bandbreedte, verdwijnt het probleem vrijwel.
Sterker nog: softwareontwikkelaars hoeven hier geen rekening mee te houden. Voor een game of andere toepassing lijkt het allemaal op één grote logische GPU, ook al zitten er meerdere afzonderlijke GPU's in zoiets als een Apple M1 Ultra of M3 Max. De schaling is niet perfect, er is nog steeds sprake van overheadkosten, maar afhankelijk van de app in kwestie is dat niet ver daarvandaan.
Directx 12 ondersteunt meerdere GPU's
Technieken als SLI worden afgehandeld door de drivers en implementatie van de GPU-fabrikant. Een ontwikkelaar moet zijn game-engine afstemmen op SLI, maar de feitelijke manier waarop het werk wordt verdeeld tussen de kaarten onder de motorkap heeft hij niet in de hand.
De nieuwste versie van DirectX op het moment van schrijven is DirectX 12 Ultimate, en deze API (Application Programming Interface) heeft een functie die bekend staat als "expliciete" multi-GPU-ondersteuning. Dit betekent dat, als een computer meer dan één GPU heeft, de ontwikkelaar precies kan bepalen welk werk aan elke chip wordt gegeven en hoe het allemaal aan elkaar wordt genaaid.
De GPU's hoeven niet van hetzelfde model of zelfs van hetzelfde merk te zijn! Op papier klinkt dit dus geweldig, maar ondanks dat dit in DirectX 12 is ingebakken, hebben maar heel weinig games dit daadwerkelijk ondersteund. Ik kan alleen maar aannemen dat het een aanzienlijke last is voor ontwikkelaars om wederom een kleine groep mensen met meerdere GPU's te bedienen. Hoewel technisch gezien laptops met geïntegreerde en speciale GPU's meetellen, zou de geïntegreerde GPU waarschijnlijk niet genoeg helpen om de technische complexiteit waard te zijn.
Multi-Chip GPU's komen eraan!
In augustus 2022 schreef ik dat Multi-Chip Module (MCM) GPU's de toekomst van graphics zouden kunnen zijn. Deze GPU-chips lijken enigszins op AMD's "chiplet"-ontwerp voor hun CPU's en bevatten meerdere discrete GPU's die met elkaar zijn verbonden via een extreem snelle verbinding in de trant van Apple's oplossing.
NVIDIA's Blackwell B200 GPU is officieel de eerste NVIDIA MCM GPU die hopelijk doorsijpelt naar consumentenkaarten, en AMD heeft ook patenten voor chiplet-stijl GPU's in de openbaarheid. Dit zal hopelijk effect hebben op de kosten van duurdere kaarten en een heel nieuw gebied van verbeterde prestaties voor GPU's openen, aangezien de praktijk van het maken van steeds grotere chips met hoge faalpercentages duidelijk op een dood spoor afstevent.
Hoewel de dagen van meerdere GPU's voor grafische rendering (we doen dat nog steeds voor andere soorten taken) of twee afzonderlijke chippakketten op één kaart waarschijnlijk nooit meer zullen terugkeren, lijkt de toekomst steeds meer te bestaan uit arrays van GPU's op één enkele chip, die als één geheel fungeren.
Leave a Reply
You must be logged in to post a comment.