2024-07-12 –, Function (4.1)
The rapidly increasing amount of data in the geosciences requires new tools and workflows to processing them, along with software to modelling the physics of the governing processes. Julia offers a great basis for this by combining the benefits of a high-level language, such as ease of use and interactivity, with the features of a low-level language, including speed, efficiency, scalability, and native GPU support.
Here, we will present recent efforts to accelerate geocomputing using Julia at scale. These efforts are supported by the PASC-funded GPU4GEO project, in collaboration with the Swiss National Supercomputing Centre CSCS.
Rather then creating a single monolithic code, we developed a modular approach creating packages, such as GeophysicalModelGenerator.jl which can be used to create initial model configuration from a range of datasets, GeoParams.jl which includes expressions for material parameters and constitutive relationships and JustPIC.jl, which provides a particle-in-cell advection framework on (multi-) GPUs. The advantage is a composable framework where, for example, new material parameters only have to be added in a single location and can immediately be employed in a range of codes. This greatly lowers the barrier of new users to contribute to the open source packages, compared to much larger monolithic code bases. Application codes that use part of this functionality are MagmaThermoKinematics.jl, which simulate the thermal evolution of magmatic systems, JustRelax.jl which provides a number of examples of geodynamic applications such as mantle convection or subduction of tectonics plates, and FastIce.jl which is a 3D ice flow code.
We will showcase how these HPC building blocks enables geoscientists to write high-performance stencil codes that can scale from their laptops to the largest GPU-accelerated supercomputers. We will also demonstrate preliminary results on using automatic differentiation to perform inverse modelling and discuss how these recent developments, along with future ones, will accelerate geocomputing and enable the education of the next generation of geoscientists.
Geo-HPC, Julia GPU & Supercomputing.
Professor of Geodynamics and Geophysics at the Johannes-Gutenberg University of 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.