Day 1
Jed Brown, ETH Zurich
1. Introduction to the PETSc Parallel Programming Model
collective semantics
runtime control using the options database
installation and plugins
2. (Jacobian-free) Newton-Krylov Methods in PETSc
algorithmic framework
what code needs to be written?
composability
- multilevel/domain decomposition
- field-split relaxation/factorization
- checking for correctness
- debugging tools
Day 2
Jed Brown, ETH Zurich:
1. PETSc Performance and Scalability
- bottlenecks of implicit solvers
- cache effects and sparse matrix kernels
- communication
profiling tools
granularity
handling coarse levels
robustness tradeoffs
indefinite and stiff-wave systems
anisotropy and heterogeneity
preconditioning Schur complements
custom smoothers
custom coarse levels
implementing as a plugin for maximum composability
Dr. William Sawyer, CSCS:
3. Overview of Public-Domain Parallel Libraries
Dense linear algebra libraries
Sparse direct solvers
Sparse iterative solvers
Sparse eigenvalue/vector solvers
Partitioning methods
Optimization methods
4. The Trilinos Object-Oriented Parallel Framework
Distributed matrices and vectors
Iterative solvers
Incomplete factorizations / preconditioners
Non-linear system solverse. Partitioning and load balance
5. Application Case Studies using a Selection of Common Libraries (tar zipped file)
Dense linear algebra
Sparse eigensolvers
Sparse matrix and vector manipulation