GPU-laskennan optimointi - Isohanni, Jari (2013)
Näytönohjaimet, grafiikkasuorittimet, tarjoavat rinnakkaisen laskennan alustan, jossa voidaan suorittaa ohjelmakoodia satojen ydinten toimesta. Tämä alusta mahdollistaa matemaattisesti työläiden ongelmien ratkaisemisen tehokkaasti. Grafiikkasuorittimen rinnakkainen suoritusympäristö kuitenkin eroaa suuresti tietokoneen suorittimen peräkkäisestä suoritusympäristöstä. Ongelmien ratkaisemiseksi tehokkaasti rinnakkaisympäristössä on noudettava ohjelmointimenetelmiä, jotka soveltuvat erityisesti rinnakkaisympäristöön. Tässä työssä tarkastellaan rinnakkaisen laskennan perusteita, miten erilaiset ohjelmointimenetelmät vaikuttavat ohjelman suoriutumiseen grafiikkasuorittimella sekä miten voidaan saavuttaa nopein mahdollinen suoritusaika ohjelmalle grafiikkasuorittimella. Työssä laadittiin teoreettinen parametroitu malli grafiikkasuorittimen laskenta-ajan arviointiin. Lisäksi toteutettiin kaksi erilaista matriisikertolaskuja suorittavaa rinnakkaisen laskennan ohjelmaa. Työn tuloksissa verrataan teoreettista suoritusaika-arviota käytännössä saavutettuihin tuloksiin sekä esitetään grafiikkasuorittimella suoritettavilla ohjelmilla saavutettuja nopeutuksia eri parametriarvoilla.