Subject description - B4M35PAG
Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
| B4M35PAG |
Parallel algorithms |
| Roles: | PS, PO |
Extent of teaching: | 2P+2S |
| Department: | 13135 |
Language of teaching: | CS |
| Guarantors: | Šůcha P. |
Completion: | Z,ZK |
| Lecturers: | Šůcha P. |
Credits: | 6 |
| Tutors: | Kučerová A., Ševic J., Šůcha P. |
Semester: | Z |
Web page:
https://cw.fel.cvut.cz/wiki/courses/b4m35pag/start
Anotation:
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.
Course outlines:
| 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 |
Exercises outline:
| 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 |
Literature:
| [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. |
Requirements:
Basic competence in C++ and Python programming, and algorithmization.
Subject is included into these academic programs:
| Page updated 7.10.2026 17:55:01, semester: Z,L/2028-9, L/2025-6, L/2029-30, Z/2026-7, Z,L/2027-8, L/2026-7, Send comments about the content to the Administrators of the Academic Programs |
Proposal and Realization: I. Halaška (K336), J. Novák (K336) |