Data-Driven Dynamic Autotuning: Optimizing Autotuning Overhead with Prior Tuning Data - Oľha, Jaroslav (2024)
Moderné vysokovýkonné výpočty často využívajú na dosiahnutie maximálneho výkonu heterogénne hardwarové zdroje -- tento prístup predstavuje zjavné výhody, keďže kombinuje výpočetný výkon viacerých procesorov a umožňuje im väčšiu mieru špecializácie. Takéto výpočty však musia byť naprogramované s ohľadom na daný hardware, čo kladie väčšiu záťaž na programátorov, ktorí musia zabezpečiť, aby ich programy boli schopné naplno využiť širokú škálu procesorov. Tento problém je možné vyriešiť tzv. autotuningom zdrojového kódu - vopred je zadefinovaných viacero možných implementácií, a tá najvhodnejšia sa nájde až vo chvíli keď je známy dostupný hardware a ďalšie podmienky výpočtu. Problém efektívnych výpočtov sa tak mení na vyhľadávací problém. V niektorých prípadoch sa podmienky, ktoré určujú efektivitu implementácií, zistia až za behu, alebo sa počas vykonávania neustále menia a vyžadujú si prispôsobenie počas výpočtu. V takomto prípade môže byť nutné automaticky ladiť kód popri behu samotnej