|
Vyučující
|
-
Bližňák Michal, Ing. Ph.D.
-
Janků Peter, Ing. Ph.D.
|
|
Obsah předmětu
|
- Úvod do paralelních procesů a programování. - Zpracování úloha na pozadí, časovače. Implementace ve Qt. - Procesy a podprocesy. Implementace ve Qt. - Vlákna a jejich synchronizace ve Qt I (tvorba a správa vláken) - Vlákna a jejich synchronizace ve Qt II (mechanismy pro synchronizaci běhu vláken a řízení přístupu ke sdíleným datovým objektům). - Úvod do paralelismu a paralelizace algoritmů, analýza časové složitosti algoritmů. - Paralelní architektury, PRAM. - Propojovací sítě. - Základy vnořování a simulací propojovacích sítí. - Směrování v propojovacích sítích. - Tvorba paralelních aplikací na EREW PRAM pomocí OpenMP I (základní vlastnosti a principy, tvorba paralelních oblastí, dělba práce). - Tvorba paralelních aplikací na EREW PRAM pomocí OpenMP II (viditelnost datových objektů, synchronizace vláken). - Paralelní algoritmy ? Paralelní prefixový součet, jeho modifikace a aplikace. - Paralelní algoritmy ? Třídící paralelní algoritmy, výpočetní algoritmy pro lineární algebru.
|
|
Studijní aktivity a metody výuky
|
|
Přednášení, Demonstrace, Cvičení na počítači
|
| Předpoklady |
|---|
| Odborné znalosti |
|---|
| Programování Objektové programování Multiplatformní programování |
| Programování Objektové programování Multiplatformní programování |
| Výsledky učení |
|---|
| Student má znalosti o problematice tvorby a analýzy paralelních algoritmů a aplikací a o paralelních výpočetních systémech obecně. Student je schopen vytvářet vícevláknové a paralelizované aplikace. |
| Student má znalosti o problematice tvorby a analýzy paralelních algoritmů a aplikací a o paralelních výpočetních systémech obecně. Student je schopen vytvářet vícevláknové a paralelizované aplikace. |
| Vysvětlit princip zpracování úloha na pozadí. |
| Vysvětlit princip zpracování úloha na pozadí. |
| Popsat procesy a podprocesy. |
| Popsat procesy a podprocesy. |
| Popsat vlákna a jejich synchronizace ve Qt. |
| Popsat vlákna a jejich synchronizace ve Qt. |
| Vysvětlit princip paralelismu a paralelizace algoritmů. |
| Vysvětlit princip paralelismu a paralelizace algoritmů. |
| Popsat základy vnořování a simulací propojovacích sítí. |
| Popsat základy vnořování a simulací propojovacích sítí. |
| Odborné dovednosti |
|---|
| Aplikovat zpracování úloh na pozadí. |
| Aplikovat zpracování úloh na pozadí. |
| Vytvořit vícevláknovou aplikaci. |
| Vytvořit vícevláknovou aplikaci. |
| Vytvořit paralelizovanou aplikaci. |
| Vytvořit paralelizovanou aplikaci. |
| Aplikovat paralelní algoritmus pro paralelní prefixový součet. |
| Aplikovat paralelní algoritmus pro paralelní prefixový součet. |
| Aplikovat třídící paralelní algoritmy. |
| Aplikovat třídící paralelní algoritmy. |
| Vyučovací metody |
|---|
| Odborné znalosti |
|---|
| Cvičení na počítači |
| Demonstrace |
| Demonstrace |
| Cvičení na počítači |
| Přednášení |
| Přednášení |
| Hodnotící metody |
|---|
| Známkou |
| Známkou |
|
Doporučená literatura
|
-
domovská stránka "OpenMP".
-
referenční příručka OpenMP ve Visual C++ na MSDN.
-
zdroje wxWidgets na internetu.
-
Aoyama, Y, Nakano, J. Practical MPI Programming, International Technical Support Organization. 1999.
-
J. Smart, K. Hock , S. Csomor. Cross-Platform GUI Programming with wxWidgets. Prentice Hall, 2006.
-
M. Bližňák. Systémové programování. skripta UTB Zlín.
-
N. Rappin, R. Dunn. wxPython in Action. Manning, 2006.
-
Pacheco, P. S. A Users' Guide to MPI. 1998.
-
R. Chandra, L. Dagum, D. Kohr, D. Maydan. Parallel Programming in OpenMP. Morgan Kaufmann, 2000.
-
Tvrdík, Pavel. Paralelní systémy a algoritmy. Praha : ČVUT, 2000. ISBN 80-01-02267-6.
|