Abstract Tuning kompilator optimeringar för snabbt växande hårdvara gör anpassning och utökar en optimerande kompilator för varje ny plattform extremt utmanande. Iterativ optimering är en populär metod för att anpassa program till en ny arkitektur automatiskt med feedback-riktad sammanställning. Det stora antal utvärderingar som krävs för varje program har dock förhindrat iterativ sammanställning från utbredd användning i produktionskompilatorer. Maskininlärning har föreslagits för att justera optimeringar över program systematiskt men är för närvarande begränsad till några omvandlingar, långa träningsfaser och kritiskt saknar offentligt släppt, stabila verktyg. Vår strategi är att utveckla en modulär, extensibel, självstuderande optimeringsinfrastruktur för att automatiskt lära sig de bästa optimeringarna över flera program och arkitekturer baserat på korrelationen mellan programfunktioner, run-time beteende och optimeringar. I denna uppsats beskriver vi Milepost GCC, den första allmänt tillgängliga Den anpassar automatiskt den interna optimering heuristic på funktionsnivå granularity för att förbättra exekveringstid, kodstorlek och sammanställningstid för ett nytt program på en viss arkitektur. En del av MILEPOST-tekniken tillsammans med lågnivå ICI-inspirerade plugin-ramverk ingår nu i huvudlinjen GCC. Vi utvecklade maskininlärning plugins baserade på probabilistiska och transduktiva metoder för att förutsäga bra kombinationer av optimeringar. Våra preliminära experimentella resultat visar att det är möjligt att automatiskt minska verkställighetstiden för enskilda MiBench program, vissa med mer än en faktor på 2, samtidigt förbättra sammanställningstiden och kodstorleken. I genomsnitt kan vi minska exekveringstiden för MiBench-riktmärkessviten med 11% för ARC omkonfigurerbar processorn. Vi presenterar också ett realistiskt multiobjektivt optimeringsscenario för Berkeley DB-biblioteket med hjälp av Milepost GCC och förbättrar exekveringstiden med cirka 17%, samtidigt som sammanställningstiden och kodstorleken minskar med 12% respektive 7% på Intel Xeon-processorn.
Detta beslut träder i kraft dagen efter det att det har offentliggjorts i Europeiska unionens officiella tidning. REF presenterar ett automatiserat ramverk som förutsäger de goda kombinationerna av optimeringar för att förbättra exekveringstiden.
Milepost GCC: Machine Learning Enabled Self-tuning Compiler
{'venue': 'International Journal of Parallel Programming', 'journal': 'International Journal of Parallel Programming', 'mag_field_of_study': ['Computer Science']}