GPGPU alkalmazások

Kategória: 
Msc

A tantárgy célkitűzése:
A tantárgy a grafikai kártyákban rejlő számítási teljesítmények általános célú felhasználását mutatja be a GPU-k általánosított modelljén keresztül: OpenCL, CUDA, Phi. Kitér a hordozható programok fejlesztésének módszereire is (template metaprogramming)
A tantárgy részletes tematikája:
1. Bevezetés. A GPU felépítésének és működésének áttekintése az általános célú programozhatóság szempontjából.
2. Bevezetés az OpenCL framework használatába
2.1. Az OpenCL virtuális gép platform, memória és program modelljén keresztül.
2.2. OpenCL C nyelv és a hozzá kapcsolódó host oldali interface bemutatása.
3. Nagyméretű adathalmazokon végzett műveletek GPGPU támogatása: 
3.1. Vektor feldolgozás
3.2. Szóró és gyűjtő algoritmusok.
4. Alapvető párhuzamos primitívek megvalósításának kérdései OpenCL környezetben:
4.1. Map, amplify, reduce
4.2. Histogram, scan, compact.
5. Párhuzamos rendező algoritmusok: brick sort, radix sort, merge sort.
6. Gráfok szélességi bejárása és alkalmazásai.
7. Párhuzamos hash alapú algoritmusok.
8. Monte Carlo módszerek a GPU-n.
9. A GPGPU algoritmusok optimalizációs kérdései: elméleti és gyakorlati metrikák, algoritmikus optimalizációs lehetőségek.
10. Hatékony együttműködés a grafikus apival (OpenGL).