Оптимизация программ на целевой машине пользователя с учетом особенностей его аппаратуры и поведения.


Оптимизация программ на целевой машине пользователя с учетом особенностей его аппаратуры и поведения.

Начало проекта – 2011 год. Окончание проекта - 2013 год. Заказчик - РФФИ.

При построении системы компиляции для языков общего назначения, учитывающей специфические особенности целевой аппаратуры и наиболее вероятный сценарий использования, необходимо применять методы динамической и адаптивной оптимизации. Исследование таких методов удобно проводить в компиляторной инфраструктуре LLVM. Тем не менее, в настоящий момент LLVM не поддерживает динамический сбор профиля и перекомпиляцию, а также содержит лишь одно преобразование, использующее данные профиля. В рамках данной работы, для LLVM была предложена и реализована система сбора профиля аппаратных прерываний и алгоритм, корректирующий переоценку профиля, а также несколько оптимизирующих преобразований с учетом профиля. Выполнена интеграция сбора профиля и динамического компилятора LLVM, что позволило сохранять качество программ при их переносе на другую архитектуру.

Грант РФФИ 11-01-00954.

Исполнитель

Компиляторные технологии

Перейти к списку всех проектов