Kernel Linux accelerato dalla GPU, solo se è Nvidia

Nvidia supporta il progetto dell'Università dello Utah di accelerare il kernel Linux con la GPU. Il tutto avviene grazie a CUDA e potrebbe consentire al cuore del sistema operativo open source di avvantaggiarsi di nuove capacità sinora proibite.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

L'Università dello Utah, grazie al contributo di Nvidia, sta studiando come usare la GPU per accelerare il kernel Linux. Non solo applicazioni, ma anche intere parti del kernel potrebbero essere gestite da una scheda video, forte dei suoi teraflop di potenza. 

"Il progetto KGPU nasce dall'idea è di trattare la GPU come un coprocessore di calcolo per il sistema operativo, permettendo la gestione in parallelo dei dati all'interno del kernel Linux. Questo permette di usare codice in stile SIMD (o SIMT in CUDA) per accelerare il kernel Linux e integrare nuove funzioni considerate in precedenza troppo esigenti. In parole semplici, KGPU consente il vector computing per il kernel".

"[…] Il progetto rende il kernel Linux davvero parallelo: non solo processa simultaneamente diverse richieste, ma può anche partizionare una singola grande richiesta di calcolo e distribuirla sul gran numero di core di una GPU".

Al momento il progetto KGPU non mira al settore consumer, anche perché i driver grafici open source che fanno parte del sottosistema Linux kernel DRM (Direct Rendering Manager) non sono ancora dotati del supporto GPGPU. Inoltre c'è un secondo problema: questo lavoro è chiaramente pensato per una sola tipologia di GPU, quelle Nvidia che supportano CUDA, con driver proprietari.

"Una scelta migliore sarebbe stata quella di usare OpenCL, che lavora sia su GPU AMD che Nvidia, ed è uno standard aperto", scrive il sito specializzato Phoronix. Il fatto che il progetto sia finanziato da Nvidia spiega la scelta (o la non scelta) dell'Università dello Utah. Gli sviluppatori sono riusciti a creare un algoritmo AES accelerato dalla GPU per l'uso da parte del file system crittografati eCryptfs. I risultati sono promettenti. Maggiori dettagli sul progetto li trovate qui.

"Sarebbe interessante che il kernel Linux si avvantaggiasse delle capacità di elaborazione offerta dalle moderne GPU. Prima però i driver open-source devono essere migliorati per gestire OpenCL e/o altre soluzioni GPGPU", ha concluso Phoronix.

Rimanendo sempre in tema, sembra che l'accelerazione via GPU della versione Linux di Firefox sarà implementata correttamente solo con la sesta versione. La build attuale integra il supporto, ma è disattivato a causa di diversi problemi con i driver grafici.