Massachusetts Institute of Technologyn eli MIT:n tutkijat ovat kehittäneet työkalun, joka osaa tarkasti ennustaa, miten nopeasti tietty sovelluskoodi toimii tietyllä laitearkkitehtuurilla tai piirillä.
Tyypillisesti koodaajat käyttävät kääntimiä, jotka muuntavat ohjelmistokoodin konekieliseksi. Ne hyödyntävät suorituskykymalleja, jotka simuloivat haluttuja piiriarkkitehtuureita. Tuloksia voidaan käyttää koodin optimointiin.
Näitä malleja koodaa kuitenkin vain pieni erikoisasiantuntijoiden joukko. Tämän takia simuloidut suorituskykytulokset usein eroavat lopullisista, reaalimaailman tuloksista.
MIT:n tutkijat ovat hyödyntäneet koneoppimista kehittäessään työkalua, joka automatisoi tämän prosessin. Kääntimistä saadaan nopeampia, tehokkaampia ja helpompia käyttää ja koodista suorituskykyisempää. Jo viime vuonna tutkijat esittelivät ensimmäiset tuloksensa, joiden mukaan neuroverkkojen avulla opetetut mallit ennustivat automaattisesti, miten tehokkaasti tietty piiri suorittaa ohjelmakoodia, jota se ei ole aiemmin ”nähnyt”. Mallia kutsuttiin nimellä lthemal.
Marraskuussa sama MIT:n tiimi esitteli kokonaisen kirjaston malleja, joilla erilaisten koodien suorituskykyä voidaan arvioida eri laitealustoilla. Kaikkiaan avoimeen mallien tietokantaan saatiin yli 300 tuhatta profiloitua lohkoa. Tietokannan nimeksi annettiin BHive.
Käytännössä MIT:n tutkijat osoittivat, että lthemal-mallit ennustivat koodin toiminnan Intelin prosessoreilla paremmin kuin Intelin omat mallit. Mikäli malli oppisi optimoimaan koodia automaattisesti, tällä voisi olla valtavat vaikutukset sekä ohjelmakoodin tuottamiseen että laitteiden suorituskykyyn ja energiatehokkuuteen.