GPGPU: Grafikus processzorok felhasználása általános célú számításokra
(GPGPU: General-Purpose Computation on Graphics Hardware)
- 2 óra előadás (kollokvium), 1 óra laboratoriumi gyakolat (aláírás), 1 óra konzultáció
- 5 kredit, őszi félév
Tantárgyleírás
A tárgy oktatásának célja (kialakítandó kompetenciák): A hallgatók jártasságot szereznek programozható grafikus kártyák általános célú számításokra való felhasználására. Különböző programozási architektúrák alkalmazásainak esettanulmányokon keresztül való bemutatásával a hallgatók képessé vállnak párhuzamosítható algoritmusok GPU-kon való implementálására és optimalizálására. A hallgatók olyan ismereteket is elsajátítanak, amelyek a képfeldolgozás tudományterületen alkalmazott módszerek esetén hatékonyan használhatnak.
Tematika
Videó kártyák felépítése: Grafikus csővezeték, Programozható grafikus csővezeték, GPU felépítése, Konkrét GPU architektúra,
CUDA: CUDA architektúra, A CUDA architektúra használata, Fejlesztési környezet, Bevezetés a CUDA C-be, Párhuzamos programozása a CUDA C-ben, Szálak együttműködése, Konstans memória és események, Textúra memória, Atomi műveletek, Folyamok, CUDA C használata több GPU-n, Magasabb szintű atomi műveletek, Esettanulmányok
OpenCL: Platform, végrehajtási, memória. és programozási modell, Platformok, környezetek és eszközök, OpenCL C, OpenCL beépített C függvények, Programok és kernelek, Pufferek és al-pufferek, Képek és mintavételezők, Események, Esettanulmányok
OpenCL CUDA architektúrán: SIMT architektúra, Hardveres multithreading, Fordítás, Esettanulmányok
Ajánlott irodalom
1. CUDA by Example
2. NVIDIA CUDA C Programming Guide
3. OpenCL Programming Guide
4. OpenCL Programming Guide for the CUDA Architecture
5. http://developer.nvidia.com/nvidia-gpu-computing-documentation