tgoop.com/plcomp/96
Last Update:
Новости PLComp №1, часть 1
📚Статья Flan: An expressive and efficient datalog compiler for program analysis от Supun Abeysinghe, Xhebraj Anxhelo и Tiark Rompf (Purdue)
Реализация компилятора Datalog, который на тестах опережает по производительности известный компилятор Soufflé. Реализация основана на eDSL, что позволяет расширять Datalog с помощью механизмов хост-языка Scala. Для eDSL написан простой интерпретатор, код которого, с помощью Scala LMS (первая проекция Футамуры), транслируется в производительный код на C.
📚Заметки Compiling With Constraints (Mar 18, 2024) от Филипа Цукера (Philip Zucker)
Заметки по очень перспективному подходу к использованию программирования в ограничениях для декларативного описания фаз выбора команд, планирования и распределения регистров. Во многом основано на изучении проекта Unison. Минимум теории, максимум практики в виде примеров кода на Python и MiniZinc.
📚Видео доклада Архитектурно-зависимые оптимизации компилятора LCC для микропроцессоров архитектуры Эльбрус (2024 г.), автор М.И. Нейман-Заде
Доклад посвящён работе оптимизирующего компилятора lcc для процессоров Эльбрус с широким командным словом (VLIW). Компилятор lcc сам по себе структурно схож с традиционными компиляторами, однако особенности целевой платформы накладывают серьезные отпечатки на существующие низкоуровневые оптимизации. В докладе раскрываются аппаратные особенности работы процессоров Эльбрус, их отличия от "традиционных" процессоров, после чего описываются некоторые аппаратно-зависимые оптимизации, характерные для Эльбрусов.
Среди оптимизаций рассказывается про:
* Слияние кода (if-conversion).
* Конвейеризацию циклов (software pipelining с аппаратной поддержкой).
* Динамический разрыв зависимостей.
* Предварительную подкачку данных (улучшенный аналог prefetch).
📚Курс Declarative Program Analysis and Optimization (Spring 2024) от Макса Уилси (Max Willsey, UC Berkley) (если ссылка не работает, попробуйте отключить VPN)
Учебный курс с очень интригующим названием, поскольку декларативный подход к реализации фаз компилятора все еще остается уделом почти исключительно академистов. В курсе речь идет о переписывании термов, стратегическом переписывании, синтезе и верификации систем переписывания, использовании Datalog, о E-графах и насыщении равенствами. Словом, это ультрасовременный университетский курс по специальным вопросам компиляции.
📚Статья Fixing a Bug in PyPy's Incremental GC (2024-03-26)
Починка каждого бага, связанного с GC, это сама по себе уже интересная история,
потому что такие баги обычно нетривиальны. К тому же баг, про который рассказывает автор, приводит к memory corruption и это еще больше усложняет отладку. Поиск стабильного воспроизведения, пошаговая интерактивная отладка в gdb/rr,
написание скриптов для GDB API для упрощения отладки GC и т.д.
(продолжение следует)
#news
BY PLComp
Share with your friend now:
tgoop.com/plcomp/96