La competizione tra AMD RDNA 2 e NVIDIA Ampere è molto serrata e sia da una parte che dall’altra sono stati sferrati colpi potenti. Tuttavia sulla latenza nell’accesso alla memoria cache, AMD RDNA 2 batte la rivale in maniera abbastanza netta
Sono le due architettura grafiche che hanno portato tantissime gioie per via delle prestazioni e del rapporto qualità prezzo rispetto alle precedenti generazione, accompagnate da tanti dolori per via dei problemi di approvvigionamento. Stiamo parlando ovviamente di NVIDIA Ampere e di AMD RDNA 2. Sia da una parte che dall’altra sono state introdotte nuove tecnologie e novità . Da una parte NVIDIA ha portato la seconda generazione di acceleratori per il ray tracing e i nuovi Tensor core che abilitano all’uso del DLSS 2.0. AMD invece dalla sua ha introdotto il ray tracing di prima generazione – ancora inferiore a quello di NVIDIA -, ma anche lo SAM e l’Infinity Cache. Si tratta di una battagli fino all’ultimo fps, ma oggi nella battaglia sulla latenza della memoria cache tra AMD RDNA 2 e NVIDIA Ampere, la prima trionfa.
Latenza della memoria cache: AMD RDNA 2 batte NVIDIA Ampere
La cache è una parte fondamentale per il funzionamento di componenti ad alte prestazioni. Infatti il maggiore collo di bottiglia all’interno dei PC moderni sono proprio le memorie RAM che hanno un tempo di accesso molto superiore al tempo ciclo di un processore. Per evitare di far attendere troppo, si piazzano i dati con elevata probabilità di essere letti nel prossimo futuro all’interno di memorie molto veloci chiamate cache. Sfortunatamente queste memorie non possono raggiungere capienze elevate perché sono molto costose da realizzare e consumano grandi aree di silicio. Ecco perché in genere le dimensioni variano da qualche decina di KB fino ai MB, ma difficile andare oltre. La cache è abbastanza veloce da permettere alla CPU di lavorare a frequenze molto elevate. Tuttavia le piccole dimensioni limitano comunque le prestazioni potenziali. Per sopperire al problema si è quindi pensato ti inserire una gerarchia di memoria cache, via via sempre più lente ma con dimensioni più elevate. Sulle CPU moderne ci sono anche 3 o 4 livelli di cache.
Anche le GPU più recenti sono state costrette ad inserire degli strati di cache nell’architettura. Infatti la memoria video non è abbastanza veloce per “dar da mangiare” a una grande quantità di core che lavorano a frequenze sempre più elevate. Se le dimensioni della VRAM contano fino ad un certo punto – per evitare di dover caricare “pezzi” di gioco dall’SSD -, la velocità è altrettanto fondamentale per poter fornire i core continuamente di dati. Infatti le top di gamma NVIDIA, data l’enorme quantità di di core che utilizzano, montano le velocissima GDDR6X per massimizzare il bandwidth, altrimenti non si riuscirebbe a far lavorare la GPU al 100%. AMD RDNA 2 invece ha tirato fuori Infinity Cache, un ulteriore livello di cache di grosse dimensioni che fa da cuscinetto tra la VRAM GDDR6 e le cache di livello più basso e che permette di estendere il bandwidth medio “percepito” dalla GPU.
La battaglia sulla latenza della cache
Le prestazioni di latenza di memoria delle architetture GPU RDNA 2 di AMD e NVIDIA Ampere sono state testate da Chips e Cheese, già avvezzi a questo tipo di test così specifici. La scoperta è stata davvero interessante: AMD RDNA 2 avrebbe un vantaggio superiore al 30% sulla latenza del sistema di cache. La fonte ha utilizzato un benchmark personalizzato basato sulla ricerca di puntatori in OpenCL per misurare le prestazioni della cache e latenza di memoria su GPU di ultima generazione basate sulle architetture NVIDIA Ampere e AMD RDNA 2. Nei benchmark, AMD Radeon RX 6800 XT (GPU RDNA 2) e NVIDIA GeForce RTX 3090 (Ampere GPU) sono state confrontate in un testa a testa progressivo. Il benchmark di cache e latenza di memoria mostra che l’architettura RDNA 2 di AMD sia superiore alle GPU Ampere di NVIDIA, offrendo una latenza inferiore nonostante si debba passare attraverso dei livelli di cache aggiuntivi. L’uso della cache Infinity aggiunge solo 20 ns rispetto alla cache L2 e nonostante tutto siamo ancora al di sotto della latenze mostrata da NVIDIA. Che cosa significa? A parità di bandwidth della VRAM, le GPU di AMD sprecheranno meno cicli e quindi eseguiranno più calcoli nello stesso tempo.
Il motivo dichiarato è che la GPU GA102 basata su NVIDIA Ampere è semplicemente una GPU molto più grande. Nonostante il sistema di cache sia più semplice, la grandi distanze che i dati devono percorrere all’interno del chip (la velocità di propagazione di un segnale elettrico infatti non è infinita) si traducono in una latenza di oltre 100 ns (da L1 a L2). Invece RDNA 2 ha una latenza di soli 66ns. Si noti che la GPU AMD Navi 21 è molto più piccola e presenta una cache L2 da 4 MB, mentre la GPU NVIDIA GA102 dispone di una cache L2 da 6 MB. La GPU NVIDIA A100 Ampere per HPC dispone di un’enorme cache L2 da 40 MB che certamente aiuta a ridurre le latenze di accesso ai dati:
La cache di RDNA 2 è veloce e ce n’è in abbondanza. Rispetto ad Ampere, la latenza è bassa a tutti i livelli. Infinity Cache aggiunge solo circa 20 ns su un hit L2 e ha una latenza inferiore rispetto a L2 di Ampere. Sorprendentemente, la latenza VRAM di RDNA 2 è più o meno la stessa di Ampere, anche se RDNA 2 sta controllando altri due livelli di cache in più.
Al contrario, Nvidia si attacca a un sottosistema di memoria GPU più convenzionale con solo due livelli di cache e un’elevata latenza L2. Il passaggio da L1 a L2 richiede oltre 100 ns. La latenza L2 di RDNA è a circa 66 ns rispetto a L0, anche con una cache L1 tra di loro. Per aggirare l’enorme chip di GA102, sembra che ci vogliano molti cicli.
Questo potrebbe spiegare le eccellenti prestazioni di AMD a risoluzioni inferiori. Le cache L2 e L3 a bassa latenza di RDNA 2 possono offrire un vantaggio con carichi di lavoro più piccoli, in cui l’occupazione è troppo bassa per nascondere la latenza. I chip Ampere di NVIDIA in confronto richiedono più parallelismo per brillare.
In altre parole: se le memoria cache riescono ad essere sempre aggiornate con dati validi (cioè abbiamo una elevata probabilità di cache hit), allora le prestazioni delle GPU AMD saranno superiore perché la pipeline di cache è più veloce. Questo succede quando si muovono blocchi di dati più piccoli che riescono ad “entrare” meglio all’interno delle cache. Mentre se la pipeline di memoria cache si riempie, il collo di bottiglia diventa il bandwidth della memoria VRAM e qui NVIDIA Ampere potrebbe stare un passo avanti. Questo benchmark è molto specifico e ovviamente i suoi effetti sulle prestazioni reali in gaming non sono facili da stimare poichè ci sono tantissimi fattori in gioco. Inoltre sembra che il problema sia legato alle dimensioni del chip, quindi nella fascia medio-bassa le cose potrebbero cambiare.
Tuttavia mette anche in luce la diversa strategia abbraccia da NVIDIA ed AMD: la prima punta tutto su un’elevata parallelizzazione con un numero elevato di core e una maggiore vicinanza alla enorme VRAM, la seconda invece mantiene un approccio seriale con pochi core che funzionano a frequenze elevate ed una architettura della cache a bassa latenza. Dalla sezione hardware è tutto, continuate a seguirci!
Lascia un commento