Algorithms and Data Structures in Multi-core Environment
A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Algoritmusok és adatstruktúrák többmagos környezetben
Algorithms and Data Structures in Multi-core Environment
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIAUAV13 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | félévközi érdemjegy | ||||||||||||
| Credits | 2 | ||||||||||||
| Subject coordinator |
Dr. Dudás Ákos
contact:
akos.dudas@aut.bme.hu
|
||||||||||||
| Responsible department |
—
|
||||||||||||
| Faculty | |||||||||||||
| Subject website | — | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
|
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. |
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
Tanulástámogató anyagok
Not provided.
Recommended preliminary knowledge for completing the subject
General rules
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.