Event Detail


Sorry, the registration period for this event is over.

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



Swiss National Supercomputing Centre (CSCS), Switzerland


10th – 11th May, 2010.


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


This course provides students with a comprehensive introduction to the highly-parallel, highly-scalable PETSc mathematical library which is ideally suited to the development of scientific applications modeled by partial differential equations. The course is further complemented by an overview of other public-domain parallel mathematical libraries routinely used within the HPC community.




Jed Brown (ETHZ and Official PETSc Developer), Will Sawyer (CSCS)


For further details contact Tim Stitt (CSCS) stitt.at.cscs.ch

Ladina Gilly

Andrea Pinna

Registration fee There is no registration fee for this course.
Technical requirements

All participants must bring their own laptop to work on. Required software must be pre-intalled before the start of the course.

Microsoft Windows: X Window Server available from Sourceforge website.

Linux: Ensure you have an SSH distribution installed and have access to secure shell, secure copy and ftp commands

Mac OS X: You will find the "X11" application under Applications/Utilities/X11

ssh should be available by default.

Other requirements Previous programming experience is required.
Accommodation  Each participant is individually responsible for organising their accommodation. You may find useful information on the Lugano Tourism website. Please make sure you book well ahead of time as this is the main tourist season for Lugano.


Places are limited so please register early to confirm your place….

Detailed Programme

Day 1 -
13:00 -14:00
1.Local Registration
Day 1 -
14:00 - 18:00

2.Introduction to the PETSc Parallel Programming Model

a. collective semantics

b. runtime control using the options database

c. installation and plugins

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

a. algorithmic framework

b. what code needs to be written?

c. composability

i. multilevel/domain decomposition

ii. field-split relaxation/factorization

iii. checking for correctness

iv. debugging tools

Day 2 -
9:00 - 12:30

1. PETSc Performance and Scalability

a. bottlenecks of implicit solvers

i. cache effects and sparse matrix kernels

ii. 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

Day 2 -
14:00 - 18:00

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 solvers

e. Partitioning and load balance

5. Application Case Studies using a Selection of Common Libraries

a. Dense linear algebra

b. Sparse eigensolvers

c. Sparse matrix and vector manipulation

Back to listing