Parallel Algorithms and Architectures
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
01PAA | KZ | 4 | 2P+1C | Czech |
- Garant předmětu:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Mathematics
- Synopsis:
-
This course deals with the parallel data processing. It is important in situations when one processing unit (CPU) is not powerful enough to finish given task in reasonable time. When designing parallel algorithms, good knowledge of the parallel architectures is important. Therefore these architectures are studied as a part of this course too.
- Requirements:
-
Basic algorithms, programing in C/C++.
- Syllabus of lectures:
-
1. Introduction
2. Sequential architectures
3. Parallel architectures
4. Communication networks
5. Communication operations
6. Introduction to CUDA
7. OpenMP / MPI
8. Analysis of parallel algorithms
9. Sorting algorithms
10. Matrix algorithms
11. Graph algorithms, Monte-Carlo methods 12. Combinatorial search
- Syllabus of tutorials:
-
1. Programming in CUDA
2. OpenMP / MPI
3. Analysis of parallel algorithms
4. Sorting algorithms
5. Matrix algorithms
6. Graph algorithms, Monte-Carlo methods
7. Combinatorial search
- Study Objective:
-
Knowledge:
Parallel architectures, basic types of parallel architectures, communication in parallel architectures, programming standards OpenMP, MPI, CUDA/OpenCL, sorting algorithms, matrix algorithms, graph algorithms, Monte-Carlo methods, analysis of the parallel algorithms.
Skills:
The students will learn how to choose appropriate parallel architecture for given problem, how to design proper parallel algorithm, analyze it and derive its efficiency and how to implement the parallel algorithm.
- Study materials:
-
Key references:
Grama A., Karypis G., An Introduction to Parallel Computing: Design and Analysis of Algorithms
Recommended references:
CUDA Programming guide
Media and tools:
Computer lab
- Note:
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Matematické inženýrství (elective course)
- Aplikace softwarového inženýrství (elective course)
- Aplikace informatiky v přírodních vědách (compulsory course in the program)
- Matematické inženýrství (compulsory elective course)
- Matematická informatika (compulsory course in the program)
- Fyzikální elektronika - Počítačová fyzika (PS)