Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

General-purpose computing on graphics processing units (0)

1 Hindamata
Punktid

Esitatud küsimused

  • Milline GPGPU oma olemuselt on?

GPGPU
Referaat
2010

SISUKORD



SISUKORD 2
1. SISSEJUHATUS 3
2. GPU PARANDUSED 4
2.1 Programmeeritavus 4
2.2 Andme tüübid 4
3. GPGPU JA GPU PROGRAMMEERIMISE KONSEPTSIOON 6
3.1 GPGPU programmeerimise kontseptsioone 6
3.2 GPU programmeerimise kontseptsioone 6
3.2.1 Arvutus vahendid 6
3.2.2 Voog tekstuurina 6
3.2.3 Tuum 7
3.2.4 Voog reguleerimine 7
3.3 GPU tehnika 7
4. GPU KASUTUSALAD 9
KOKKUVÕTE 10
Kasutatud allikad 11



1. SISSEJUHATUS


GPGPU (General- purpose computing on graphics processing units, mida nimetatakse ka GPGP ja vähemal määral GP²) on võimsate graafikaprotsessorite ärakasutamine massiivselt paralleelsete ülesannete lahendamiseks. Kuidas on GPU’d (graafikaprotsessorit) täiendatud, et GPGPU oleks teostatav ja milline GPGPU oma olemuselt on?


2. GPU PARANDUSED


GPU funktsioonid on olnud traditsiooniliselt väga piiratud. Palju aastaid oli GPU harjunud kiirendama teatuid osi graafikakonveieril. Mõningad parandused olid vajalikud, et GPGPU oleks teostatav.

2.1 Programmeeritavus


Programmeeritavad vertex ja fragment shaderid lisati graafikakonveierile, mis võimaldab mängude programmeerijatel luua veelgi realistlikumaid efekte . Vertex shaderid võimaldavad programmeerijal asendada näiteks asukohta, värvi, tekstuuri koordinaate ja tavalist vektorit. Fragment shaderid võimaldavad programmeerijal asendada näiteks valguse mudelit. Shaderid on võimaldanud programmeerijatel luua objektiivi mõju, vastendamist ja teravussügavust.
Konveieri programmeeritavuse arengusuund on käinud koos Microsoft DirectX arenguga(DirectX8: Shader mudel 1.1, DirectX8.1: Pixel Shader mudel 1.2, 1.3 ja 1.4, DirectX9: Shader mudel 2.x ja 3.0 ja DirectX10 Shader mudel 4.0). Iga shaderi mudel on suurendanud programmeermise paindlikkust ja võimalusi.

2.2 Andme tüübid


Enne DirectX9 graafikakaarte, toetasid graafikakaardid ainult palett värve või lahutamatut värvi tüüpi. Erinevad vormid on kättesaadavad, iga vorm koosneb punasest elemendist, rohelisest elemendist ja sinisest elemendist. Vahepeal lisatakse ka alfa väärtus, mida kasutatakse läbipaistvuseks.
Tavalised vormid on:
  • 8 bitti piksli kohta - Võimalik on 2 bitti punase, 3 bitti rohelise ja 3 bitti sinise jaoks.
  • 16 bitti piksli kohta – Tavaliselt jaotatakse 5 bitti punase, 6 bitti rohelise ja 5 bitti sinise jaoks
  • 24 bitti piksli kohta – Igale 8 bitti punase, rohelise ja sinise jaoks.
  • 32 bitti piksli kohta – Igale 8 bitti punase,rohelise, sinise ja alfa jaoks.
Graafika programmeerijad tahtsid kasutada paremaid andme tüüpe, näiteks ujukoma andme tüüpe, et võimaldada effekte nagu HDR-pildindus. Paljud GPGPU rakendused nõuavad ujukoma täpsust, mis tuli koos vastava videokaardi DirectX9 spetsifikatsioonile.



3. GPGPU JA GPU PROGRAMMEERIMISE KONSEPTSIOON


3.1 GPGPU programmeerimise kontseptsioone


GPU on spetsiaalselt mõeldud graafika jaoks, seega on GPU väga piiratud operatsioonide ja programmeerimise osas. Oma olemuselt on GPU tõhus lahendadades probleeme, mida saab lahendada kasutades voog töötlust. Riistvara saab kasutada ainult teatud kindlal viisil.
Ideaalsed GPGPU rakendused on suure andmekogumiga, kõrge paralleelsusega ja minimaalse sõltuvusega andme elementide vahel.


3.2 GPU programmeerimise kontseptsioone

3.2.1 Arvutus vahendid


CPU’l on saadaval erinevaid andmetöötlus vahendeid:
  • Programmeeritavaid protsessoreid
  • Rasterizer
  • Tekstuuri üksus
  • Ekraanipuhver

3.2.2 Voog tekstuurina


Kõige tavalisem voogi vorm,mis sobib GPGPU’le on 2D võrk, sest see sobib loomult CPU sisseehitatud visualiseerimise mudeliga . Paljud arvutused vastendavad end võrkudesse: maatriksalgebra, pilditöötlus, füüsiliselt põhinev simulatsioon jne.


3.2.3 Tuum


Kui programmeerija loob võrku CPU’le,siis see võib välja näha midagi sellist:
/ / Sisendi ja väljundi võrgud on 10000 x 10000 või 100 miljonit elemente.
void transform_10k_by_10k_grid ( float in [ 10000 ] [ 10000 ] , float out [ 10000 ] [ 10000 ] )
for ( int x = 0 ; x
Vasakule Paremale
General-purpose computing on graphics processing units #1 General-purpose computing on graphics processing units #2 General-purpose computing on graphics processing units #3 General-purpose computing on graphics processing units #4 General-purpose computing on graphics processing units #5 General-purpose computing on graphics processing units #6 General-purpose computing on graphics processing units #7 General-purpose computing on graphics processing units #8 General-purpose computing on graphics processing units #9 General-purpose computing on graphics processing units #10 General-purpose computing on graphics processing units #11
Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
Leheküljed ~ 11 lehte Lehekülgede arv dokumendis
Aeg2010-08-10 Kuupäev, millal dokument üles laeti
Allalaadimisi 14 laadimist Kokku alla laetud
Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
Autor fbins18 Õppematerjali autor
Riistvara referaat : GPGPU'st (General-purpose computing on graphics processing units)

Kommentaarid (0)

Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun