Usare tutta la memoria video in SLI o CrossFire, in futuro sarà possibile

Robert Hallock, boss del reparto marketing tecnico di AMD, spiega che Mantle e le future API grafiche a basso livello permetteranno agli sviluppatori di usare l'intero pool di memoria in configurazioni multi-GPU.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

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.

AMD Radeon Nvidia GeForce memory stacking

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 PowerColor Radeon R9 295X2 8 GB
EVGA GTX TITAN Z 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.