Interaktivní kompilační rozhraní - Interactive Compilation Interface
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Srpna 2020) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
The Interaktivní kompilační rozhraní (ICI) je systém zásuvných modulů s rozhraním API na vysoké úrovni nezávislým na kompilátoru a na nízké úrovni na kompilátoru, které slouží k transformaci současných kompilátorů black-box na spolupracující modulární interaktivní sady nástrojů. Byl vyvinut společností Grigori Fursin v průběhu Projekt MILEPOST.[1][2] Rámec ICI funguje jako „middlewarové“ rozhraní mezi kompilátorem a uživatelem definovatelnými pluginy. Otevírá a znovu používá infrastrukturu kompilátoru v kvalitě výroby, která umožňuje analýzu a instrumentaci programu, optimalizaci programu s jemnou strukturou, jednoduché prototypování nových vývojových a výzkumných nápadů a zároveň se vyhýbá vytváření nových kompilačních nástrojů od začátku. Například se používá v MILEPOST GCC automatizovat návrh kompilátoru a architektury a optimalizaci programu na základě statistické analýzy a strojového učení a předpovědět ziskovou optimalizaci, aby se zlepšila doba provádění programu, velikost kódu a doba kompilace.
Vývoj
ICI je nyní k dispozici v hlavní řadě GCC od verze 4.5[3]
- Web pro společný vývoj
- Rozšíření Google Summer of Code'2009: umožnění optimalizace jemnozrnného programu včetně polyedrických transformací, přizpůsobení běhu na funkční úrovni a kolektivní optimalizace]
- Seznam rozvojových adresářů
Soubory ke stažení
- ICI 2.0 - vydáno pro GCC v květnu 2009.
- ICI 1.0 - vydáno pro GCC v roce 2008.
- ICI beta - vyvinut pro GCC v letech 2006–2008.
- ICI beta - vyvinut pro kompilátory Open64 / PathScale v letech 2004–2006.
Reference
- ^ Grigori Fursin. Kolektivní iniciativa pro ladění: automatizace a urychlení vývoje a optimalizace výpočetních systémů. Sborník ze summitu GCC'09, Montreal, Kanada, červen 2009 (odkaz )
- ^ 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: Samoladící kompilátor s povoleným strojovým učením Mezinárodní deník paralelního programování, svazek 39, číslo 3, str. 296-327, červen 2011 (odkaz )
- ^ „Pluginy GCC“. Citováno 2017-05-30.