Slides from theoretic class:
- Course information.
- Introduction to parallel programming and architectures.
- Shared-memory architecture.
- Distributed-memory systems.
- Programming shared-memory systems.
- OpenMP - synchronization and load balancing.
- Performance analysis and debugging of parallel programs.
- Monitors and Transactional Memory.
- Foster's methodology.
- Introduction to MPI.
- The Sieve of Eratosthenes.
- All-Pairs Shortest Paths.
- Metrics for parallel performance.
- Matrix-vector multiplication.
- Load balancing; Termination detection.
- Hybrid OpenMP and MPI programming.
- Iterative Methods; Finite Difference Methods.
- Direct Solution of Linear Systems.
- Algorithms on Graphs.
- Parallel Sort.
- Combinatorial Search; Monte Carlo Methods.
- ccNUMA; Map-Reduce.
- GPGPU Programming.
- Exascale Computing.
I would like to acknowledge the contribution to many of these slides made by Prof. Luís Guerra e Silva.