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

Tantárgy felelőse

Nagy Antal adjunktus, PhD