Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

Un ingeniero de ARM optimiza la compilación de Linux a partir de código «horrible» generado por IA

Un ingeniero de ARM optimiza la compilación de Linux a partir de código «horrible» generado por IA

La inteligencia artificial puede ayudar a mejorar Linux, aunque el código que genera deje bastante que desear. Es lo que cuenta Lorenzo Stoakes, ingeniero de ARM y veterano desarrollador del kernel, que ha presentado una serie de 23 parches para acelerar su compilación tras apoyarse en un modelo de lenguaje para localizar y resolver cuellos de botella.

Según recoge Phoronix, el problema está en distintas fases del proceso de compilación que se ejecutan en un solo hilo y que terminan frenando el conjunto, por lo que el trabajo realizado por Stoakes se centra en paralelizar esas tareas y mejorar la eficiencia del proceso, con resultados que, de acuerdo con las pruebas publicadas, pueden llegar a ser considerables.

En concreto, Stoakes señala una compilación alrededor de un 36 % más rápida con todos los módulos habilitados, hasta un 70 % más rápida en compilaciones incrementales y hasta aproximadamente un 90 % en las denominadas «noop», aquellas en las que no hay cambios que compilar, aunque conviene aclarar que ese último porcentaje no describe lo que se tarda en construir el kernel desde cero.

Por lo demás, los cambios afectan a diferentes piezas de la infraestructura de compilación de Linux, entre ellas Kbuild, kallsyms, modpost, objtool y mksysmap, además del sistema de compilación de Rust. La propuesta abarca, por tanto, varios puntos del proceso, y las pruebas recogidas en la noticia muestran mejoras con distintas configuraciones del kernel y equipos.

Hasta aquí, lo que viene a ser una optimización técnica con cifras llamativas. Lo particular de este caso, sin embargo, es cómo se ha llegado a ese resultado y la franqueza con la que lo explica su autor: la IA generó mucho código, buena parte del cual califica de «horrible». Stoakes no especifica qué modelo utilizó, pero sí detalla que lo empleó primero para localizar los cuellos de botella y después para buscar cómo corregirlos.

La IA hizo más que «simplemente» escribir código, ya que también coordinó compilaciones, pruebas, depuración y análisis. Vamos, que le faltó ponerse el prompt a sí misma. Por su parte, el desarrollador asegura haber auditado extensamente y reescrito buena parte del resultado y haber revisado en profundidad los mensajes de los commits, la presentación de la propuesta y los comentarios del código.

Pero la intervención humana va un poco más allá y Stoakes afirma haber comprobado manualmente tanto la compilación como el funcionamiento de los kernels generados con estos cambios, así como haber verificado las mejoras de rendimiento. Además, para dejar constancia del uso de IA, todos los commits incluyen una etiqueta «Assisted-by».

¿Y ahora? La serie de parches se ha presentado para revisión, por lo que todavía habrá que ver qué termina incorporándose al kernel. De momento, el caso deja un ejemplo interesante del uso de estas herramientas en su desarrollo, con resultados prometedores y un trabajo de revisión y corrección humana que el propio autor se ha encargado de subrayar. Un capítulo más en la historia de la IA en Linux.

Click para comentar
Advertencia
Advertencia

Te recomendamos

Actualidad

La inteligencia artificial, o lo que llamamos inteligencia artificial actualmente —modelos grandes de lenguaje o IA generativa—, está hasta en la sopa y, por...

Actualidad

Linus Torvalds ha anunciado el lanzamiento de Linux 7.3, una nueva versión del kernel que, siguiendo la norma, llega repleta de novedades repartidas en...

Actualidad

Hace unos meses que Canonical dio a conocer sus planes para la integración de IA en Ubuntu, una iniciativa que comienza a tomar forma...

Actualidad

A finales del pasado mes de mayo, IBM y Red Hat presentaron Project Lightwell, una ambiciosa iniciativa dotada con 5.000 millones de dólares, con...