Abstract: In my presentation, I touch on three topics related to the PETSc library. First, previous work on pipelined, flexible Krylov methods, which are variants of communication-hiding linear solvers that permit nonlinear or variable preconditioning. Originally motivated by the desire to avoid reduction scaling bottlenecks, they also show unexpected promise in mitigating performance variability in highly distributed systems.
Next I will discuss ongoing work with DMStag, an object in PETSc for managing discretized PDEs on distributed staggered grids. As with other DM implementations, it allows users to conveniently work with parallel meshes and efficiently solve equations posed on the domains they represent. Crucially, they allow solvers such as multigrid to take advantage of geometric information. Examples involve approximate block factorization (“fieldsplit”) preconditioners and geometric multigrid for the variable-viscosity stationary Stokes equations.
Finally, I will present brief ideas for the future development of the library. These relate to “meeting people where they are” in terms of documentation and the potential tighter integration with emerging HPC workflows using Julia.