Инженерът по Линукс за ARM, Лоренцо Стоукс, използва изкуствен интелект, за да идентифицира и отстрани тесните места в процеса на компилиране на ядрото на Линукс, което доведе до значителни подобрения в скоростта. Въпреки че изкуственият интелект генерира значително количество дефектен код, той се оказа ефективен при идентифицирането на области за оптимизация.
Стоукс публикува набор от 23 пача, предназначени да „значително ускорят компилирането на ядрото“, като се справят с еднонишковите тесни места. Тестването показа 36% по-бързо време за компилиране на ядра с всички активирани модули, до 70% по-бързо инкрементално компилиране и приблизително 90% по-бързо компилиране тип “[noop]”.
Процесът включва използването на голям езиков модел (LLM) без посочено име, за да се идентифицират тесните места и да се предложат решения. Според Стоукс, LLM „генерира много код, голяма част от който беше ужасен“, което изискваше обширен одит, пренаписване и редактиране на съобщенията за коммит и коментарите. Той също така отбеляза, че LLM помага при изпълнението на компилации, тестване, отстраняване на грешки и анализ, като Стоукс ръчно проверяваше коректността както на компилацията, така и на работещите ядра.
По-конкретно, подобренията засягат области като Kbuild, kallsyms, modpost, objtool, mksysmap и системата за компилиране на Rust. Пачовете имат за цел да паралелизират еднонишковите задачи и да подобрят цялостната ефективност на процеса на компилиране. Стоукс се надява, че работата ще бъде включена в основното ядро на Линукс, което ще доведе до по-бързо време за компилиране на различни хардуерни и конфигурации на ядрото. Подробни резултати от тестовете са достъпни с поредицата от пачове.
Прочетете оригиналното отразяване
💬 Коментари
📜 Правила за коментари