Le schede video dual-GPU o le configurazioni SLI o CrossFire fanno un uso della memoria video non condiviso. Prendiamo ad esempio la Radeon R9 295X2, venduta come una scheda con 8 GB di memoria: ogni GPU sfrutta in verità solo 4 GB e non l'intera capacità presente sul PCB e comunicata dal produttore.
Questa situazione però potrebbe cambiare in futuro, a detta di Robert Hallock, boss del reparto marketing tecnico di AMD. Le API come Mantle e in generale quelle di basso livello (come le future DirectX 12 e OpenGL) permetteranno di gestire più GPU come un unico grande core grafico e sfruttare l'intera memoria disposizione.
PowerColor Radeon R9 295X2 8 GB | ||
EVGA GTX TITAN Z |
Hallock spiega che la ragione per cui non c'è un effetto di memory stacking nei sistemi a più GPU è che con le attuali librerie come le DirectX 11 deve essere eseguita una copia completa del gioco su ogni GPU. Inoltre il rendering dei frame è ripartito in base al numero di schede/GPU presenti nel computer.
Con le API di basso livello come Mantle, lo sviluppatore avrà invece un accesso più basso alla GPU e ciò significa che eseguendo un'adeguata ottimizzazione è possibile abilitare lo stacking della memoria.
"Mantle è la prima API grafica a trascendere questo comportamento e permettere un controllo più esplicito. Ad esempio potete fare lo split-frame rendering (SFR) con ogni GPU e il suo rispettivo frame buffer gestisce metà dello schermo. In questo modo le GPU hanno un'informazione minima, permettendo ad ambedue le GPU di comportarsi effettivamente come una singola GPU più grande/veloce con un pool di memoria altrettanto grande", ha spiegato Hallock.
Lo split-frame rendering (SFR) è una delle novità introdotte da AMD con la patch Mantle di Civilization V: Beyond Earth, alternativa al classico Alternate Frame Rendering (AFR). Né AMD né lo sviluppatore in quel caso specifico hanno parlato di stacking della memoria - forse non è stata implementata tale caratteristica nel gioco di Firaxis.
"SFR divide ogni frame della scena in sezioni proporzionali e assegna un pezzo di rendering a ogni GPU in CrossFire. La GPU principale (master) riceve rapidamente il lavoro di ogni GPU e compone la scena finale che il giocatore vede sul monitor. Questo dovrebbe assicurare uno scaling prestazionale praticamente perfetto e una riduzione della latenza della metà", scrivevamo in una news precedente.
Purtroppo, come abbiamo scritto più sopra, avere Windows 10 con le DirectX 12 e/o Mantle non garantisce che più GPU si comporteranno come descritto da Robert Hallock. Lo stacking della memoria è una caratteristica delle nuove API ma il suo uso dipenderà dagli sviluppatori di videogiochi.