stringtranslate.com

Interfaz de compilación interactiva

La Interfaz de Compilación Interactiva ( ICI ) es un sistema de complementos con una API de alto nivel independiente del compilador y una API de bajo nivel dependiente del compilador para transformar los compiladores de producción en conjuntos de herramientas de investigación interactiva. Fue desarrollado por Grigori Fursin durante el proyecto MILEPOST . [2] [3] El marco ICI actúa como una interfaz de "middleware" entre el compilador y los complementos definibles por el usuario. Abre y reutiliza la infraestructura del compilador de calidad de producción para permitir el análisis y la instrumentación del programa, las optimizaciones de programas de grano fino, la creación de prototipos simples de nuevas ideas de desarrollo e investigación al tiempo que evita la creación de nuevas herramientas de compilación desde cero. Por ejemplo, se utiliza en MILEPOST GCC para automatizar el diseño de compiladores y arquitecturas y las optimizaciones de programas basadas en análisis estadístico y aprendizaje automático, y predecir la optimización rentable para mejorar el tiempo de ejecución del programa, el tamaño del código y el tiempo de compilación.

Desarrollos

ICI ahora está disponible en la línea principal de GCC desde la versión 4.5 [1]

ICI se amplió durante Google Summer of Code'2009 para permitir optimizaciones de programas de grano fino, incluidas transformaciones poliédricas, adaptación en tiempo de ejecución a nivel de función y optimización colectiva.

Referencias

  1. ^ ab "Complementos de GCC" . Consultado el 30 de mayo de 2017 .
  2. ^ Grigori Fursin. Iniciativa de ajuste colectivo: automatización y aceleración del desarrollo y la optimización de sistemas informáticos. Actas de la Cumbre del CCG de 2009, Montreal (Canadá), junio de 2009 (enlace)
  3. ^ Grigori Fursin, Yuriy Kashnikov, Abdul Wahid Memon, Zbigniew Chamski, Olivier Temam, Mircea Namolaru, Elad Yom-Tov, Bilha Mendelson, Ayal Zaks, Eric Courtois, Francois Bodin, Phil Barnard, Elton Ashton, Edwin Bonilla, John Thomson, Chris Williams, Michael O'Boyle. Milepost gcc: compilador autoajustable habilitado con aprendizaje automático International journal of parallel programming, Volumen 39, Número 3, págs. 296-327, junio de 2011 (enlace)