Scientific Computing
on Parallel Systems
Course in
winter semester 2002/03
Computer
Science department of Technical University of Berlin
By Peter
Gottschling
- Introduction
- Computing
intensive applications
- Limits of
single-processor computers
- Performance of
modern computers
- Trends of
parallel architectures
- Characterization
of parallel run times
- Parallel computer
architectures and programming models
- Steps to write
parallel programs
- Parallel computer
architectures and corresponding programming models
- Which programming
model to choose?
- Floating point
arithmetic
- IEEE floating
point arithmetic
- Error analysis
- Exception handling
- Risks of parallel
computation
- Vector operations
and their parallelization
- Vector addition
- Dot product
- Matrix vector
product
- Parallel matrix
multiplication
- Sequential
multiplication
- Fine grained
parallelization
- Agglomeration
- Memory efficient
algorithms
- Blocked methods
- Parallel
simulations of discrete objects
- Discrete systems,
i.e. discrete objects with discrete states
- Particle systems,
i.e. discrete objects with continuous states
- Parallel solution
of partial differential equations
- PDE in physical
processes
- Grids
- Discretization
- Matrices
- Overview of
solvers for linear equations
- Sparse matrices and
their distributed storing
- Storing of
structured and unstructured matrices
- Distributed
storing
- Matrix vector
product sequential and parallel with performance analysis
- Janus: template
library for data parallel programming
- Same handling of
structured and unstructured matrices
- Parallelization
implicitly in matrix vector operations
- Sample programs
- Direct solvers for
linear equations
- Gaussian
elimination
- Equivalence with
LU factorization
- Parallel Gaussian
elimination
- Band matrices
- Direct solvers
for sparse systems
- Linear solvers for
sparse systems I
- Cyclic reduction
of tri-diagonal matrices
- Jacobi method
- Gauß-Seidel
method
- Blocked
Gauß-Seidel method
- Linear solvers for
sparse systems II
- Over-relaxation
- CG method
- Preconditioning:
Jacobi, SSOR, red-black method
- Multigrid methods
(based on a tutorial from Klaus Stüben)
- Why multigrid?
- Basic principles
- Full multigrid
- Local refinements
- Grid computing
(held by Uwe Der)
- Basic concepts
- Globus toolkit
- Virtual
organizations
- Sample
application Eramas
- Programming
within the grid