Algoritmusok és adatstruktúrák többmagos környezetben
A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Algoritmusok és adatstruktúrák többmagos környezetben
Algorithms and Data Structures in Multi-core Environment
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIAUAV13 | ||||||||||||
| 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 | félévközi érdemjegy | ||||||||||||
| Tantárgy kreditértéke | 2 | ||||||||||||
| Tantárgyfelelős |
Dr. Dudás Ákos
elérhetőség:
akos.dudas@aut.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
—
|
||||||||||||
| Kar | |||||||||||||
| Tantárgy weboldala | — | ||||||||||||
| 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
|
Hét
|
Előadás anyaga
|
|
1.
|
Algoritmusok teljesítmény vizsgálata, hotspot fogalma, skálázhatóság, gyorsulás, költség függvények, algoritmikus komplexitás. |
|
2.
|
Szoros és laza csatolás, a szoftver és hardver rétegek szerepe a teljesítményben. Párhuzamos architektúrák bemutatása (SMP, masszívan párhuzamos rendszerek). |
|
3.
|
Nagyteljesítményű számítógépek megvalósítási problémái. Tér- és időbeli lokalitás, cache áttekintés, prefetch, cache konzisztencia. UMA, NUMA és klaszter architektúrák. Elosztott memóriára épülő párhuzamos környezetek. |
|
4.
|
A szuperskalár CPU architektúrától (tipikus pipeline működése, utasítás szintű párhuzamosság, elágazás előrejelzés) a mai modern processzorok működésén át (pl. HyperThreading technológia) a many-core architektúrákig. |
|
5.
|
Teljesítmény mérés eszközei és módszerei, Intel VTune Amplifier XE bemutatása, nagyfelbontású időmérés. Mátrix összeadás példája. |
|
6.
|
Cache-barát adatstruktúrák, láncolt lista és tömb, hash tábla tervezése. |
|
7.
|
Párhuzamos programozás, szál-objektum modell, zárak, szinkronizációs megoldások gyakorlati alkalmazása Windows API és .NET segítségével, spin lock-ok megvalósítása és teljesítmény tesztjük. |
|
8.
|
Szálak és zárolás Windows API használatával és .NET környezetben. Zárolási módszerek teljesítmény tesztjei. |
|
9.
|
Zármentes módszerek: pre-execution, CAS, interlocked műveletek. |
|
10.
|
Párhuzamosítási módszerek, párhuzamos adatstruktúrák többmagos környezetben. Láncolt listával megvalósított verem, sor, hash tábla. |
|
11.
|
.NET Task Parallel Library, csoport kommunikációs primitívek (MPI), broadcast algoritmusok, Intel Threading Building Blocks. |
|
12.
|
Grafikus kártyák általános célú programozása, masszívan párhuzamos architektúrák, általános GPGPU architektúra. CUDA architektúra és programozási nyelv, OpenCL programozási nyelv. |
|
13.
|
CUDA és OpenCL alkalmazás fejlesztése, fejlesztői környezetek, program készítése GPU-ra lineáris algebrai műveletek példáján keresztül. |
|
14.
|
Félévközi zárthelyi dolgozat. |
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.