Empiriska programoptimatorer uppskattar värdena för viktiga optimeringsparametrar genom att generera olika programversioner och köra dem på den faktiska hårdvaran för att bestämma vilka värden som ger bästa prestanda. Däremot använder konventionella kompilatorer modeller av program och maskiner för att välja dessa parametrar. Det anses allmänt att modelldriven optimering inte konkurrerar med empirisk optimering, men få kvantitativa jämförelser har hittills gjorts. För att göra en sådan jämförelse ersatte vi den empiriska optimeringsmotorn i ATLAS (ett system för att generera ett tätt numeriskt linjärt algebrabibliotek kallat BLAS) med en modelldriven optimeringsmotor som använde detaljerade modeller för att uppskatta värden för optimeringsparametrar, och sedan mätte de två systemens relativa prestanda på tre olika hårdvaruplattformar. Våra experiment visar att modelldriven optimering kan vara förvånansvärt effektiv, och kan generera kod vars prestanda är jämförbar med koden som genereras av empiriska optimatorer för BLAS.
Till exempel använder ATLAS REF numerisk algebra-biblioteket en empirisk optimeringsmotor för att bestämma värdena för optimeringsparametrar genom att generera olika programversioner som körs på olika maskinvaru-/OS-plattformar.
A comparison of empirical and model-driven optimization
{'venue': "PLDI '03", 'journal': None, 'mag_field_of_study': ['Computer Science']}