Outline


1. Indroduction

  1. Serial vs Parallel
  2. The Need for Faster Machines
  3. Parallel Programming
  4. Processor Communication and Memory architectures

2. Processor Communication and Memory architectures

  1. Shared Memory
  2. Distributed Memory
  3. Memory Hierarchies

3. Parallel Programming Paradigms

  1. Message Passing
  2. Data Parallel
  3. Implementations

4. Steps for Creating a Parallel Program

  1. Definitions
  2. Decomposing the Program
  3. Communication

5. Design and Performance Considerations

  1. Single processor tuning
  2. Load Balancing
  3. Data Dependency
  4. Deadlock
  5. Debugging
  6. Performance Monitoring and Analysis
  7. Others

6. Example

  1. Example of a Parallel Code
  2. Compiling and Running a Parallel Code on the SGI Origin
  3. Compiling and Running a Parallel Code on the IBM SP
  4. Hands on Workshop

7. References, Acknowledgements