30/05/2020, Peter Sovietov¶
Использование рекомендательных систем для автонастройки компилятора, с учетом собранной ранее информации. Результаты внушают оптимизм. A Collaborative Filtering Approach for the Automatic Tuning of Compiler Optimisations https://arxiv.org/pdf/2005.04092.pdf
#autotuning #optimization #compiler #machinelearning
20/05/2020¶
A Language for Describing Optimization Strategies Пример использования стратегического переписывания термов в духе Stratego. В статье демонстрируются оптимизирующие преобразования на Scala, для GPU и других ускорителей. https://arxiv.org/pdf/2002.02268.pdf
12/05/2020¶
Основные работы по методу насыщения равенствами (equality saturation)
Denali: A Goal-directed Superoptimizer (в работе описывается применение E-Graphs для задач оптимизации программ) https://courses.cs.washington.edu/courses/cse501/15sp/papers/joshi.pdf
Equality Saturation: A New Approach to Optimization (вместо E-Graphs используются PEG/E-PEG, поддерживающие управляющие конструкции) https://www.cs.cornell.edu/~ross/publications/eqsat/
“Доказательство свойств функциональных программ методом насыщения равенствами” (диссертация на русском языке) https://keldysh.ru/council/1/2017-grechanik/diss.pdf
11/05/2020¶
Работы по практическому применению передовых подходов E-Graphs (дедуктивный синтез программ) и Equality Saturation (решение для проблемы phase ordering).
Особенно интересно, что для серьезных примеров использования взяты области, далекие от традиционных целевых представлений компиляторов. Это показывает, что компиляторные технологии имеют более широкое применение, чем иногда принято думать.
Carpentry Compiler https://grail.cs.washington.edu/projects/carpentrycompiler/files/CarpentryCompiler.pdf
Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations https://jamesrwilcox.com/szalinski.pdf
Для работы с E-Graphs авторами разработана библиотека egg (есть веб-демо).
egg: Easy, Efficient, and Extensible E-graphs https://arxiv.org/pdf/2004.03082.pdf