La gestione della memoria delle GPU

Due chiacchiere con uno dei creatori di Ashes of the Singularity per scoprire il futuro della grafica su PC e alcune novità delle DirectX 12.

Avatar di Tom's Hardware

a cura di Tom's Hardware

La gestione della memoria delle GPU

Una delle caratteristiche delle DirectX 12 è l'abilità di avere pool di memoria indipendenti per ogni GPU. Con lo SLI e il CrossFire le GPU hanno pool di memoria replicati che sono copie identiche di ognuna, ma nelle DirectX 12 ogni GPU può avere un dato totalmente separato in memoria e persino pool di memoria di differenti dimensioni.

Baker ha affermato che l'attuale build del Nitrous Engine usa risorse duplicate per ogni GPU a causa di limitazioni del bandwidth. Ha inoltre spiegato che affinché l'Explicit Multi-GPU condivida il dato, questo deve essere accessibile da entrambe le GPU - il che significa che deve essere nella memoria di sistema.

ashes of singularity 02

Viste le limitazioni del bandwidth della memoria di sistema rispetto al throughput di GDDR5 e HBM, l'azienda ha optato per usare risorse di memoria duplicate. Oxide, tuttavia, non ha ancora scartato l'idea di usare un pool di memoria condiviso in alcuni casi, e l'azienda ha alcune idee su come potrebbe sfruttare a proprio vantaggio due pool di memoria indipendenti.

Con una configurazione dotata di una GPU dedicata più una integrata, c'è già una GPU che sta accedendo alla memoria di sistema (quella integrata), quindi non è così complicato permettere alla GPU dedicata di vedere quel pool. Baker sta inoltre pensando di dedicare porzioni specifiche del gioco a una GPU o all'altra: un core grafico può gestire tutte le texture di una fazione nel gioco, mentre l'altra GPU gestisce una fazione diversa. I file texture, in questa situazione, non devono essere duplicati.