AMD ha oggi pubblicato una nuova patch per il driver grafico del kernel Linux “AMDGPU”, con cui introduce una nuova funzionalità destinata alle prossime GPU GFX11.0.3, che identificano la prossima generazione di Radeon.
Si tratta nello specifico di una funzionalità che interviene nei carichi di lavoro, rendendoli più soliti e impedendo che ci siano possibili perdite di dati ed errori di calcolo.
AMD aggiunge la funzionalità Cleaner Shader per le prossime Radeon
La nuova funzionalità Cleaner Shader di AMD è destinata alle future GPU integrate Radeon e aiuta a garantire che vi sia un sufficiente isolamento dei dati tra i diversi carichi di lavoro in esecuzione sul processore grafico. Nonostante la motivazione non sia chiara, come anticipato prima, la funzionalità sembra proprio essere pensata per rendere i carichi di lavoro più solidi e precisi.
La patch è stata pubblicata da un’ingegnere dell’azienda di Sunnyvale proprio ieri, riassumendo:
“Questo commit aggiunge il microcodice shader più pulito per le GPU GFX11.0.3. Il shader più pulito è un pezzo di codice GPU che viene utilizzato per cancellare o inizializzare determinate risorse GPU, come Local Data Share (LDS), Vector General Purpose Registers (VGPR) e Scalar General Purpose Registers (SGPR).
La cancellazione di queste risorse è importante per garantire l’isolamento dei dati tra diversi carichi di lavoro in esecuzione sulla GPU. Senza il shader più pulito, i dati residui di un carico di lavoro precedente potrebbero potenzialmente essere accessibili da un carico di lavoro successivo, causando perdite di dati e risultati di calcolo errati.
Il microcodice shader più pulito è rappresentato come un array di parole a 32 bit (`gfx_11_0_3_cleaner_shader_hex`). Questo array è la rappresentazione binaria del codice shader più pulito, che è scritto in un set di istruzioni GPU di basso livello.
Quando la funzionalità shader più pulito è abilitata, il driver AMDGPU carica questo array in una posizione specifica nella memoria GPU. La GPU legge quindi questa posizione di memoria per recuperare ed eseguire le istruzioni shader più pulito.
Lo shader più pulito viene eseguito automaticamente dalla GPU alla fine di ogni carico di lavoro, prima dell’inizio del carico di lavoro successivo. Ciò garantisce che tutte le risorse GPU siano in uno stato pulito prima dell’inizio di ogni carico di lavoro.
Questa aggiunta fa parte dell’implementazione della funzionalità shader più pulito. La funzionalità shader più pulito aiuta l’utilizzo delle risorse pulendo le risorse GPU dopo che sono state utilizzate. Inoltre, migliora la sicurezza e l’affidabilità impedendo perdite di dati tra carichi di lavoro.”
La patch di AMD è attualmente in fase di revisione per essere aggiunta al kernel. Non è la prima volta che l’azienda lavora per isolare i carichi di lavoro, dato che in passato un simile intervento è stato implementato per la cancellazione della vRAM.