Subject description - BE4M35PAG
Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
BE4M35PAG | Parallel algorithms | ||
---|---|---|---|
Roles: | PO | Extent of teaching: | 2P+2S |
Department: | 13135 | Language of teaching: | EN |
Guarantors: | Šůcha P. | Completion: | Z,ZK |
Lecturers: | Šůcha P. | Credits: | 6 |
Tutors: | Antonov N., Bouška M., Módos I., Šůcha P. | Semester: | Z |
Web page:
https://cw.fel.cvut.cz/wiki/courses/b4m35pag/startAnotation:
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 Algorithms 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. | Graph Algorithms I. | |
10. | Graph Algorithms II. | |
11. | Combinatorial Algorithms | |
12. | Dynamic Programming | |
13. | Fast Fourier Transform |
Exercises outline:
1. | Introduction to parallel programming, environment setting | |
2. | Introduction to Cpp11 threads | |
3. | Advanced constructs in Cpp11 | |
4. | Assignment of the semestral work + homework 1 | |
5. | OpenMP - basic constructs | |
6. | OpenMP - vectorization, parallel sort | |
7. | Homework 2, deadline for homework 1 | |
8. | Semestral work - consultation | |
9. | OpenMPI - distributed algorithms | |
10. | Homework 3, deadline for homework 2 | |
11. | Semestral work - consultation | |
12. | Presentations of semestral works | |
13. | deadline for homework 3, student assessment |
Literature:
1. | Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar: Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003. | |
2. | Kayhan Erciyes: Distributed Graph Algorithms for Computer Networks, Springer, 2013. | |
3. | Georg Hager, Gerhard Wellein: Introduction to High Performance Computing for Scientists and Engineers, CRC Press, 2011. |
Requirements:
Basic competence in C++ programming and algorithmization. Subject is included into these academic programs:Program | Branch | Role | Recommended semester |
MEOI6_2018 | Software Engineering | PO | 3 |
MEOI4_2018 | Computer Engineering | PO | 1 |
Page updated 22.12.2024 05:51:01, semester: Z,L/2024-5, Z/2025-6, Send comments about the content to the Administrators of the Academic Programs | Proposal and Realization: I. Halaška (K336), J. Novák (K336) |