Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Author "Karhu, Kaj"

Sort by: Order: Results:

  • Karhu, Kaj (2013)
    Moniydinsuorittimet ovat yleinen tapa kasvattaa tietokonepelien käytettävissä olevaa laskentakapasiteettia. Näytönohjainten kehitys on muuttanut tilannetta kasvattamalla näytönohjainten roolia yleislaskentaan soveltuvina alustoina. Aikaisemmin tällainen näytönohjainten käyttö on tarkoittanut ohjelmoimista tietokonegrafiikan käsitteillä ja termeillä. Ohjainten ja niille soveltuvien rinnakkaisohjelmointiympäristöjen kehittyminen antaa mahdollisuuden käyttää ja ohjelmoida näytönohjainten toimintaa ilman, että käyttö ja ohjelmat ovat rajattuja ainoastaan tietokonegrafiikan yhteyteen. Tässä pro gradu -tutkielmassa tarkastellaan työssä toteutetun ohjelman avulla laskennan siirtämistä OpenCL-ohjelmistokehyksen näytönohjaimen suoritettavaksi. Ohjelmassa piirretään ruudulle kuutiojoukko, jonka koko voi vaihdella muutamista sadoista kymmeniin tuhansiin kuutioihin. Kuutioiden piirtämiseen ja sijaintien päivittämiseen liittyvä laskenta on siirretty näytönohjaimen suoritettavaksi. Laskennan siirtämisen vaikutuksia on työssä havainnollistettu mittaamalla ohjelman suorituskykyä kuutioiden päivittämiseen kuluneella ajalla ja ruudunpäivitysten lukumäärällä. Pienellä kuutiomäärällä suoritinversio oli kummallakin mittarilla mitattuna tehokkaampi kuin näytönohjainversio. Mittaustulokset kertovat, että suurilla kuutiomäärillä näytönohjaimen käyttäminen päivitysten yhteydessä nosti toteutetun ohjelman suorituskykyä. Pienillä kuutiomäärillä vaikutus suorituskykyyn oli päinvastainen. ACM Computing Classification System (CCS): D.1 [PROGRAMMING TECHNIQUES], D.1.3 [Concurrent Programming]: Parallel programming, I.3 [COMPUTER GRAPHICS], I.3.1 [Hardware Architecture]: Graphics Processors, I.3.7 [Three-Dimensional Graphics and Realism]