Modelling the earth's geomagnetic environment on Cray machines using PETSc and SLEPc

10/01/2020
by   Nick Brown, et al.
0

The British Geological Survey's global geomagnetic model, Model of the Earth's Magnetic Environment (MEME), is an important tool for calculating the earth's magnetic field, which is continually in flux. Whilst the ability to collect data from ground based observation sites and satellites has grown, the memory bound nature of the code has proved a limitation in modelling problem sizes required by modern science. In this paper we describe work replacing the bespoke, sequential, eigen-solver with that of the SLEPc package for solving the system of normal equations. This work had a dual purpose, to break through the memory limit of the code, and thus support the modelling of much larger systems, by supporting execution on distributed machines, and to improve performance. But when adopting SLEPc it was not just the solving of the normal equations, but also fundamentally how we build and distribute the data structures. We describe an approach for building symmetric matrices in a way that provides good load balance and avoids the need for close co-ordination between processes or replication of work. We also study the memory bound nature of the code and combine detailed profiling with software cache prefetching to significantly optimise. Performance and scaling are explored on ARCHER, a Cray XC30, where we achieve a speed up for the solver of 294 times by replacing the model's bespoke approach with SLEPc. This work also provided the ability to model much larger system sizes, up to 100,000 model coefficients. Some of the challenges of modelling systems of this large scale are explored, and mitigations including hybrid MPI+OpenMP along with the use of iterative solvers are also considered. The result of this work is a modern MEME model that is not only capable of simulating problem sizes demanded by state of the art geomagnetism but also acts as further evidence to the utility of the SLEPc libary.

READ FULL TEXT
research
12/22/2022

The Gaia AVU-GSR parallel solver: preliminary studies of a LSQR-based application in perspective of exascale systems

The Gaia Astrometric Verification Unit-Global Sphere Reconstruction (AVU...
research
07/23/2020

Signal Enhancement for Magnetic Navigation Challenge Problem

Harnessing the magnetic field of the earth for navigation has shown prom...
research
09/26/2020

A highly scalable approach to solving linear systems using two-stage multisplitting

Iterative methods for solving large sparse systems of linear equations a...
research
07/19/2021

A Robust Algebraic Domain Decomposition Preconditioner for Sparse Normal Equations

Solving the normal equations corresponding to large sparse linear least-...
research
01/31/2020

Formal Approach for the Verification of Onboard Autonomous Functions in Observation Satellites

We propose a new approach for modelling the functional behaviour of an E...
research
04/07/2022

Massively scalable stencil algorithm

Stencil computations lie at the heart of many scientific and industrial ...
research
12/15/2017

Improved Ahead-of-Time Compilation of Stack-Based JVM Bytecode on Resource-Constrained Devices

Many virtual machines exist for sensor nodes with only a few KB RAM and ...

Please sign up or login with your details

Forgot password? Click here to reset