RINNAKKAISLASKENTA
Ilari Sani, 27.1.2010, 15:11Mozilla ideoi: JavaScriptiin vauhtia näytönohjaimesta
Selainvalmistaja Mozillan Labs-aivoriihessä pähkäillään JavaScriptin kiihdyttämistä näytönohjainten GPU-prosessorien avulla. Kiihdytetyllä JavaScriptillä voisi luoda esimerkiksi 3D-grafiikkaa tai kuvantunnistusta.
GPU:t on alun perin suunniteltu 3D-grafiikan piirtämiseen, mutta niitä on viime vuosina alettu soveltaa muunkinlaiseen laskemiseen. Erityisen hyviä ne ovat vektori- ja matriisilaskennassa.
Kiihdytystä ideoimassa on kehittäjä Alexander Miltsev, joka on jo rakentanut Firefoxille aiheesta kokeellisen toteutuksen. Miltsev voitti toteutuksellaan Mozillan ideakilpailun, jossa etsittiin luovia tapoja laajentaa Firefoxia.
Kiihdytyksen hyödyntäminen vaatii työtä
JavaScriptin hajauttaminen GPU:lle ei ole yksinkertaista. Kieltä on perinteisesti ajettu yhdessä putkessa yhdellä prosessorilla. Jos käytössä on useampi prosessori, seuraa sivuvaikutuksia: jokin ohjelman osa saattaa esimerkiksi yllättäen valmistua ennen toista.
Miltsev toteaa, että joskus tulevaisuudessa selain saattaa päätellä automaattisesti, mitkä JavaScript-koodin osat kannattaa ajaa GPU:lla. Sitä ennen kehittäjän pitää osoittaa selaimelle itse halutut kohdat, ja kuinka niitä käsitellään.
Miltsev esittää uutta JavaScript-rajapintaa, jolla GPU-laskettavat kohdat merkitään. Hän myös ehdottaa, että esimerkiksi suosittuun jQuery-kirjastoon voisi lisätä toimintoja, jotka hyödyntävät GPU-kiihdytystä. Näin kiihdytys olisi helppo ottaa käyttöön nykyisissä jQueryä käyttävissä JavaScript-sovelluksissa.

