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.

Nvidian GPGPU-tekniikka : Tekninen katsaus CUDA-ohjelmointialustaan

Ihonen, Anton (2022)

 
Avaa tiedosto
IhonenAnton.pdf (1.069Mt)
Lataukset: 



Ihonen, Anton
2022

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ä
2022-03-21
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202203162570
Tiivistelmä
Nykyiset grafiikkaprosessorit ovat ohjelmoitavia, massiivisen rinnakkaisia prosessoreja, joiden laskentatehoa hyödyntämällä voidaan parantaa rinnakkaistuvan sovelluksen suorituskykyä. Tässä opinnäytetyössä perehdyttiin Nvidian CUDA-ohjelmointialustaan, sen toteutustekniikkaan ja sen mahdollistamiin suorituskykyhyötyihin.

Heterogeenisessä laskennassa ohjelman rinnakkainen osa suoritetaan tietokoneen keskusprosessorin sijaan toisella laitteella. GPGPU-laskenta on heterogeenistä laskentaa, jossa ideaalisesti keskusprosessori suorittaa ohjelman sekventiaalisen ja grafiikkaprosessori rinnakkaisen osan. Grafiikkaprosessorit on suunniteltu juuri tähän: kontrollilogiikan ja välimuistien osuus piirin pinta-alasta on minimoitu ja laskentaelementtien puolestaan maksimoitu. Tämä yhdessä muistiväylän suuren kaistanleveyden ja laitteistotason vuoronnuksen kanssa mahdollistaa tehokkaan ja joustavan rinnakkaisen laskennan.

GPGPU-sovelluksia tarkasteltaessa esiin nousee joukko erityispiirteitä. Näitä ovat runsas datatason rinnakkaisuus, ratkaistavan ongelman suuri koko, korkea aritmeettinen intensiteetti ja korkeat suorituskykyvaatimukset. Grafiikkaprosessorit soveltuvat arkkitehtuurinsa vuoksi tällaisiin sovelluksiin erityisen hyvin. GPGPU-ohjelmointi eroaa oleellisesti yleiskäyttöisen prosessorin ohjelmoinnista. Nvidian grafiikkaprosessoreja ohjelmoidaan CUDA-ohjelmointialustan ja -rajapinnan avulla. CUDA noudattaa SPMD-mallia, jossa sama ohjelma suoritetaan lukemattomilla rinnakkaisilla säikeillä. Se myös mahdollistaa grafiikkaprosessorin verrattain helposti lähestyttävän ohjelmoinnin GPGPU-ohjelmoinnin tarpeisiin mukautetulla C++-ohjelmointikielen murteella. CUDA:n tekninen toteutus nojautuukin pitkälti CUDA-ohjelmien kääntämiseen tarkoitettuun NVCC-kääntäjään.

Erityispiirteidensä ansiosta grafiikkaprosessorit ovat rinnakkaisessa laskennassa sekä laskentatehon että energiatehokkuuden suhteen huomattavasti parempia kuin yleiskäyttöiset prosessorit. Työssä havaittiin, että monissa käytännön sovelluksissa tavanomaisen grafiikkaprosessorin hyödyntäminen yleiskäyttöisen prosessorin ohella voi parantaa suorituskykyä jopa kertaluokalla. Lisäksi hyvin rinnakkaistuvan sovelluksen energiankulutus voidaan grafiikkaprosessorin avulla pudottaa jopa sadasosaan alkuperäisestä.
Kokoelmat
  • Kandidaatintutkielmat [10016]
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