General description
This lesson covers the fundamental concepts of parallel programming.
- We begin with an overview of parallel computation and a review of key concepts related to it.
- Next, we introduce parallel memory architectures and the various programming techniques associated with them.
- The final part of this lesson demonstrates how to parallelize several well-known types of sequential programs.
Intended Learning Outcomes (ILO): By the end of the course, students should be able to:
- Understand the basic concepts of parallel programming.
- Grasp parallel memory architectures and the associated programming techniques.
- Know how to parallelize several well-known types of sequential programs.
- Apply various parallel programming techniques.
- Design parallel programs and work through examples.
- Understand the quantitative foundations of parallel programming.
- Use parallel programming tools, such as PVM, MPI, and others.