Avatar di Paul Alcorn

a cura di Paul Alcorn

Come ogni novità imprevista, sono state molte le voci di corridoio che hanno circondato l'arrivo di Intel Kaby Lake-G, sin da quando AMD annunciò che avrebbe venduto chip grafici custom alla rivale di sempre. Alcuni primi report suggerivano che Intel aveva comprato chip AMD Polaris e non le più recenti soluzioni Vega.

In seguito Intel mise a tacere quelle voci presentando una schiera di processori Kaby Lake-G con grafica Radeon RX Vega. Recenti scoperte però rimettono tutto in gioco. Nelle scorse ore abbiamo pubblicato il test dell'Intel NUC Hades Canyon, basato su una soluzione Kaby Lake-G Core i7-8809G. Come abbiamo fatto notare nell'articolo, molti software di terze parti non riportano alcuni parametri in modo corretto, come il consumo del package e le temperature. Un fatto ordinario nel caso di prodotti appena presentati. Per questo abbiamo pensato a una mancata ottimizzazione dei software in nostro possesso.

In queste ore però il tema di quale GPU accompagni Kaby Lake-G è tornato prepotentemente alla ribalta. Secondo un'analisi di PC World, il core grafico ha un'architettura più simile a Polaris che a Vega. Per capirne di più abbiamo fatto alcuni test per vedere se il chip in questione supporta una delle caratteristiche specifiche dell'architettura Vega. Quello che abbiamo scoperto è stato più che sorprendente, ma prima di approfondire, facciamo un passo indietro.

intro

PC World ha riaperto il dibattito Vega / Polaris segnalando che AIDA64 identificava la GPU Radeon del NUC come Polaris 22. L'utility chiama l'architettura anche AMD GCN4 (Polaris). Al contrario, SiSoftware Sandra identifica la GPU come Radeon RX Vega M GH.

Sfortunatamente i device ID non dicono tutto. Piuttosto, riportano informazioni basate su identificatori che non sono sempre accurati. La grafica Radeon di Kaby Lake-G, per esempio, è identificata dal device name gfx804 OpenCL, che è lo stesso usato da AMD per la GPU Polaris 12 a bordo della RX 550.

Ciò potrebbe essere dovuto a un identificatore che non è stato aggiornato correttamente o a un errore di rilevamento nel runtime OpenCL; alcune utility tornano automaticamente indietro all'ultimo nome in codice conosciuto se incappano in un valore inatteso. I produttori di software possono anche aggirare i nomi in codice per altri scopi. Questo spiega perché alcuni identificano la Radeon del NUC come Vega e altri la chiamano Polaris 22. Le utility di terze parti usano anche i PCI device ID per l'identificazione, che nel caso di Kaby Lake-G sono 694C e 694E. Questi device ID si possono ricollegare anche a Polaris 22.

PC World fa inoltre notare che la GPU Radeon dei NUC non supporta le DirectX 12.1 come i chip Vega, ma si ferma alle DirectX 12 come Polaris. Allo stesso tempo Ryzen 5 2400G con grafica integrata Vega supporta le DirectX 12.1. Tutto questo dà sostanza alla teoria che Kaby Lake-G usi l'architettura Polaris anziché quella Vega.

Con l'architettura Vega il produttore statunitense ha introdotto diverse nuove funzionalità, tra cui Next-Generation Geometry path e Draw-Stream Binning Rasterizer. Alcune di queste capacità sono difficili da isolare e testare, quindi ci siamo concentrati sui Next-Generation Compute Engine (NCU) della GPU Vega e la sua funzionalità Rapid Packed Math.

Le NCU di Vega hanno la nuova capacità di inserire due operazioni a 16 bit in un registro a 32 bit, permettendo ai 64 shader di compiere fino a 256 operazioni a 16 bit per clock - o anche 512 operazioni a 8 bit per clock. Tutto questo si riflette sulle prestazioni ogni volta che si possono usare le operazioni FP16 al posto di quelle FP32. Uno dei più recenti giochi AAA, Far Cry 5, supporta questa funzionalità.

Di contro le Compute Unit di Polaris non supportano Rapid Packed Math. Di conseguenza le operazioni FP16 sono gestite con una velocità simile a quelle a 32 bit. Un semplice test dovrebbe dirci se la GPU Kaby Lake-G contiene NUC Vega o le vecchie CU di Polaris. Abbiamo usato il test GPGPU Processing di SiSoftware Sandra per testare le prestazioni FP16, che deve funzionare in modalità Direct3D 11 per usare correttamente le operazioni FP16.

test

Abbiamo iniziato i nostri test con una Radeon RX 470 (Polaris) per ottenere conferma che le sue velocità FP32 e FP16 fossero simili. E in effetti è così. Abbiamo anche provato Radeon RX Vega 64 e 56, che hanno mostrato un miglioramento rispettivamente di 64,2% e 65,8% con FP16. Poi siamo passati a Ryzen 5 2400G e alla sua GPU integrata Vega 11. Quella GPU ci ha restituito un incremento del 61,8%. In base a questi test, sembra che il test e l'API sfruttino Rapid Packed Math.

La cosa più interessante è che il Core i7-8809G e la sua GPU Vega M GH hanno risposto in modo più simile alla RX 470 basata su Polaris. Questo cosa ci dice? Almeno per ora sembra che Rapid Packed Math non sia abilitato sulla GPU Radeon di Kaby Lake-G. Dato che Intel lascia la GPU integrata HD Graphics 630 del processore attiva, abbiamo testato anche quel chip. Un risultato di 585,22 MPix/s con operazioni FP32 e 868,21 MPix/s con calcoli FP16 dimostra che la stessa Intel supporta mix di dati.

Semi-Custom significa Semi-Custom

Il business semi-custom di AMD ha il compito di fornire ad altre aziende soluzioni su misura basate su blocchi delle sue proprietà intellettuali, che sono componenti modulari che possono essere usati nella progettazione di un chip. Le GPU della stessa AMD usano questi blocchi, tra cui troviamo controller di memoria, gestori degli interrupt, controller system management e blocchi per la codifica e decodifica video accelerata in hardware. Questi sottosistemi passano attraverso distinte fasi di sviluppo, ma non è raro che una singola revisione di un componente o un altro sia usata per alcune architetture grafiche diverse.

Molti chip semi-custom sono un amalgama di differenti funzionalità che rendono meno chiara la linea di demarcazione tra le architetture. Per esempio Kaby Lake-G si avvale di memoria HBM2, che ritroviamo unicamente sulle schede Radeon RX Vega. Qualcuno ha ipotizzato che Polaris potrebbe supportare una simile funzionalità riprogettando il suo controller di memoria. Xbox One e PS4 Pro (che usano entrambe chip custom di AMD) incorporano similmente una miscela unica di risorse per raggiungere gli obiettivi prestazionali previsti.

core vega

Quindi Intel potrebbe aver selezionato una combinazione di logica per Kaby Lake-G che non combacia esattamente con le schede video dedicate di AMD. O, come alcuni teorizzano, potrebbe aver progettato Kaby Lake-G prima che tutte le funzionalità di Vega fossero pronte. A ogni modo il nostro test non stabilisce in modo inequivocabile se Kaby Lake-G usi o no una GPU Vega. I nostri risultati non ci dicono, inoltre, se il core grafico sui chip Intel dotati di grafica AMD sia in grado di gestire Rapid Packed Math. Tutto quello che sappiamo è che non sembra funzionare al momento.

Tiriamo le somme

Abbiamo chiesto a Intel un commento, ma l'azienda ci ha restituito la stessa dichiarazione fatta a PC World.

"Questa è una soluzione grafica Radeon custom realizzata per Intel. È simile alla soluzione desktop Radeon RX Vega con un cache controller HBM e compute unit migliorate con ROPs aggiuntive"

Intel punta su controller HBM e ROPs aggiuntive come prova che Kaby Lake-G integra una GPU Radeon di classe Vega, citando inoltre "compute unit migliorate", richiamando così le NCU. Data la quantità di personalizzazione di questo progetto, è possibile che la grafica Radeon di Kaby Lake-G sia un ibrido con abbastanza funzionalità Vega per giustificare l'uso del marchio Vega.

È importante ricordare che Intel e AMD hanno approvato il marchio. Entrambe sono aziende quotate che non amano finire nelle aule di tribunale. Immaginiamo dunque che il nome dei prodotti abbia passato uno scrutinio attento. Secondi questi test preliminari, la GPU Radeon di Intel Kaby Lake-G non offre attualmente Rapid Packed Math. Questo non cambia nulla per le prestazioni che abbiamo osservato nel nostro test del nuovo NUC. Il supporto a quella funzionalità è di fatti limitato e l'abbiamo usata semplicemente per stabilire se fosse attiva in questo chip.

In ogni caso, al momento sembrano esserci diverse prove che pendono più in favore di Polaris che Vega. Sarebbe importante che AMD e Intel facessero maggiore chiarezza, anche se agli appassionati non cambia nulla in termini prestazionali, e questo è tutto ciò che conta.