ARSC Training

PETSc Training and Workshop

Where and When

  • date: August 3-5, 2010
  • time: 9:00-12:00 and 1:30-5:00
  • location: WRRB 009


ARSC is pleased to offer a three day training workshop on the use of the Portable, Extensible Toolkit for Scientific Computation (petsc) during the first week of august.

Registration is not required: this event is open to all interested members of the campus community.

The training will be offered as two half days of lecture (mornings) with hands-on and/or Q&A sessions in the afternoon. In addition, a special topic will be presented the last day of the training (August 5th). The special topic will be chosen by the attendees of the first day of the workshop based upon common interests.

About PETSc:

PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the MPI standard for parallelism.

PETSc is intended for use in large-scale application projects, many ongoing computational science projects are built around the PETSc libraries. PETSc is easy to use for beginners. Moreover, its careful design allows advanced users to have detailed control over the solution process. PETSc includes a large suite of parallel linear and nonlinear equation solvers that are easily used in application codes written in C, C++, Fortran and now Python. PETSc provides many of the mechanisms needed within parallel application codes, such as simple parallel matrix and vector assembly routines that allow the overlap of communication and computation. In addition, PETSc includes support for parallel distributed arrays useful for finite difference methods.

Tuesday August 3rd

  • PETSc's parallel programming model
    • collective semantics
    • runtime control using the options database
    • installation and plugins
  • (Jacobian-free) Newton-Krylov methods
    • algorithmic framework
    • what code needs to be written?
    • composability
      • multilevel/domain decomposition
      • field-split relaxation/factorization
    • checking for correctness
    • debugging tools

Wednesday August 4th

  • Performance and Scalability
    • bottlenecks of implicit solvers
      • cache effects and sparse matrix kernels
      • communication
    • profiling tools
    • granularity
    • handling coarse levels
    • robustness tradeoffs
  • Hard Problems
    • indefinite and stiff-wave systems
    • anisotropy and heterogeneity
    • preconditioning Schur complements
    • custom smoothers
    • custom coarse levels
    • implementing as a plugin for maximum composability

Thursday August 5th

  • Special Topic (TBD)


Jed Brown

Jed Brown is a PhD student at ETH Zulrich, working on solvers for ice sheet dynamics. His research interests are in scalable solvers for unstructured high-order discretizations of indefinite and multirate problems. He has been a PETSc user for 7 years and a developer for 2, with contributions including new time integrators, performance/scalability enhancements, and improved support for preconditioning of indefinite systems.


Registration is not required: this event is open to all interested members of the campus community.
Back to Top