Con l'ultimo driver Game Ready, NVIDIA ha abilitato il supporto beta GPU Passthrough per le macchine virtuali Windows GPU GeForce. Prima del driver 465.89, solo le schede Quadro NVIDIA supportavano il passthrough GPU. Per gli utenti Linux, questa tecnologia consentirà di riprodurre giochi solo per Windows nella tua VM; oppure, se sei uno sviluppatore, puoi testare più facilmente sia il codice Windows che quello Linux da un unico computer, accelerando lo sviluppo.
Con l'ultimo driver Game Ready, NVIDIA ha abilitato il supporto beta GPU Passthrough per le macchine virtuali Windows GPU GeForce. Prima del driver 465.89, solo le schede Quadro NVIDIA supportavano il passthrough GPU. Per gli utenti Linux, questa tecnologia consentirà di riprodurre giochi solo per Windows nella tua VM; oppure, se sei uno sviluppatore, puoi testare più facilmente sia il codice Windows che quello Linux da un unico computer, accelerando lo sviluppo.
Il passthrough GPU è stato utilizzato per molto tempo ed esistevano modi per abilitarlo sulle schede grafiche GeForce; tuttavia, non è mai stato ufficialmente supportato. Tecnicamente parlando, la tecnologia è sempre stata disponibile nel chip di silicio di GeForce, ma non era abilitata nei driver, causando il popolare "errore 43" sulle macchine virtuali Windows. Da molto tempo è possibile utilizzare un hack software per abilitare il passthrough GPU sulle schede GeForce consumer e sulle funzionalità vGPU. Maggiori informazioni su vGPU in questo articolo.
Driver NVIDIA Game Ready 465.89
Il 30 marzo di quest'anno, NVIDIA ha rilasciato un nuovo driver Game Ready, 465.89. Questo driver supporta i videogiochi nuovi di zecca e offre una soluzione ai problemi aperti presentati in molti altri giochi e app. Tuttavia, qualcosa di particolarmente interessante in questa nuova versione si trova nella sezione Gaming Technology. Qui sono state annunciate tre funzionalità di importazione: Resizable BAR della serie GeForce RTX 30, supporto per OpenCL 3.0 e supporto beta per la virtualizzazione su GPU GeForce.
BAR ridimensionabile
La BAR ridimensionabile consente alla CPU di accedere a tutta la memoria di un dispositivo PCIe contemporaneamente, anziché la precedente limitazione di 256 MB per ciclo. Smart Access Memory, SAM (termine AMD per la tecnologia) è stato annunciato lo scorso anno dall'azienda ed è già stato implementato.
OpenCL 3.0
Aggiunto il supporto per OpenCL 3.0, l'ultima versione principale di OpenCL che mantiene la compatibilità con le versioni precedenti OpenCL 1.2. NVIDIA OpenCL 3.0 continua a supportare le funzionalità OpenCL 1.2 esistenti e Khronos e le estensioni dei fornitori già supportate con i driver NVIDIA OpenCL 1.2.
Supporto beta per la virtualizzazione su GPU GeForce.
Inoltre, a partire da questo driver, NVIDIA ha abilitato il passthrough GPU (non vGPU, ovvero SR-IOV per la condivisione GPU) su tutte le schede grafiche GeForce basate sull'architettura Kepler e più recenti per le macchine virtuali Windows. Questa è la tecnologia su cui ci concentreremo in questo articolo. Anche se Resizable BAR era una delle funzionalità più attese per la nuova generazione RTX e per i giocatori, la virtualizzazione sulle GPU GeForce era l'aggiunta più attesa per gli utenti "HomeLabers" e Linux.
Supporto beta della macchina virtuale Windows per GeForce
Se sei principalmente un utente Linux, ora puoi abilitare il passthrough GPU GeForce su una macchina virtuale (VM) Windows. Il passthrough GPU NVIDIA era riservato solo alle GPU Enterprise o di classe workstation. L'azienda non ha consentito ai clienti GeForce di utilizzare questa tecnologia in una macchina virtuale Windows in esecuzione sui loro computer di livello consumer. Tuttavia, molti clienti utilizzavano effettivamente le schede GeForce come GPU per workstation.
Sulle schede consumer, il silicio non è mai stato un problema con il passthrough della GPU; era il software (driver) a bloccare gli utenti. In precedenza, per utilizzare il passthrough GPU, gli utenti avrebbero dovuto spendere una notevole quantità di denaro per una scheda NVIDIA Tesla o Quadro. Il supporto beta passthrough GPU per GeForce è una vittoria significativa per coloro che desiderano eseguire giochi Windows da una macchina virtuale mantenendo il proprio host Linux (fisico) e utilizzano una scheda grafica GeForce.
L'obiettivo principale di questa tecnologia sono gli utenti Linux che desiderano eseguire multitasking con applicazioni che richiedono GPU. Esistono alcuni casi d'uso di GeForce in cui questa funzionalità è vantaggiosa, ad esempio:
- Clienti GeForce che desiderano eseguire un host Linux ed essere in grado di avviare una macchina virtuale (VM) Windows per giocare
- Sviluppatori di giochi che desiderano testare il codice sia in Windows che in Linux su un unico computer
La virtualizzazione GeForce (beta) è supportata sui driver R465 o successivi. È abilitato su tutte le GPU GeForce/TITAN supportate da questo driver (Kepler e versioni successive per desktop; Maxwell e versioni successive per laptop) su Windows. Windows 10 è l'unico sistema operativo guest supportato per questa configurazione di virtualizzazione GeForce.
Con GeForce GPU Passthrough, non puoi sfruttare la stessa GPU utilizzata dal sistema operativo host per la virtualizzazione. È necessaria una GPU per il sistema operativo host Linux, mentre per la macchina virtuale Windows è necessaria una GPU. Inoltre, è importante ricordare che il passthrough GPU supporta solo una macchina virtuale. vGPU (SR-IOV) o un Passthrough GPU condiviso per più VM non sono supportati su GeForce. Supponiamo che tu voglia consentire a varie VM di avere accesso diretto a una singola GPU o desideri che la GPU assegni funzioni virtuali a più macchine virtuali. In tal caso, dovrai utilizzare una workstation o GPU aziendali.
Errore passthrough GPU: codice 43
Se mai avessi provato a eseguire una macchina virtuale Windows da una macchina Linux, prima del Game Ready Driver 465.89, i driver nel sistema operativo guest restituirebbero il popolare "Codice 43". Questo errore veniva visualizzato nel sistema operativo Windows (Guest) solo quando il driver GeForce rilevava che il sistema operativo era effettivamente in esecuzione su una VM. Il supporto per la virtualizzazione sulle GPU GeForce significa che non dovrai più nascondere la tua VM; i driver possono essere installati e questo codice di errore dovrebbe essere scomparso.
È anche perfettamente corretto menzionare che NVIDIA ha deliberatamente progettato questo codice di errore per le schede grafiche GeForce. Non si manifesta sulle GPU Tesla e Quadro, le schede di livello aziendale dell’azienda. Il motivo è che NVIDIA ha certamente bisogno di separare i consumatori dal segmento di livello aziendale. Alcune funzionalità aziendali non hanno molto senso per le schede video consumer (a prestazioni inferiori), ma abilitarne alcune comporterebbe una significativa perdita di vendite per le schede aziendali (costose) di NVIDIA.
Passthrough GPU rispetto a vGPU
Molti utenti sono ancora confusi riguardo al GPU Passthrough e alle capacità tecniche offerte da NVIDIA. È importante rivisitare cos'è la virtualizzazione su GPU GeForce e cosa non lo è. Il termine GPU Passthrough potrebbe sembrare abbastanza autoesplicativo per molti appassionati di GPU; tuttavia, di solito viene confuso con la GPU virtuale NVIDIA (vGPU).
Sia GPU Passthrough che vGPU sono tecnologie utilizzate da molto tempo per soluzioni di virtualizzazione aziendale come VMware ESXi e Citrix Xen Server. E per le GPU Tesla e Quadro. In VMware ESXi, il passthrough GPU è chiamato accelerazione grafica dedicata virtuale (vDGA) e vGPU è chiamato accelerazione grafica virtuale condivisa (vSGA). vGPU consente la condivisione di GPU di livello aziendale su più desktop virtuali.
VMware offre una terza opzione chiamata Virtual Shared Passthrough Graphics Acceleration. Questa tecnologia consente di condividere una GPU con più utenti invece di focalizzarla su un solo utente. La differenza rispetto a vGPU (vSGA in VMware) è che il driver VMware 3D proprietario non viene utilizzato e la maggior parte delle funzionalità della scheda grafica sono supportate. Ricorda che con GPU Passthrough sulle schede GeForce, non puoi consentire a più VM di avere accesso diretto a una singola GPU, né la GPU è in grado di assegnare funzioni virtuali a più macchine virtuali.
Virtual Desktop Infrastructure (VDI) è l'esempio e lo scenario migliore per l'utilizzo di queste tecnologie GPU. Le soluzioni VDI sfruttano la virtualizzazione creando rapidamente centinaia di cloni di VM in esecuzione su un singolo potente server o cluster. Nella maggior parte dei casi, la vGPU è la scelta migliore per gli utenti che richiedono il pieno potenziale della GPU per brevi periodi. Tuttavia, la vGPU può creare colli di bottiglia, a seconda delle applicazioni utilizzate e delle risorse di cui queste applicazioni necessitano dalla GPU. vGPU viene generalmente utilizzata per i lavoratori della conoscenza e, occasionalmente, per gli utenti esperti. Al giorno d'oggi, progettare soluzioni VDI senza riconoscere la vGPU è considerato un atto negligente.
Nvidia vGPU hackerata per schede GeForce
Anche con il Passthrough GPU abilitato negli ultimi driver NVIDIA, gli utenti GeForce non hanno ancora (ufficialmente) la possibilità di condividere GPU su più desktop virtuali. Per vGPU, dovrai utilizzare GPU aziendali NVIDIA Tesla, Quadro o RTX. Quindi, non puoi ingannare NVIDIA su questo, o puoi?
Un paio di mesi fa è stato rivelato lo sblocco della funzionalità vGPU per le GPU di livello consumer. Questo strumento consente l'utilizzo di GPU GeForce e Quadro con il software NVIDIA vGPU. NVIDIA vGPU normalmente supporta solo poche GPU Tesla, ma poiché alcune GPU GeForce e Quadro condividono lo stesso chip fisico della Tesla, questa è solo una limitazione software per quelle GPU. Questo strumento mira a rimuovere questa limitazione.
Lo strumento e le istruzioni sono disponibili all'indirizzo https://github.com/DualCoder/vgpu_unlock.
Considerazioni finali
NVIDIA ha finalmente deciso di rimuovere il blocco che avevano arbitrariamente sulle schede GeForce. Prima del rilascio del driver 465.89 da parte di NVIDIA, quando il sistema operativo guest rilevava una macchina virtuale, il driver veniva disabilitato in Windows e Linux. Con la virtualizzazione abilitata, i clienti GeForce su un PC host Linux possono ora abilitare il passthrough GPU GeForce su un sistema operativo guest Windows virtuale.
Tecnicamente parlando, il supporto alla virtualizzazione su GPU GeForce non è una versione beta; ma più come se NVIDIA semplicemente spuntasse una casella per sbloccare una funzione che esiste da molto tempo. Tuttavia, GPU Passthrough è ancora limitato a una singola istanza GPU, il che significa che solo una macchina virtuale avrà accesso esclusivo alla scheda grafica.
Per quanto riguarda vGPU, sfortunatamente, a meno che non si diventi completamente Enterprise, NVIDIA non supporta ancora la condivisione di una GPU con più macchine virtuali, allo stesso modo di un produttore di CPU. Se l'utente necessita di più macchine virtuali per accedere alla stessa GPU, saranno necessarie schede grafiche Tesla o Quadro. Ma questo potrebbe essere soggetto a modifiche come passthrough GPU. Attualmente è disponibile un hack software per provare le funzionalità vGPU, ma ovviamente il suo supporto non è ufficiale.
Interagisci con StorageReview
Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS feed