GPGPU: Porovnání verzí

Smazaný obsah Přidaný obsah
m Heavy metal je trochu něco jiného
m Styl
Řádek 1:
{{Upravit|typografie, odkazy, kategorie}}
'''General-purpose computing on graphics processing units''' (zkratka '''GPGPU''') je způsob využití [[Paralelní výpočty|paralelizace]] na [[Grafická karta|grafické kartě]] k výpočtu obecných algoritmů. [[Grafická karta|Grafické karty]] dříve obsahovaly pouze '''fixní''' vykreslovací řetězec, který sloužil výhradně ke zpracování grafických primitiv a prezentaci na obrazovce. S příchodem programovatelných shaderů se však vyskytla možnost získat '''výstup operací''' prováděných grafickou kartou. Výpočty na grafické kartě jsou vhodné u algoritmů, které mají podobný formát jako grafická primitiva a obsahují mezi sebou '''minimální nebo žádné vazby''' (taková operace může být například převod pixelů barevného obrazu do šedotónového).
 
== Historie a významná data ==
Řádek 15:
Grafický procesor ([[GPU]]) má značně rozdílnou architekturu na rozdíl od klasického [[Centrální procesorová jednotka|procesoru]]. [[Centrální procesorová jednotka|CPU]] má rozsáhlou instrukční sadu uzpůsobenou k realizaci obecných výpočtů. Architektura grafického čipu byla na druhou stranu vyvíjena s myšlenkou realizace malého množství specifických instrukcí (operací nad grafickými primitivy) paralelně nad velkou homogenní datovou sadou. V kombinaci s dostupností programovatelného řetězce, jmenovitě [[Vertex shader|vertex]], [[Pixel shader|fragment]], [[Geometry shader|geometry]] a [[Compute shader|compute shaderů]], mohou být [[Grafická karta|grafické karty]] použity k urychlení obecných, avšak ze své podstaty masivně paralelních algoritmů.
 
Pro programování [[algoritmus|algoritmů]] se používá konceptu takzvaného '''kernelu''', který aplikuje operaci paralelně na každé primitivum vstupních dat (např. pixel obrazu) zvlášť. Ukázka jednoduchého kernelu (v jazyce [[GLSL]]), který převádí [[pixel|pixely]] barevného obrazu do šedotónové hloubky může vypadat například takto:
 
<source lang="C">