Интерактивный интерфейс компиляции - Interactive Compilation Interface

В Интерактивный интерфейс компиляции (ICI) - это система плагинов с независимым от компилятора высокоуровневым и зависимым от компилятора API низкого уровня для преобразования существующих компиляторов черного ящика в совместные модульные интерактивные наборы инструментов. Он был разработан Григорий Фурсин в течение МИЛЕПОСТ проект.[1][2] Инфраструктура ICI действует как промежуточный интерфейс между компилятором и настраиваемыми пользователем плагинами. Он открывает и повторно использует инфраструктуру компилятора производственного качества, чтобы обеспечить анализ программ и инструментарий, детальную оптимизацию программ, простое прототипирование новых разработок и исследовательских идей, избегая создания новых инструментов компиляции с нуля. Например, он используется в МИЛЕПОСТ GCC для автоматизации проектирования компилятора и архитектуры и оптимизации программ на основе статистического анализа и машинного обучения, а также для прогнозирования прибыльной оптимизации для сокращения времени выполнения программы, размера кода и времени компиляции.

События

ICI теперь доступен в основной сети GCC с версии 4.5[3]

Загрузки

  • ICI 2.0 - выпущен для GCC в мае 2009 г.
  • ICI 1.0 - выпущен для GCC в 2008 году.
  • Бета ICI - разработан для GCC в 2006–2008 гг.
  • Бета ICI - разработан для компиляторов Open64 / PathScale в 2004–2006 гг.

Рекомендации

  1. ^ Григорий Фурсин. Коллективная инициатива настройки: автоматизация и ускорение разработки и оптимизации вычислительных систем. Труды саммита GCC'09, Монреаль, Канада, июнь 2009 г.связь )
  2. ^ Григорий Фурсин, Юрий Кашников, Абдул Вахид Мемон, Збигнев Чамски, Оливье Темам, Мирча Намолару, Элад Йом-Тов, Билха Мендельсон, Аял Закс, Эрик Куртуа, Франсуа Боден, Фил Барнард, Элтон Эштон, Эдвин Бонилья, Джон , Майкл О'Бойл. Milepost gcc: самонастраивающийся компилятор с поддержкой машинного обучения Международный журнал параллельного программирования, Том 39, Выпуск 3, стр. 296-327, июнь 2011 г. (связь )
  3. ^ «Плагины GCC». Получено 2017-05-30.