Uživatel:Ladysmar

Z HPM wiki
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Řádka 59: Řádka 59:
 
Vlastníte kromě notebooku s nVidia GeForce kartou ještě iPhone a rádi cestujete? Pak CUDA více potěší alespoň vás, protože díky speciálnímu programu můžete videa konvertovat do iPhonu přes grafickou kartu, což dle tvrzení NVIDIE trvá podstatně méně času.
 
Vlastníte kromě notebooku s nVidia GeForce kartou ještě iPhone a rádi cestujete? Pak CUDA více potěší alespoň vás, protože díky speciálnímu programu můžete videa konvertovat do iPhonu přes grafickou kartu, což dle tvrzení NVIDIE trvá podstatně méně času.
  
 +
==Zajímavost na konec==
  
 +
http://pcworld.cz/hardware/superpocitac-nvidia-tesla-se-predstavuje-svetu-3338
  
  

Verze z 20. 12. 2011, 17:10

Obr. 1.0: CUDA

Obsah

nVidia CUDA

Uplynulo již mnoho času od dob, kdy začaly GPU (graphics compute unit) výkonnostně předhánět klasická CPU (computer processor unit), jak demonstruje první obrázek. Proto není divu, že vznikly iniciativy, aby GPU nebyly využívány jen pro zpracování 2D nebo 3D grafiky, ale pro celou škálu jiných, rovněž výkonnostně náročných aplikací a jejich potenciál, kterým je především kvalitní podpora pro paralelní výpočty na multiprocesorech, byl efektivně využit.


Úvod do technologie CUDA

Z těchto iniciativ pak vznikly konkrétní technologie, jako Compute Unified Device Architecture (dále jen CUDA) společnosti nVidia nebo ATI Stream společnosti AMD/ATI či standard Open Computing Language (dále jen OpenCL) pod záštitou konsorcia Khronos ,tvořená společnostmi jako AMD, Intel, nVidia, IBM, a dalších 100 společností, která rovněž udržuje dobře známý standard OpenGL.

Tyto výše uvedené technologie bohužel v Čechách nebyli zatím použity, kromě některých zmínek na akademické půdě.


Srovnání výkonu nVidia GPU s Intel CPU

Obr. 1.1: Srovnání výkonu nVidia GPU s Intel CPU


Základní popis a architektura CUDA

A nyní si povíme něco o základní architektuře CUDA. Nyní si na obrázku 1.2 popíšeme různé vrsty architektury CUDA a začneme jazyky, kde je zřejmé, že CUDA podporuje různé jazyky a API, jako Fortran, OpenCL, C a nebo DirectX Computer. ovšem pro nás je důležité a nejvíce známí jazyk C. O úroveň výše je vidět, že CUDA podporuje všechny dostupné operační systémy, OS X, Windows, Linux. Rovněž si ukážeme i všechny odvětví kam se CUDA hodí, jako je například věda, medicína, zpracování videa,film, offline rendring apod. kde je potřeba vynikající grafika.

Obr. 1.2:Architektura CUDA

A nyní si ukážeme jak vypadá CUDA zevnitř (z pohledu GPU)? To už nám prozrazuje obr. 1.3, kde můžeme vidět, že celé zařízení je rozděleno na tyto části: multiprocesory (například GeForce 8800 GTS jich má 12) – každý multiprocesor má 8 procesorů instrukční jednotka procesory – 32-bitový procesor architektury SIMT (Single Instruction Multi-Thread vycházející z architektury SIMD) a jak bylo uvedeno výše, 8 procesorů tvoří jeden multiprocesor, registry – 32 bitové, 8192 registrů na G80, sdílená paměť – kešovaná, velikost 16KB na G80, paměť pro konstanty – kešovaná, paměť pro textury – kešovaná, globální paměť – paměť určená pro kopírování dat z RAM do GPU a naopak.

Obr. 1.3:Architektura CUDA z pohledu GPU

Jak je vidět z dalšího obrázku (1.4),CUDA aplikace může přistupovat k jakékoliv části API CUDA. Ať už se jedná o knihovny CUBLAS (Basic Linear Algebra Subprograms) nebo CUFFT (Fast Fourier Transform), tak i runtime API nebo driver API.

Obr. 1.4:Přístup programu k API CUDA

Sdílení paměti

O sdílené paměti víme, že je velmi rychlá (v oficiální dokumentaci [1] se uvádí rychlost srovnatelná s registry), jak ji alokovat pro naše programy a že je dobrým pomocníkem při sdruženém přístupu do globální paměti (pokud není dodržena velikost paměťového elementu na 4, 8 nebo 16 bytech). Co je důležité vědět o sdílené paměti? Se sdílenou pamětí je provázána existence bank a konfliktů bank.

Banky jsou malé paměťové elementy (přístup do banky zabere 2 cykly) o velikosti 32bitů (4 byty).Nedojde-li ke konfliktu bank, lze k nim přistupovat současně prostřednictvím half-warpu. V rámci celého warpu se jedná o 2 “transakce”, kde jedna je pro dolní a druhá pro horní half-warp. Konflikt bank spočívá v tom, že dvě paměťové adresy v rámci half-warpu odkazují do stejné banky. V takovém případě se přístup do bank serializuje a není již současný. Konfliktu bank se říká n-pásmové bankovní konflikty (n-way bank conflicts), kde n označuje počet paměťových adres přistupujících do jedné banky.

Existuje jedna vyjímka, kdy nedojde ke konfliktu bank, a to když přistupuje všech 16 vláken half-warpu ke stejné bance.

Nyní si ukážeme grafické znázornění přístupu do bank s/bez konfliktů.

Obr. 1.5:Přístup do bank sdílené paměti bez konfliktu bank
Obr. 1.6:Přístup do bank sdílené paměti s konfliktu bank


CUDA Visual Profiler

CUDA Visual Profiler je nástrojem sloužícím k přehledu všech možných informácí o CUDA programu. Zde je výčet hlavních informací, které můžeme díky Visual Profileru sledovat: sdružené čtení z globální paměti (gld coalesced)sdružený zápis z globální paměti (gst coalesced)nesdružené čtení z globální paměti (gld uncoalesced)nesdružený zápis z globální paměti (gst uncoalesced)x složka gridu (grid size X)y složka gridu (grid size Y)

A teď pár informací pro koncové uživatele

První věc, která vás na prezentaci nVidie vyskočí je podpora rozhraní CUDA.Mobilní GeForce od řady 8000M dále nyní podporují kompletně celý programovací jazyk CUDA. Co to znamená pro vás jako pro koncové uživatele? Rychlejší enkódování videa, možnost aplikace různých filtrů při sledování videa, které spočítá grafická karta... Vlastně nic zásadního. Tedy zásadní to bude pro programátory, kteří budou moci pro programování více využívat i běžných notebooků a ne jen ty s mobilními nVidia Quadro, ale to se nás, běžných uživatelů, příliš netýká.

Badaboom

Obr. 1.7:Badaboom


Vlastníte kromě notebooku s nVidia GeForce kartou ještě iPhone a rádi cestujete? Pak CUDA více potěší alespoň vás, protože díky speciálnímu programu můžete videa konvertovat do iPhonu přes grafickou kartu, což dle tvrzení NVIDIE trvá podstatně méně času.

Zajímavost na konec

http://pcworld.cz/hardware/superpocitac-nvidia-tesla-se-predstavuje-svetu-3338






mě zaujalo jako téma semestrální práce : NVIDIA CUDA

http://www.root.cz/clanky/uvod-do-technologie-cuda/

http://pctuning.tyden.cz/index.php?option=com_content&task=view&id=12281&Itemid=44

Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje