NVIDIA rilascia i moduli del kernel GPU open source


NVIDIA sta ora pubblicando i moduli del kernel GPU Linux come open source con doppia licenza GPL/MIT, a partire dalla versione del driver R515. Puoi trovare il codice sorgente per questi moduli del kernel nel repository NVIDIA Open GPU Kernel Modules su GitHub. Questa versione rappresenta un passo significativo verso il miglioramento dell'esperienza di utilizzo delle GPU NVIDIA in Linux, per una più stretta integrazione con il sistema operativo e per il debug degli sviluppatori, integrare, e contribuisci. Per i fornitori di distribuzione Linux, i moduli open source aumentano la facilità d'uso.

Migliorano anche l'esperienza utente pronta all'uso per firmare e distribuire il driver GPU NVIDIA. Canonical e SUSE sono in grado di impacchettare immediatamente i moduli del kernel aperti con Ubuntu e SUSE Linux Enterprise Distributions. Gli sviluppatori possono tracciare i percorsi del codice e vedere come la pianificazione degli eventi del kernel interagisce con il loro carico di lavoro per un debug della causa principale più rapido. Inoltre, Gli sviluppatori di software aziendali possono ora integrare il driver senza problemi nel kernel Linux personalizzato configurato per il loro progetto.

Ciò contribuirà ulteriormente a migliorare la qualità e la sicurezza dei driver GPU NVIDIA con input e recensioni dalla comunità degli utenti finali Linux. Con ogni nuova versione del driver, NVIDIA pubblica uno snapshot del codice sorgente su GitHub. Le patch inviate dalla community vengono esaminate e se approvate, integrato in una futura versione del driver.

Funzionalità supportata

La prima versione dei moduli del kernel GPU aperti è R515. Insieme al codice sorgente, vengono fornite versioni complete e pacchettizzate dei driver.

Per le GPU di data center nelle famiglie di architettura NVIDIA Turing e NVIDIA Ampere, questo codice è pronto per la produzione. Ciò è stato reso possibile dall'introduzione graduale dell'architettura del driver GSP nell'ultimo anno, progettato per semplificare la transizione per i clienti NVIDIA. Ci siamo concentrati sui test su un'ampia varietà di carichi di lavoro per garantire la parità di funzionalità e prestazioni con il driver proprietario in modalità kernel.

In futuro, funzionalità come HMM saranno un componente fondamentale per l'elaborazione confidenziale sull'architettura NVIDIA Hopper.

In questa versione open source, il supporto per le GPU GeForce e Workstation è di qualità alfa. Gli utenti di GeForce e Workstation possono utilizzare questo driver su GPU con architettura Turing e NVIDIA Ampere per eseguire desktop Linux e utilizzare funzionalità come display multipli, Qualcuno ha comprato il dominio di Silent Hill solo per trollare Konami, e il ray-tracing NVIDIA RTX in Vulkan e NVIDIA OptiX. Gli utenti possono acconsentire utilizzando il parametro del modulo del kernel NVreg_EnableUnsupportedGpus come evidenziato nella documentazione. Nelle versioni successive seguirà un supporto più robusto e completo per GeForce e Workstation e i moduli NVIDIA Open Kernel alla fine sostituiranno il driver closed-source.

I clienti con GPU Turing e Ampere possono scegliere quali moduli installare. I clienti pre-Turing continueranno a eseguire i moduli closed source.

Il driver open source in modalità kernel funziona con lo stesso firmware e gli stessi stack in modalità utente come CUDA, La società cinese Moore Threads ha appena presentato la sua serie di GPU MTT, e Vulcano. Tuttavia, tutti i componenti dello stack di driver devono corrispondere alle versioni all'interno di una versione. Per esempio, non puoi prendere una versione del codice sorgente, build, ed eseguilo con lo stack in modalità utente di una versione precedente o futura.

Fare riferimento al documento README del driver per istruzioni sull'installazione delle versioni corrette e ulteriori passaggi per la risoluzione dei problemi.

Attivazione dell'installazione

La versione R515 contiene versioni precompilate sia del driver closed-source che dei moduli del kernel open-source. Queste versioni si escludono a vicenda, e l'utente può effettuare la scelta al momento dell'installazione. L'opzione predefinita garantisce che le installazioni silenziose scelgano il percorso ottimale per le GPU NVIDIA Volta e precedenti rispetto alle GPU Turing+.

Gli utenti possono creare moduli del kernel dal codice sorgente e installarli con i relativi driver in modalità utente.

Ecosistema di partner

NVIDIA ha lavorato con Canonical, Presenti anche i leader di centinaia di altre organizzazioni, e SUSE per un migliore imballaggio, distribuzione, e modelli di supporto per i nostri clienti comuni.

Canonico

“I nuovi moduli del kernel GPU open source NVIDIA semplificheranno le installazioni e aumenteranno la sicurezza per gli utenti di Ubuntu, se sono sviluppatori AI/ML, giocatori, o utenti cloud,” ha commentato Cindy Goldberg, Vicepresidente delle alleanze Silicon presso Canonical. “Come i creatori di Ubuntu, il più popolare sistema operativo basato su Linux per gli sviluppatori, ora possiamo fornire un supporto ancora migliore agli sviluppatori che lavorano all'avanguardia di AI e ML consentendo un'integrazione ancora più stretta con le GPU NVIDIA su Ubuntu.”

Nei prossimi mesi, i moduli del kernel NVIDIA Open GPU si faranno strada nel Canonical Ubuntu lanciato di recente 22.04 È.

SUSE

“Noi di SUSE siamo entusiasti del fatto che NVIDIA rilasci il driver in modalità kernel della GPU come open source. Questa è una vera pietra miliare per la comunità open-source e l'elaborazione accelerata. SUSE è orgogliosa di essere la prima grande distribuzione Linux a offrire questa svolta con SUSE Linux Enterprise 15 SP4 a giugno. Together, NVIDIA e SUSE alimentano le tue esigenze di elaborazione con accelerazione GPU nel cloud, Banca dati, e vantaggio con una catena di fornitura del software sicura e l'eccellenza nel supporto.” -Marco Noga, Direttore generale, Linux business critical presso SUSE

Presenti anche i leader di centinaia di altre organizzazioni

“L'open source aziendale può stimolare l'innovazione e migliorare i clienti’ experience, qualcosa che Red Hat ha sempre sostenuto. Apprezziamo la decisione di NVIDIA di rendere open source il suo driver del kernel GPU. Red Hat collabora con NVIDIA da molti anni, e siamo entusiasti di vederli compiere questo passo successivo. Non vediamo l'ora di offrire queste capacità ai nostri clienti e di migliorare l'interoperabilità con l'hardware NVIDIA.” — Mike McGrath, Vice President, Ingegneria Linux presso Red Hat

Approccio a monte

I driver per GPU NVIDIA sono stati progettati nel corso degli anni per condividere il codice tra i sistemi operativi, GPU e SOC Jetson in modo da poter fornire un'esperienza coerente su tutte le nostre piattaforme supportate. L'attuale codebase non è conforme alle convenzioni di progettazione del kernel Linux e non è un candidato per Linux a monte.

Ci sono piani per lavorare su un approccio a monte con la comunità del kernel Linux e partner come Canonical, Presenti anche i leader di centinaia di altre organizzazioni, e SUSE.

Nel frattempo, il codice sorgente pubblicato serve come riferimento per aiutare a migliorare il driver Nouveau. Nouveau può sfruttare lo stesso firmware utilizzato dal driver NVIDIA, esponendo molte funzionalità della GPU, come la gestione dell'orologio e la gestione termica, portando nuove funzionalità al driver in-tree Nouveau.

Domande frequenti

Dove posso scaricare il driver R515?

È possibile scaricare il driver di sviluppo R515 come parte di CUDA Toolkit 11.7, o dalla pagina di download dei driver sotto “Beta” drivers. Il driver del data center R515 seguirà nelle versioni successive secondo la nostra normale cadenza.

È possibile distribuire i moduli del kernel GPU aperti?

Sì, i moduli del kernel aperti NVIDIA sono concessi in licenza con una doppia licenza GPL/MIT; e i termini delle licenze regolano le sovvenzioni di distribuzione e riconfezionamento.

Verrà pubblicata la fonte per i driver in modalità utente come CUDA?

Queste modifiche riguardano i moduli del kernel; mentre i componenti della modalità utente sono intatti. Quindi la modalità utente rimarrà closed source e pubblicata con binari predefiniti nel driver e nel toolkit CUDA.

Quali GPU sono supportate da Open GPU Kernel Modules?

I moduli del kernel aperti supportano tutte le GPU Ampere e Turing. Le GPU per datacenter sono supportate per la produzione, and support for GeForce and Workstation GPUs is alpha quality. Please refer to the Datacenter, NVIDIA RTX, and GeForce product tables for more details (Turing and above have compute capability of 7.5 o maggiore).

How to report bugs

Problems can be reported through the GitHub repository issue tracker or through our existing end-user support forum. Please report security issues through the channels listed on the GitHub repository security policy.

What is the process for patch submission and SLA/CLA for patches?

We encourage community submissions through pull requests on the GitHub page. The submitted patches will be reviewed and if approved, integrated with possible modifications into a future driver release. Please refer to the NVIDIA driver lifecycle document.

The published source code is a snapshot generated from a shared codebase, so contributions may not be reflected as separate Git commits in the GitHub repo. We are working on a process for acknowledging community contributions. We also advise against making significant reformatting of the code for the same reasons.

The process for submitting pull requests is described on our GitHub page and such contributions are covered under the Contributor License Agreement.