Parallel algorithms
| Code | Completion | Credits (ECTS) | Range | Language |
|---|---|---|---|---|
| B4M35PAG | Z,ZK | 6 | 2P+2S | Czech |
- Course guarantor:
- Přemysl Šůcha
- Lecturer:
- Přemysl Šůcha
- Tutor:
- Anna Kučerová, Jan Ševic, Přemysl Šůcha
- Supervisor:
- Department of Control Engineering
- Synopsis:
-
In the introductory lectures, we will focus on general approaches to design of parallel algorithms and their properties important for understanding the fundamental principles of parallel and distributed algorithms. Subsequently we will talk about fundamental parallel algorithms; typically, constituting cornerstones of algorithms for real-world problems. The laboratory exercise will be aimed at hardware platform commonly used in practice.
- Requirements:
-
Basic competence in C++ and Python programming, and algorithmization.
- Syllabus of lectures:
-
1. Introduction to Parallel Computing
2. Principles of Parallel Algorithm Design
3. Basic Communication Operations
4. Analytical Modeling of Parallel Algorithms
5. Matrix Algorithms
6. Algorithms for Linear Algebra
7. Sorting, TEST
8. Parallel Accelerators
9. Combinatorial Algorithms
10. Graph Algorithms I
11. Graph Algorithms II
12. Dynamic Programming
13. Fast Fourier Transform
- Syllabus of tutorials:
-
1. Introduction
2. OpenMP
3. MPI
4. Theoretical seminar 1
5. Presentation of semester project topic
6. Theoretical seminar 2 (TEST preparation)
7. Python Numba part 1
8. Python Numba part 2
9. Presentation of proposed semester project solution
10. Theoretical seminar 3
11. Theoretical seminar 4
12. Consultations
13. Final semester project presentation
- Study Objective:
- Study materials:
-
[1] Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar: Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003.
[2] Georg Hager, Gerhard Wellein: Introduction to High Performance Computing for Scientists and Engineers, CRC Press, 2011.
[3] James Reinders, Jim Jeffers: Intel Xeon Phi Coprocessor High-Performance Programming, Newnes, 2013.
- Note:
- Further information:
- https://cw.fel.cvut.cz/wiki/courses/b4m35pag/start
- Time-table for winter semester 2026/2027:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Wed Thu Fri - Time-table for summer semester 2026/2027:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Open Informatics - Computer Engineering 2018 (compulsory course of the specialization)
- Open Informatics - Software Engineering 2018 (compulsory course of the specialization)
- Open Informatics - Computer Engineering 2026 (PS)
- Open Informatics - Software Engineering 2026 (PS)