tgoop.com/plcomp/97
Last Update:
Новости PLComp №1, часть 2
📚Статья Troubleshooting an Intermittent Failure in CI Tests on ARM64 (October 4, 2023)
Тесты для Kong Gateway время от времени падали с синтаксической ошибкой, причем происходило это только на ARM64 и только с включенным компилятором в OpenResty (использует LuaJIT). В ходе исследования бага авторы выяснили причину — некорректная кодогенерация для ARM64, и предложили исправление в основной репозиторий LuaJIT.
Можно отметить, что в обеих статьях использовали отладчик rr. rr позволяет записывать выполнение программы и потом детерминировано его воспроизводить, а также выполнять инструкции в обратном порядке.
📚Видео доклада How Badly Do We Want Correct Compilers? (NDC TechTown 2023)
Доклад известного исследователя Джона Регира (John Regehr). Докладчик, насколько можно заметить, ни разу не произносит слово "CompCert" и сомневается в успешности проектов формально верифицированных компиляторов для популярных ЯП, что, конечно, интригует. Рассматриваются инструменты, в разработке которых принял участие автор доклада: YARPGen, Souper и другие проекты.
📚Заметки Compiling ML models to C for fun (September 19, 2023) и Vectorizing ML models for fun (February 18, 2024), автор Макс Бернштейн (Max Bernstein)
Учебное пособие в двух частях для самых маленьких по разработке DL-компиляторов с примерами на Python. Автор начинает с реализации более производительного варианта библиотеки micrograd и создает компилятор, выдающий представление на C. Во второй части делается переход от скаляров к векторам и осуществляется автовекторизация с помощью выявления скалярных произведений в коде.
📚Видео доклада A Full Employment Theorem for PL Researchers: Domain-Specific Languages от Нейта Фостера (Nate Foster, Cornell) (23 Oct 2023)
Доклад призван воодушевить исследователей в области языков программирования на работу с современными DSL, в первую очередь с теми, которые используются для программирования специализированного "железа". Рассматривается Тьюринг-неполный язык P4 для разбора сетевых пакетов и ставится задача установления эквивалентности двух двоичных парсеров. Для решения задачи используется подход с использованием конечных автоматов, бисимуляции, SMT-решателя и Coq.
📚Видео доклада ægraphs: Acyclic E-graphs for Efficient Optimization in a Production Compiler, автор Chris Fallin (8 июля 2023 г.)
Перенацеливаемый генератор кода Cranelift является, судя по всему, первым промышленным проектом, где широко используются E-графы для решения задачи выбора порядка фаз при компиляции. В Cranelift, как показано в докладе, используется оригинальный упрощенный вариант E-графов -- ациклические E-графы (aegraphs). В предложенную схему на основе aegraphs включены и такие "тяжеловесные" оптимизации, как GVN и LICM.
Над выпуском работали: Пётр Советов, Сергей Бронников, Алексей Маркин
#news
BY PLComp
Share with your friend now:
tgoop.com/plcomp/97