Course overview
The aim of this course is to introduce students to key concepts in parallel and distributed computing, including the challenges faced in constructing parallel and distributed applications, as well as the differences in testing, debugging and performance evaluation within this context.
- Parallel Programming
- MPI
- Interconnection Networks
- Fundamentals of parallel program design (PCAM)
- Performance
- Multithreading
- OpenMP
- Real-world Parallel Problems
- Efficiency and Speed-up
- GPU computing
- NPUs and TPUs
Course learning outcomes
- Develop and apply knowledge of parallel and distributed computing techniques and methodologies
- Apply design, development, and performance analysis of parallel and distributed applications
- Use the application of fundamental Computer Science methods and algorithms in the development of parallel applications
- Explain the design, testing, and performance analysis of a software system, and to be able to communicate that design to others