Jste zde

PETSc Basic & Advanced Tutorial (PRACE Training Course)

Čt, 10.05.2018 9:30 - Pá, 11.05.2018 16:00
Uzávěrka registrace: 
Pá, 04.05.2018 23:00
VŠB - Technical University of Ostrava, IT4Innovations building, room 207
Václav Hapla (ETH Zürich, Switzerland)


The Portable Extensible Toolkit for Scientific computing (PETSc) is a modular library for scalable numerical solution of complex problems in science and engineering. It is designed primarily for typical computations connected with PDE solution, but is already successfully used also e.g. in data science. It covers large sparse matrices, linear algebra, non-linear solvers, time integrators, optimization, discretization and more. Applications built on top of PETSc can be used on laptops as well as supercomputers with no code changes.

The course will interleave theory and practice - presentations and hands-on exercises. There will be an emphasis on coding and experimenting with command-line options. The principal purpose is that attendants build the skills necessary to employ and evaluate PETSc solvers in their everyday computational tasks.

The first day of the tutorial will focus on basic usage of PETSc for linear algebra and linear system solution. It will cover vectors, matrices and basic operations with them. Then we will deal with linear system solution using direct and iterative solvers, and preconditioners. The participants will also find out about the overall programming paradigm, useful utility functions, debugging and performance analysis.

The second day, more advanced topics will follow: nonlinear and mathematical optimization solvers, PETSc discretization capabilities for structured and unstructured grids, and SLEPc library augmenting PETSc with eigenvalue analysis capabilities.

During the registration, the participants will have the option to choose to attend just one (basic or advanced) day, or both training days.

Purpose of the course (benefits for the attendees)

Participants will gain the skills necessary to employ and evaluate PETSc solvers for complex problems in science and engineering.

About the tutor

Václav Hapla was a researcher at IT4Innovations National Supercomputing Center from 2011 to 2017. Here, he was the principal developer of the open source PERMON libraries based on top of PETSc. His research was focused on massively parallel implementation of scalable domain decomposition methods (DDM) and quadratic programming (QP) algorithms.

In 2017, he obtained a postdoc position at the Department of Earth Sciences at ETH Zürich. There, he became a member of the Seismology and Waveform Physics group. So far, he has been dealing with improving PETSc parts needed within the Salvus open source software suite for full waveform modelling and inversion.

He is the author of the PRACE video tutorials about PETSc (available on YouTube); he led full-day PETSc tutorials at the PRACE Spring School 2012, Krakow, Poland, and the PRACE Autumn School 2016, Linz, Austria; he also co-organized the PRACE Summer School 2013, Ostrava, Czech Republic (PETSc, libMesh). He was awarded the First Prize in the Joseph Fourier Prize 2014 in the field of computational science.

Preliminary agenda

Day 1
9:30 – 10:00


10:00 – 11:45

Introduction & basics
11:45 – 13:00


13:00 – 14:30

Linear algebra

14:30 – 15:00

coffee break

15:00 – 16:30

Linear solvers and preconditioners

16:30 – 17:00

coffee break

17:00 - 18:00

Utilities, debugging, profiling


Day 2
9:00 – 10:30    Mesh and discretization 
10:30 – 11:00

coffee break

11:00 – 12:00Advanced solvers 1
12:00 – 13:00lunch
13:00 – 14:30

Advanced solvers 2

14:30 – 15:00coffee break

15:00 – 16:00



Basic knowledge of the C language is needed. Fundamental knowledge of MPI is helpful.

Participants need to have their own notebook to access Anselm and/or Salomon. Training accounts will be provided during the on-spot registration.


Obligatory registration (extended) via the PRACE Events Portal.

Capacity and Fees

30 participants. The event is provided free of charge.


  • See the links below for directions to the campus of  VŠB - Technical University Ostrava, and to the IT4Innovations building.
  • Documentation for IT4Innovations' computer systems is available at https://docs.it4i.cz/.


This training is a PRACE Training course, co-funded by the Partnership of Advanced Computing in Europe (PRACE). The main web page of the course is located on the PRACE Events Portal.