Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Näytönohjainten ja prosessoreiden vertailu algoritmeissa

Hämäläinen, Joni (2025)

 
Avaa tiedosto
HamalainenJoni.pdf (361.5Kt)
Lataukset: 



Hämäläinen, Joni
2025

Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-05-28
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202505286300
Tiivistelmä
Prosessorilaskennan kehitys on hidastunut jo 2000-luvun alkupuolesta, vastapainona tälle on lähdetty hyödyntämään näytönohjainlaskentaa, joka on arkkitehtuurisesti rajoittuneempi, mutta mahdollistaa suuremman puhtaan laskentanopeuden sille soveltuvissa tehtävissä.

Tutkimuksessa tarkastellaan näkökulmia näytönohjainlaskennan vaikeuteen ohjelmistokehittäjillä, sen yleisyyteen, eri ongelmien soveltuvuuteen niin yliopiston kuin yleiskäyttöisten algoritmien tasolla. Samalla tarkastellaan myös nykytutkimusympäristön näkemystä näytönohjainohjelmoinnin abstraktiotasojen lisäämisestä, jotta saavutettaisiin alhaisempi oppimiskynnys ohjelmoijille maailmassa, jossa korkean tason ohjelmointi on ylittänyt matalan tason ohjelmoinnin suosiossa.

Selviää, että näytönohjainohjelmointi on parempi valinta monissa nykypäivänsovelluskohteissa, joissa vaaditaan suurten datamäärien rinnakkaista käsittelyä. Tämä ilmenee varsinkin Internetin kontekstissa, jossa data lähetetään verkon yli. Näytönohjaimen kanssa hyödynnetään usein myös prosessoria, jotta saavutetaan molempien hyödyt. Se on samalla myös monissa sovelluskohteissa nopein vaihtoehto laskentaan. Rinnakkaisuus ei ole kuitenkaan ongelmatonta, ja se ilmenee juuri prosessori- ja näytönohjainlaskennan yhdistämisessä. Erilaiset konfliktit ja synkronointiongelmat ilmenevät, kun laitteita on enemmän, tai kun dataa on jaettava niiden välillä useammin. Tarkastelluissa tapauksissa tämä johtaa siihen, ettei puhtaan laskentanopeuden kasvattaminen aina johda parempaan lopputulokseen.

Kuitenkin huomataan, että yksinkertaisissa algoritmeissa, joita hyödynnetään muun muassa Tampereen yliopiston ohjelmointikursseilla, näytönohjain on monesti parempi vaihtoehto laskennalle. Prosessorilaskennan opettamiseen löydetään syitä muun muassa ylempien abstraktiotasojen kielten suosiosta, asian uutuudesta tai näytönohjainohjelmoinnin haasteista.

Näytönohjaimen haasteiksi tässä tutkimuksessa löydetään kolme keskeistä asiaa, jotka selittävät tutkimuskysymyksen mukaisesti, miksi näytönohjainohjelmointia ei harrasteta enempää. Näytönohjainohjelmoinnilla on useita eri abstraktiotasoja sen matalasta ohjelmointitasosta huolimatta. Näytönohjain vaatii sen arkkitehtuurisen takaisin- ja eteenpäin yhteensopimattomuuden perusteella vaihdettavan ohjelmistopohjaisen komponentin, mikä tarkoittaa näytönohjainvalmistajan omaa kirjastoa C++-kääntäjien jälkeen. Tämä lisää riskimahdollisuuksia ja samalla myös vaikeuttaa näytönohjainkoodin ongelmien ratkomista puutteellisten työkalujen vuoksi.

Toinen keskeinen tekijä on, että alhaisen tason vuoksi näytönohjainohjelmoijan tulisi nykyisellään ymmärtää myös rautatasonrajoitteita näytönohjaimissa. Samalla myös kolmas syy, kuinka alhaisen tason, kuten C++ tai C on vuoden 2024 ohjelmistokehittäjäkyselyssä vähemmistö. Tämä pienentää mahdollisuutta siirtyä näytönohjainohjelmointiin, kun koodipohja perustuu edellä mainittuihin kieliin.
Kokoelmat
  • Kandidaatintutkielmat [11029]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste