I touch on three topics related to the PETSc library:
First, previous work on pipelined, flexible Krylov methods. These are variants of communication-hiding linear solvers which permit nonlinear or variable preconditioning. Originally motivated to avoid reduction scaling bottlenecks, they also show unexpected promise in mitigating performance variability in highly-distributed systems.
Second, 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.
Lastly, 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.
Please use this link to attend the virtual seminar: