This course introduces the Portable and Extensible Toolkit for Scientific Computations (PETSc) as a tool for the design and implementation of high-performance, distributed-memory software for solving nonlinear equations and eigenvalue problems.
It covers topics ranging from principles of library design to advanced solver capabilities, alternating between class lectures and hands-on sessions. The exploitation of Graphics Processing Unit (GPU) computing capabilities will also be discussed.
Upon completing this course, students will be able to develop scalable, performance-portable software projects and design robust solver strategies using PETSc.