Overview
1. Introduction
- Moore’s law
- Memory speed
- Parallelization is necessary
2. Modern Processors
-
Stored program compute architecture
-
Microarchitecture
- Pipelining
- Superscalarity
- SIMD
-
Hierarchies
- Caches
- Prefetching
- Cache mapping
- Cache coherence
3. Basic optimization
- Motivation
- Monitoring
- Evolution of Performance Aspects
- Common sense optimizations
4. Data access optimization
- Characterizing Performance
- Balance analysis
- Algorithm classification and access optimization
- Sparse matrices
5. Parallel computers
- Flynns taxonomy
- Amdahl
- Gustavson
- Multithreaded multicore processors
- Shared memory and distributed memory
- Network performance characteristics
-
Network topologies
- Graph theory
- Bus
- Ring
- Tree
- Mesh
- Torus
- hypercube
- TOP 500