Att använda maskininlärning har visat sig vara effektivt när det gäller att välja rätt uppsättning optimeringar för ett visst program. För maskininlärning tekniker för att vara mest effektiva, kompilator författare måste utveckla uttrycksfulla medel för att karakterisera programmet som optimeras. De aktuella state-of-the-art tekniker för karakterisering program inkluderar att använda en fast längd funktion vektor av antingen källkod funktioner extraheras under kompilering tid eller prestanda räknare samlas in när du kör programmet. För problemet med att identifiera optimeringar att tillämpa, modeller som konstruerats med hjälp av prestanda counter karakteriseringar av ett program har visat sig överträffa modeller konstruerade med hjälp av källkod funktioner. Insamling av prestandaräknare kräver dock att programmet körs flera gånger, och denna "dynamiska" metod för att karakterisera program kan vara specifik för inmatningar av programmet. Det skulle vara att föredra att ha en metod för att karakterisera program som är lika uttrycksfulla som prestandaräknare funktioner, men det är "statisk" som källkod funktioner och därför inte kräver att köra programmet. I detta papper introducerar vi ett nytt sätt att karakterisera program med hjälp av en grafbaserad karakterisering, som använder programmets mellanliggande representation och en anpassad inlärningsalgoritm för att förutsäga bra optimeringssekvenser. För att utvärdera olika karakteriseringstekniker fokuserar vi på loopintensiva program och konstruerar förutsägelser modeller som driver polyhedral optimeringar, såsom auto-parallelism och olika loop transformation. Vi visar att vår grafbaserade karakteriseringsteknik överträffar tre aktuella toppmoderna karakteriseringstekniker som finns i litteraturen. Genom att använda de sekvenser som förutspås vara bäst med vår grafbaserade modell uppnådde vi upp till 73 % av den hastighet som uppnås i vårt sökområde för en viss plattform, medan vi bara kunde uppnå upp till 59 % med andra toppmoderna tekniker som vi utvärderade.
Park m.fl. REF föreslår en ny programkarakteriseringsteknik, dvs. grafbaserad karakterisering, att använda som ingång till en modell som förutsäger optimeringar för att gälla för ett program.
Using graph-based program characterization for predictive modeling
{'venue': "CGO '12", 'journal': None, 'mag_field_of_study': ['Computer Science']}