The Portable Extensible Toolkit for Scientific computing (PETSc) is a modular library for linear algebra, non-linear solvers, time integrators, optimization, and spatial discretization. Applications built on top of PETSc can be used on a laptop as well as supercomputer with no code changes.
The tutorial will start with the fundamental linear algebra components then proceed to principles of preconditioning and Krylov solvers, convergence diagnostics, performance analysis, and the higher level solver interfaces. SLEPc library which extends PETSc with eigenvalue analysis will also be briefly introduced. The course will contain hands-on exercises to build the skills necessary to employ and evaluate solvers for complex problems in science and engineering, available in PETSc. Stress will be given not only on coding but also experimenting with command-line options.
Purpose of the course (benefits for the attendees)
The purpose of this course is to lower the initial threshold which could discourage users from taking advantage of PETSc within their scientific computing efforts. On completion participants should be able to write, run and experiment with (often without coding and recompilations) their own PETSc programs calling functions for sparse linear algebra; linear, nonlinear and mathematical optimization solvers; eigenvalue analysis with SLEPc; utility routines. The participants will also know where to find further information.
About the tutor(s)
Václav Hapla has been a researcher at IT4Innovations National Supercomputing Center since 2011. Here, he is the main developer of the open source PERMON libraries based on top of PETSc. His research is focused on massively parallel implementation of scalable domain decomposition methods (DDM) and quadratic programming (QP) algorithms. He is the author of the PRACE video tutorials about PETSc (available on YouTube); has lead the full-day PETSc tutorials at PRACE Spring School 2012, Cracow, Poland, and PRACE Autumn School 2016, Linz, Austria; co-organized PRACE Summer School 2013, Ostrava, Czech Republic (PETSc, libMesh). He was awarded First Prize in Joseph Fourier Prize 2014 in the field of computational science.