Under det senaste årtiondet har maskininlärning-baserad sammanställning gått från en obskyr forskningsnisch till en mainstream-aktivitet. I denna uppsats beskriver vi relationen mellan maskininlärning och kompilatoroptimering och introducerar huvudkoncepten funktioner, modeller, utbildning och installation. Vi tillhandahåller sedan en omfattande kartläggning och en färdplan för det stora utbudet av olika forskningsområden. Vi avslutar med en diskussion om öppna frågor inom området och potentiella forskningsinriktningar. Detta dokument ger både en tillgänglig introduktion till det snabbrörliga området för maskinlearning-baserad sammanställning och en detaljerad bibliografi över de viktigaste landvinningarna. Faktum är, som vi kommer att se i denna artikel, att kompilatorer och maskininlärning är en naturlig passform och har utvecklats till en etablerad forskningsdomän. KEYWORDS Compilers har två jobb-översättning och optimering. Först måste de översätta program till binära korrekt. För det andra måste de hitta den mest effektiva översättningen möjligt. Det finns många olika korrekta översättningar vars prestanda varierar avsevärt. De allra flesta forsknings- och ingenjörspraktiker är fokuserade på detta andra mål för prestanda, traditionellt felnämnt optimering. Målet var felnämnt eftersom det i de flesta fall, tills nyligen, att hitta en optimal översättning avfärdades som alltför svårt att hitta och en orealistisk strävan. 1 Istället fokuserade den på att utveckla kompilator heuristics för att omvandla koden i hopp om att förbättra prestanda men kan i vissa fall skada den. Maskininlärning förutsäger ett resultat för en ny datapunkt baserat på tidigare data. I sin enklaste skepnad kan den betraktas som en form av interpolation. Denna förmåga att förutsäga baserat på tidigare information kan användas för att hitta datapunkten med bästa resultat och är nära knuten till området för optimering. Det är på denna överlappning av att titta på kodförbättring som ett optimeringsproblem och maskininlärning som en prediktor av optima där vi hittar maskininlärning sammanställning. Optimering som ett område, maskininlärning baserad eller på annat sätt, har studerats sedan 1800-talet [8], [9]. En intressant fråga är därför varför konvergensen mellan dessa två områden har tagit så lång tid? Det finns två grundläggande skäl. För det första, trots den årliga ökande potentiella prestanda av hårdvara, programvara är allt svårare att inse det leder till en mjukvarugap. Detta gap har gäspat rätt öppna i och med tillkomsten av multicores (se även avsnitt VI-B). Kompilatorskribenter letar efter nya sätt att överbrygga denna klyfta.  Denna uppsats diskuterar maskininlärning-baserade sammanställningstekniker, som har blivit mainstream. Genom Zheng Wang en n d Michael O'BOyle 1 I själva verket myntades termen superoptimizer [7] för att beskriva system som försökte hitta den optimala.
Maskininlärning baserad prediktiv modellering har använts för ett brett utbud av optimeringsuppgifter REF.
Machine Learning in Compiler Optimization
{'venue': 'Proceedings of the IEEE', 'journal': 'Proceedings of the IEEE', 'mag_field_of_study': ['Computer Science']}