Linus Torvalds risolve un bug nel driver grafico Intel Xe con l’aiuto dell’intelligenza artificiale

È piuttosto raro vedere Linus Torvalds, creatore e maintainer (responsabile dello sviluppo) del kernel Linux, scrivere personalmente patch (correzione) per i driver grafici open source del sistema operativo. Tuttavia, la community è stata sorpresa nel scoprire che ha sviluppato e integrato una modifica al driver grafico Intel Xe direttamente nel codice del kernel Linux. La decisione è nata dopo aver affrontato una sessione di debug estremamente complessa, durante la quale l’intelligenza artificiale ha giocato un ruolo fondamentale nel risolvere un bug che lo tormentava da tempo.
La patch introdotta da Torvalds corregge un problema nel driver Xe, il driver open source sviluppato da Intel per supportare le sue schede grafiche moderne nei sistemi GNU/Linux, tra cui la Intel Battlemage G21, una GPU di nuova generazione basata sull’architettura Xe, progettata per offrire prestazioni avanzate sia in ambito grafico che di calcolo parallelo. Il problema era legato alla gestione dello spazio di archiviazione del Compute Command Streamer (CCS), un componente del driver grafico che si occupa di gestire i comandi di calcolo parallelo per le schede grafiche. Su questa scheda, si verificava un mismatch (differenza) tra la memoria utilizzabile e il limite effettivo, che provocava il riavvio continuo del GNOME Display Manager (GDM), il gestore di accesso grafico predefinito per le distribuzioni GNU/Linux che utilizzano l’ambiente desktop GNOME.
Ciò che rende ancora più interessante questa patch sono i commenti che Linus Torvalds ha aggiunto direttamente nel commit, ovverosia la registrazione ufficiale delle modifiche nel sistema di controllo versione Git. Ecco le sue parole:
Ciò che rende ancora più interessante questa patch sono i commenti presenti nel commit (la registrazione ufficiale delle modifiche in Git). Linus Torvalds ha infatti affidato all’IA la stesura della descrizione tecnica del problema, riservandosi solo lo spazio finale per un commento personale in cui racconta l’incredibile sessione di debugging. Ecco le sue parole finali:
And this was a debug session from hell, enormously helped by an AI doing much of the grunt-work. I’d like to call it my tireless helper, but the AI several times stated flat out that this was impossible and unsolvable and that we should just write a report about it. I suspect those things have been trained by people who may not be quite as stubborn as I am. But while the AI was ready to give up several times, it did keep adding debug code and analyzing it faithfully when I pushed. So credit where credit is due and I let the AI write the commit message above. This is basically a one-liner fixing a bogus “round_up()” to a “round_down()”, but there were 24 patches adding more and more debug information to this, and 18 kernel boot to finally narrow it down to this.
Questa è stata una sessione di debug estremamente complessa, ma un’AI mi ha aiutato enormemente, svolgendo gran parte del lavoro di analisi preliminare. Avrei voluto definirla la mia assistente instancabile, ma l’AI più volte ha affermato che il problema era irrisolvibile e che avremmo dovuto limitarci a redigere una segnalazione. Sospetto che questi sistemi siano stati addestrati da persone forse meno testarde di me. Tuttavia, mentre l’AI era pronta a gettare la spugna più volte, ha continuato ad aggiungere codice di debug e ad analizzarlo fedelmente ogni volta che io insistevo. Quindi, merito dove è dovuto: ho lasciato che l’AI scrivesse il messaggio del commit sopra. In sostanza, si tratta di una correzione di una riga: la sostituzione di un round_up() errato con un round_down(). Tuttavia, per arrivare a questa soluzione, sono state necessarie 24 patch che aggiungevano progressivamente informazioni di debug e 18 riavvii del kernel Linux per isolare il problema.
Linus Torvalds considera l’intelligenza artificiale uno strumento utile e, in questo caso, ha confermato che gli è stata di “aiuto enorme” nel individuare il bug nel driver grafico Intel Xe.
La correzione è stata integrata nel kernel Linux 7.3, una versione in sviluppo che includerà questa e altre correzioni prima del rilascio ufficiale, e sarà anche inserita nelle versioni stabili precedenti del kernel Linux, per garantire che anche gli utenti che utilizzano distribuzioni GNU/Linux basate su versioni precedenti possano beneficiare di questa soluzione.
Questo episodio dimostra come l’intelligenza artificiale sia ormai diventata un alleato indispensabile anche per i programmatori più esperti, tanto che persino Linus Torvalds ne ha riconosciuto il valore nel risolvere problemi complessi di programmazione.
Fonte: https://github.com/torvalds/linux/commit/818bebeb63dd6bf5f4e07e145f6cdbace520a34c
Fonte: https://www.phoronix.com/news/Linus-Torvalds-Debug-AI
Se vuoi sostenermi, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che ho nel mio sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul mio negozio online, quelle mancanti possono essere comunque richieste.
Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
























