Bereichsnavigation

A "Hands-On" Introduction to PETSc (with an Overview of Other Public-Domain Parallel Mathematical Libraries)

Day 1

Jed Brown, ETH Zurich:

1. Introduction to the PETSc Parallel Programming Model

a. collective semantics

b. runtime control using the options database

c. installation and plugins

2. (Jacobian-free) Newton-Krylov Methods in PETSc

a. algorithmic framework

b. what code needs to be written?

c. composability

  1. multilevel/domain decomposition
  2. field-split relaxation/factorization
  3. checking for correctness
  4. debugging tools

 

Day 2

Jed Brown, ETH Zurich:

1. PETSc Performance and Scalability

a. bottlenecks of implicit solvers

  1. cache effects and sparse matrix kernels
  2. communication

b. profiling tools

c. granularity

d. handling coarse levels

e. robustness tradeoffs

2. Hard Problems

a. indefinite and stiff-wave systems

b. anisotropy and heterogeneity

c. preconditioning Schur complements

d. custom smoothers

e. custom coarse levels

f. implementing as a plugin for maximum composability

 

Dr. William Sawyer, CSCS:

3. Overview of Public-Domain Parallel Libraries

a.Dense linear algebra libraries

b. Sparse direct solvers

c. Sparse iterative solvers

d. Sparse eigenvalue/vector solvers

e. Partitioning methods

f. Optimization methods

4. The Trilinos Object-Oriented Parallel Framework

a. Distributed matrices and vectors

b. Iterative solvers

c. Incomplete factorizations / preconditioners

d. Non-linear system solverse. Partitioning and load balance

5. Application Case Studies using a Selection of Common Libraries (tar zipped file)

a. Dense linear algebra

b. Sparse eigensolvers

c. Sparse matrix and vector manipulation