Полный текст
4. Разработка нативного (языкового) компилятора В уходящем году основные усилия были сосредоточены на повышении качества внутреннего тестирования надёжности компилятора, введены новые способы тестирования. Это критически важно ввиду разрастания кодовой базы и поддержании надёжности на возрастающем количестве поколений архитектуры Эльбрус. Сборка самого компилятора теперь проводится в режиме Технологии безопасных вычислений («защищённый режим»). Также был проведён ряд важных, но внешне малозаметных изменений «под капотом», их плоды должны стать ощутимыми в 2024 году. В конце 2023 г. создана текущая передовая ветка LCC 1.28. CLang из LLVM-13 доведён до состояния высокого качества. За год только за счёт повышения качества компилятора достигнут средний прирост производительности 2…3% на разных пакетах тестов. Расширены возможности по тестированию приложений/поиску ошибок при помощи Технологии безопасных вычислений («защищённый режим»), программных санитайзеров (поддержан Address Sanitizer 11.0) Поддержаны kernel-headers от linux-6.1, binutils-2.41, glibc-2.38 Поддержано следующее поколение системы команд Эльбрус (v7) для раннего тестирования эмуляторов и прототипов разрабатываемых процессоров К библиотеке EML за год добавлено 900 функций (в сумме поддержано 3601 функция). Поддержаны LAPACK-3.11, CLAPACK/LAPACKE. Поддержан OpenMP 4.0, начали работу над OpenMP 4.5, обеспечена совместимость с gfortran-13.1Основные планы на 2024 год сфокусированы на следующих направлениях: - В конце года планируется к формированию ветка LCC 1.29.- введение технологий для широкого практического применения различных профилей при компиляции: траекторный профиль, семплинговый профиль, частичное доверие профилю, и т.п. - поддержка LTO в компиляторе LCC - поддержка LLVM-17 - поддержка нейросетевых библиотек, в том числе с JIT-компиляцией.