A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
GPGPU alkalmazások
GPGPU Applications
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIIIMB01 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | vizsga | ||||||||||||
| Tantárgy kreditértéke | 4 | ||||||||||||
| Tantárgyfelelős |
Szécsi László
beosztás: egyetemi docens
elérhetőség:
szecsi.laszlo@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Irányítástechnika és Informatika Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | http://cg.iit.bme.hu/portal/oktatott-targyak/gpgpu-alkalmazasok | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
1. 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.
Az előadás keretében áttekintésre kerül a grafikus hardver masszívan párhuzamos architektúrája, a árhuzamos programozás alapvető kérdései és az architektúra korlátaiból fakadó megkötések. Bemutatásra kerülnek a grafikus hardver programozására felhasználható környezetek.
2. Bevezetés az OpenCL framework használatába.
Az előadás keretében bemutatásra kerül a grafikus hardver általános célú programozására alkalmas OpenCL környezet. Áttekintjük az OpenCL virtuális gép platform, memória és program modelljét, illetve az OpenCL C nyelvet és a hozzá kapcsolódó CPU oldali API-t.
3. Nagyméretű adathalmazokon végzett műveletek GPGPU támogatása.
Az előadás keretében bemutatásra kerülnek a nagyméretű adathalmazon végezhető vektorfeldolgozási műveletek. Áttekintjük a szóró és gyűjtő típusú algoritmusok párhuzamosíthatóságát, korlátaikat és a gyakorlati megvalósításukat.
4. Alapvető párhuzamos primitívek megvalósításának kérdései OpenCL környezetben.
Az előadás keretében bemutatásra kerülnek az alapvető párhuzamos primitívek, amelyekből hatékonyan skálázódó algoritmusok építhetőek. A bemutatott primitívek a map, reduce, amplify, histogram, scan és compact.
5. Lineáris egyenletrendszerek megoldása.
Az előadás keretében bemutatjuk a lineáris egyenletrendszerek megoldására alkalmazható párhuzamos algoritmusokat. Áttekintjük a megoldás során alkalmazott mátrix és vektor műveletek implementációs kérdéseit, illetve a nagyméretű ritka mátrixok hatékony tárolását és a rajtuk végezhető műveleteket.
6. Fizikai szimuláció a GPU-n.
Az előadás keretében bemutatjuk a GPU-n hatékonyan számítható fizikai modelleket. Megvizsgáljuk az algoritmusok hatékonyságát és skálázódását.
7. Párhuzamos rendező algoritmusok.
Az előadás keretében bemutatjuk a párhuzamos architektúrákon alkalmazható rendező algoritmusokat: brick sort, radix sort, merge sort és speciális quick sort. Az előadás során összehasonlítjuk a párhuzamos rendezéseket a klasszikus rendező algoritmusokkal művelet szám és futási idő szempontjából.
8. Gráfok szélességi bejárása és alkalmazásai.
Az előadás során bemutatásra kerülnek a párhuzamos architektúrákon alkalmazható gráfbejáró algoritmusok és azok alkalmazási lehetőségei. A bemutatott algoritmusokat összehasonlítjuk a CPU-n alkalmazható hatékony gráf algoritmusokkal művelet igény és futási idő szempontjából.
9. Párhuzamos hash alapú algoritmusok.
Az előadás során bemutatjuk a párhuzamos architektúrákon alkalmazható hash alapú algoritmusokat és azok alkalmazási lehetpségeit. A bemutatott algoritmusokat összehasonlítjuk a CPU-n alkalmazható hatékony hash alapú algoritmusokkal művelet igény és futási idő szempontjából.
10. Monte Carlo módszerek a GPU-n.
Az előadás során áttekintjük a Monte Carlo alapú módszerek implementációs kérdéseit és az alkalmazási lehetőségeket. A bemutatásra kerülő algoritmusok kulcskérdése a megfelelő minőségű véletlen számok hatékony generálása, ezért az előadás keretében bemutatjuk a párhuzamos architektúrákon alkalmazható álvéletlen és kvázi véletlen generátorokat.
11. Adjungált Monte Carlo módszerek.
Az előadás keretében bemutatjuk az adjungált Monte Carlo alapú számítások kérdéseit. Áttekintjük az elméleti követelményeket és a gyűjtés típusú algoritmusok implementációs kérdéseit a GPU alapú PET rekonstrukción keresztül.
12. A GPGPU algoritmusok optimalizációs kérdései.
Az előadás keretében áttekintjük a párhuzamos algoritmusok teljesítmény mérésének és optimalizációjának kérdéseit. A rendelkezésre elméleti és gyakorlati metrikák segítségével bemutatjuk az algoritmikus optimalizálás lehetőségeit és áttekintjük a korábban bemutatott főbb algoritmusok korlátait.
13. Hatékony együttműködés a grafikus API-val (OpenGL).
Az előadás keretében bemutatjuk az OpenCL környezet összekapcsolásának lehetőségeit az OpenGL grafikus API-val. A bemutatott módszerek segítségével az általános célú számításokhoz hatékony vizualizáció készíthető, amely nagyban segítheti az eredmények értékelését.
14. Multi GPU és elosztott rendszerek speciális igényei.
Az előadás keretében bemutatjuk a több GPU-val rendelkező rendszerek programozásának kérdéseit. Áttekintjük az elosztott működésből fakadó korlátokat és az általánosan alkalmazható technikákat.
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
Nincs megadva.
Ajánlott tantárgyak
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.