Интерактивный интерфейс компиляции
Разработчик(и) | Григорий Фурсин |
---|---|
Первоначальный выпуск | 2007 г |
Стабильная версия | 2.0.1 (разработка прекращена после интеграции этого проекта с GNU_Compiler_Collection [1] )
/ 29 мая 2009 г. |
Написано в | С++ |
Операционная система | Linux , Mac OS X , Microsoft Windows , Android |
Тип | Оптимизирующий_компилятор , Интерфейсы , Плагин_(вычисления) , API |
Лицензия | GNU_General_Public_License |
Веб-сайт | исходная кузня |
Интерактивный интерфейс компиляции ( ICI ) — это система плагинов с независимым от компилятора и низкоуровневым API-интерфейсом для преобразования производственных компиляторов в интерактивные наборы исследовательских инструментов. Его разработал Григорий Фурсин в рамках проекта MILEPOST . [2] [3] Платформа ICI действует как интерфейс «промежуточного программного обеспечения» между компилятором и определяемыми пользователем плагинами. Он открывает и повторно использует инфраструктуру компилятора производственного качества, обеспечивая при этом анализ и инструментирование программ, детальную оптимизацию программ, простое прототипирование новых разработок и исследовательских идей, избегая при этом создания новых инструментов компиляции с нуля. Например, он используется в MILEPOST GCC для автоматизации проектирования компилятора и архитектуры, а также оптимизации программ на основе статистического анализа и машинного обучения, а также для прогнозирования прибыльной оптимизации для улучшения времени выполнения программы, размера кода и времени компиляции.
События
[ редактировать ]ICI теперь доступен в основной GCC, начиная с версии 4.5. [1]
ICI был расширен во время Google Summer of Code'2009, чтобы обеспечить возможность мелкозернистой оптимизации программ, включая многогранные преобразования, адаптацию во время выполнения на уровне функций и коллективную оптимизацию.
Ссылки
[ редактировать ]- ^ Jump up to: а б «Плагины GCC» . Проверено 30 мая 2017 г.
- ^ Григорий Фурсин. Коллективная инициатива по настройке: автоматизация и ускорение разработки и оптимизации вычислительных систем. Материалы саммита GCC'09, Монреаль, Канада, Июнь 2009 г. ( ссылка )
- ^ Григорий Фурсин, Юрий Кашников, Абдул Вахид Мемон, Збигнев Чамский, Оливье Темам, Мирча Намолару, Элад Йом-Тов, Билья Мендельсон, Аял Закс, Эрик Куртуа, Франсуа Боден, Фил Барнард, Элтон Эштон, Эдвин Бонилла, Джон Томсон, Крис Уильямс, Майкл О'Бойл. Milepost gcc: самонастраивающийся компилятор с поддержкой машинного обучения. Международный журнал параллельного программирования, том 39, выпуск 3, стр. 296–327, июнь 2011 г. ( ссылка )