2026-08-13 –, Room 3
PETSc is a widely used scientific computing library that allows you to write software that runs on massively parallel supercomputers. PETSc is written in C but provides interfaces for Fortran and Python. Its Julia interface,
PETSc.jl , has been around for some time but only ported a small part of the library. Recently, this has changed and since version 0.4.0 it provides an interface to (nearly) the full PETSc library.
There are a number of advantages compared to other attempts:
It can be very easily installed by typing "add PETSc" in the Julia package manager and is distributed with both precompiled PETSc binaries
PETSc_jll(for linux and Mac) and MPI.We provide both a high-level and a low-level interface. The low-level interface automatically wraps nearly the full PETSc library with over 3000 functions, whereas the high-level interface gives a more Julia-like experience but is currently limited to part of the library.
Automatic testing and CI/CD is performed with currently >50’000 tests.
Users can combine features from Julia, the Julia ecosystem, such as automatic differentiation and plotting with PETSc solvers. The resulting codes are much more compact than their counterparts in lower-level languages; yet, users still have access to all PETSc features, such as multigrid solvers for DMDA or DMStag grids.
It allows running code on both a local workstation and on a large HPC system.
In the presentation, I will summarise some of the work done to achieve this and show scalability results of typical codes. I will also compare the timing with native compiled code.
Professor of Geodynamics and Geophysics at the Johannes Gutenberg University Mainz (Germany). Interested in using computational models to understand geoscientific processes such as the formation of fault zones, mountain belts, magmatic processes, volcanic eruptions as well as using computational models to estimate the long-term stability of geological reservoirs.