CUDA: Porovnání verzí

Smazaný obsah Přidaný obsah
aktualiizace, typo a doplnění
data z wd; wikifikace
Řádek 1:
{{Infobox - software
| jméno = CUDA
| logo =
| velikost loga =
| obrázek =
| velikost obrázku =
| alt =
| popisek =
| vývojář = [[nVIDIA]] Corp.
| první vydání =
| aktuální verze = 9.1<ref name="aktuál" />
| datum aktuální verze = [[12. prosinec|12. prosince]] [[2017]]
| připravovaná verze =
| datum připravované verze =
| operační systém = [[Microsoft Windows|MS Windows]], [[macOS]], [[Linux|GNU/Linux]]
| platforma = [http://developer.nvidia.com/cuda-gpus podporovaná GPU]
Řádek 21 ⟶ 10:
}}
 
'''CUDA''' ([[akronym]] z&nbsp;[[Angličtina|angl.]] '''C'''ompute '''U'''nified '''D'''evice '''A'''rchitecture, výslovnost [ˈkjuːdə]) je hardwarová a softwarová architektura,<ref name="ncpg" /> která umožňuje na vybraných [[GPU]] spouštět programy napsané v&nbsp;jazycích [[C (programovací jazyk)|C]]/[[C++]], [[FORTRANFortran]] nebo programy postavené na technologiích [[OpenCL]], [[DirectCompute]] a jiných. Použití této architektury je omezeno pouze na [[Grafická karta|grafické akcelerátory]] a výpočetní karty společnosti [[nVIDIA]], která ji vyvinula. Konkurenční technologie společnosti [[Advanced Micro Devices|AMD]] se nazývá [http://en.wikipedia.org/wiki/AMD_FireStream AMD FireStream] (dříve ''Close To Metal''). Obě společnosti jsou také členy [[Khronos Group]], která zajišťuje vývoj OpenCL.
 
== Historie ==
Řádek 36 ⟶ 25:
== Mikroarchitektura GPU ==
[[Soubor:Cpu-gpu.svg|náhled|270px|CPU vs. GPU]]
Drtivou většinu plochy [[čipIntegrovaný obvod|čipu]]u grafického akcelerátoru od nVidie zabírá velké množství relativně jednoduchých [[Skalární procesor|skalárních procesorů]] (na rozdíl od architektur konkurenční firmy AMD, jejíž GPU jsou tvořeny [[Very long instruction word|VLIW]] [[SIMD]], resp. [[RISC]] [[SIMD]] jednotkami, tzv. stream procesory), které jsou organizovány do větších celků zvaných [[streaming multiprocesor]]y. Vzhledem k&nbsp;tomu, že se jedná o&nbsp;[[Single Instruction Multiple Threads|SIMT]] architekturu, řízení jednotek a plánování instrukcí je jednoduché a spolu s&nbsp;velmi malou [[Cache|vyrovnávací pamětí]] zabírá malé procento plochy GPU čipu. To má bohužel za následek omezené predikce skoků a časté zdržení výpadky cache (některé typy pamětí dokonce nejsou opatřeny cache). Poslední významnou částí, která je rozměrově velice podobná CPU je [[RAM]] [[řadič]].
 
=== Struktura multiprocesoru ===
Řádek 130 ⟶ 119:
== Programovací model ==
[[Soubor:Block-thread.svg|náhled|270px|Uspořádání vláken a bloků]]
CUDA aplikace je složena z&nbsp;částí, které běží buď na host ([[ProcesorCentrální procesorová jednotka|CPU]]) nebo na CUDA zařízení (GPU). Části aplikace běžící na zařízení jsou spouštěny hostem zavoláním [[CUDA Kernel|kernelu]], což je funkce, která je prováděna každým spuštěným [[Vlákno (programinformatika)|vláknem]] (thread [θred]).
 
; Blok (''thread block'') : Vlákna jsou organizována do 1D, 2D nebo 3D bloků, kde vlákna ve stejném bloku mohou sdílet data a lze synchronizovat jejich běh. Počet vláken na jeden blok je závislý na výpočetních možnostech zařízení. Každé vlákno je v&nbsp;rámci bloku identifikováno unikátním indexem přístupným ve spuštěném kernelu přes zabudovanou [[Proměnná|proměnou]] <tt>threadIdx</tt>.
Řádek 282 ⟶ 271:
== Reference ==
<references>
<ref name="aktuál">{{Citace elektronické monografie
| titul = What’s New in CUDA
| url = http://developer.nvidia.com/cuda-toolkit/whatsnew
| další = nVIDIA Developer
| vydavatel = nVIDIA Corporation
| datum přístupu = 2018-02-13
| jazyk = en
}}</ref>
<ref name="ncpg">{{Citace elektronické monografie
| titul = CUDA Toolkit Documentation