CUDA: Porovnání verzí
Smazaný obsah Přidaný obsah
m Robot: přidáno {{Autoritní data}}; kosmetické úpravy |
aktualizace, doplnění a výslovnosť |
||
Řádek 1:
{{Infobox - software
| datum aktuální verze = [[25. září]] [[2017]]<ref name="devítka" />
| datum připravované verze =
| platforma = [http://developer.nvidia.com/cuda-gpus podporovaná GPU]
| typ
| licence = [[freeware]]
}}
| titul = nVIDIA CUDA Programming Guide Version 1.1▼
| url = http://docs.nvidia.com/cuda/index.html#axzz3wagwJWX1▼
▲ | datum vydání = 2007-11-29
| datum přístupu = 2011-12-01▼
| vydavatel = nVIDIA▼
| jazyk = en▼
▲}}</ref> která umožňuje na vybraných [[GPU]] spouštět programy napsané v jazycích [[C (programovací jazyk)|C]]/[[C++]], [[FORTRAN]] 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]] 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 37 ⟶ 32:
V květnu 2011 byla vydána verze CUDA SDK 4.0. Největší změnou je zde unifikace paměťových prostorů a masivní podpora [[Scalable Link Interface|MultiGPU]].
Nejnovější verzí je CUDA SDK
== Mikroarchitektura GPU ==
Řádek 48 ⟶ 43:
=== Výpočetní možnosti (Compute capability) ===
Výpočetní možnosti popisují vlastnosti zařízení a množinu instrukcí, které jsou podporovány. Některé z těchto vlastností jsou shrnuty v tabulce níže, ostatní lze nalézt v oddílu F nVIDIA CUDA C Programming Guide.<ref name="r-PG4" />
| titul = CUDA Toolkit Documentation v8.0▼
| url = http://docs.nvidia.com/cuda/index.html#axzz4QZxUCmXI▼
| datum vydání = 2016-09-27▼
| datum přístupu = 2016-11-20▼
| vydavatel = nVIDIA▼
| jazyk = en▼
}}</ref>▼
{| class="wikitable" style="text-align: center; margin: 0 auto;"
Řádek 142 ⟶ 130:
== Programovací model ==
[[Soubor:Block-thread.svg|náhled|270px|Uspořádání vláken a bloků]]
CUDA aplikace je složena z částí, které běží buď na host ([[Procesor|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 (program)|vláknem]] (
; 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 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]] '''threadIdx'''.
Řádek 159 ⟶ 147:
=== Ukázka kódu v CUDA C ===
Převzato z <ref name="r-PG4" />.
<source lang="c">
// Kód pro GPU
Řádek 171 ⟶ 159:
int main()
{
int N =
size_t size = N * sizeof(float);
// Alokace vstupních vektorů h_A and h_B v hlavní paměti
Řádek 177 ⟶ 165:
float* h_B = (float*)malloc(size);
// Inicializace vstupních vektorů
// Alokace paměti na zařízení
float* d_A;
Řádek 199 ⟶ 187:
cudaFree(d_C);
// Uvolnění hlavní paměti
…
</source>
Řádek 235 ⟶ 223:
|-
! Lokální
| Mimo čip
| style="background-color: #ff9090" | Ne <ref name="cc" group="pozn">Od compute capabilities 2.0 je ukládání do cache umožněno</ref>
| Čtení/Zápis
Řádek 293 ⟶ 281:
== Reference ==
<references
<ref name="devítka">{{Citace elektronického periodika
| příjmení = Hagara
| jméno = Ladislav
| titul = CUDA 9.0
| url = http://www.abclinuxu.cz/zpravicky/cuda-9.0
| vydavatel = Nitemedia s. r. o.
| datum vydání = 2017-09-27
| datum aktualizace =
| periodikum = AbcLinuxu
| issn = 1214-1267
| jazyk = cs
▲}}</ref>
<ref name="ncpg">{{Citace elektronické monografie
▲ | titul = nVIDIA CUDA Programming Guide Version 1.1
▲ | url = http://docs.nvidia.com/cuda/index.html#axzz3wagwJWX1
| lokace = nVIDIA Developer
▲ | vydavatel = nVIDIA Corporation
| datum vydání = 2007-11-29
▲ | jazyk = en
}}</ref>
<ref name="r-PG4">{{Citace elektronické monografie
▲ | titul = CUDA Toolkit Documentation v8.0
▲ | url = http://docs.nvidia.com/cuda/index.html#axzz4QZxUCmXI
| lokace = nVIDIA Developer
▲ | vydavatel = nVIDIA Corporation
▲ | datum vydání = 2016-09-27
| datum přístupu = 2017-11-06
▲ | jazyk = en
}}</ref>
</references>
{{Autoritní data}}
|