Course: Parallel Processes and Programming

« Back
Course title Parallel Processes and Programming
Course code AUIUI/AE8PP
Organizational form of instruction Lecture + Lesson
Level of course Master
Year of study not specified
Semester Summer
Number of ECTS credits 4
Language of instruction Czech, English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Mirshahi Sina, MSc.
  • Janků Peter, Ing. Ph.D.
  • Bližňák Michal, 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
Lecturing
Demonstration
Lecturing
Demonstration
Exercises on PC
Exercises on PC
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.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester