**CIS5930-02 High performance computing for scientific applications**

**Finals -- review**

Important topics for the finals are given below.
## MPI

(Around 40 % of the grades)
- init/finalize/rank/size
- send/recv/isend/irecv/waitall/wait
- Communicators: duplicate, split
- Topologies: Cartesian topologies and their use
- Derived data types: vectors, structures

## Linear algebra

(Around 30 % of the grades)
- Matrix distributions
- Striped
- Checkerboard
- Block
- Cyclic

- Matrix vector multiplication
- Matrix multiplication
- Caching: Effect of loop order, cache-aware, cache-oblivious

## Domain decomposition

(Around 15 % of the grades)
- Model: graph partitioning, edge-cut metric and its drawbacks, recursive bisection
- Geometric methods
- CND
- Inertial
- Space-filling curves

- Combinatorial
- LND.
- Kernighan-Lin/Fiduccia-Matheyses

- Spectral
- Laplacian
- Fiedler vector
- Partitioning based on the Fiedler vector

- Multilevel methods
- Three phases: coarsening,initial partitioning, multilevel refinement

## Monte Carlo

(Around 15 % of the grades)
- Monte Carlo integration
- Traditional parallelization through replication
- Quasi Monte Carlo, and difference in error rate between MC and QMC
- Random number generation: Seed, cycle, period
- Parallel random number generation
- Cycle division: Leapfrog, sequence splitting
- Parameterization: cycle (or seed) parameterization, iteration function parameterization

Last modified: 28 Apr 2003