|
Lecturer(s)
|
-
Bližňák Michal, Ing. Ph.D.
-
Janků Peter, Ing. Ph.D.
|
|
Course content
|
Introduction to parallel processing and programming. - Taks' processing on system's background. Implementation using Qt. - Processes and subproceses. Implementation using Qt. - Threads and their synchronization using Qt (threads' creation and management). - Threads and their synchronization using Qt (synchronization and communications mechanisms). - Introduction to parallelism and tasks' parallelization, time complexity analysis. - Parallel architectures, Flynn's taxonomy, PRAM. - Interconnection networks. - Interconnection networks' embedding and simulations. - Routing in interconnection networks.. - Development of EREW PRAM algorithms using OpenMP (basic principles, parallel sections, distribution of work). - Development of EREW PRAM algorithms using OpenMP (data visibility scope, threads' synchronization). - Parallel algorithms ? parallel prefix sum, its modifications and applications. - Parallel algorithms ? sorting algorithms, linear algebra.
|
|
Learning activities and teaching methods
|
|
Lecturing, Demonstration, Exercises on PC
|
| prerequisite |
|---|
| Knowledge |
|---|
| Programming Object-Oriented Programming Cross-platform Programming |
| Programming Object-Oriented Programming Cross-platform Programming |
| learning outcomes |
|---|
| The student has knowledge about development and analysis of parallel applications and algorithms and about parallel systems in general. The student is able to create multi-threaded and parallelized applications. |
| The student has knowledge about development and analysis of parallel applications and algorithms and about parallel systems in general. The student is able to create multi-threaded and parallelized applications. |
| Explain the principle of background job processing. |
| Explain the principle of background job processing. |
| Describe the processes and sub-processes. |
| Describe the processes and sub-processes. |
| Describe threads and their synchronization in Qt. |
| Describe threads and their synchronization in Qt. |
| Explain the principle of parallelism and parallelization of algorithms. |
| Explain the principle of parallelism and parallelization of algorithms. |
| Describe the basics of nesting and interconnect network simulations. |
| Describe the basics of nesting and interconnect network simulations. |
| Skills |
|---|
| Apply background job processing. |
| Apply background job processing. |
| Create a multi-threaded application. |
| Create a multi-threaded application. |
| Create a parallelized application. |
| Create a parallelized application. |
| Apply parallel algorithm for parallel prefix sum. |
| Apply parallel algorithm for parallel prefix sum. |
| Apply sorting parallel algorithms. |
| Apply sorting parallel algorithms. |
| teaching methods |
|---|
| Knowledge |
|---|
| Exercises on PC |
| Demonstration |
| Demonstration |
| Exercises on PC |
| Lecturing |
| Lecturing |
| assessment methods |
|---|
| Grade (Using a grade system) |
| Grade (Using a grade system) |
|
Recommended literature
|
-
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.
|