Topic outline

  • 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.