Backend-agnostic Julia framework for 3D modeling and inversion of gravity data
This paper presents a high-performance framework for three-dimensional gravity modeling and inversion implemented in Julia, addressing key computational challenges associated with gravity inversion, including large scale problem, ill-posedness, and non-uniqueness. The framework employs a data-space inversion formulation that reduces the dimensionality of the inverse problem, resulting in lower memory requirements and improved computational efficiency. Forward modeling and inversion operators are implemented using a backend-agnostic kernel abstraction, allowing the same computational code to run on multicore CPUs and GPU accelerators. Performance evaluations using NVIDIA CUDA GPUs show significant reductions in computational time relative to CPU execution, particularly for large-scale problems involving up to approximately 3.3 million rectangular prisms and 178,797 gravity observations. The inversion incorporates implicit model constraints through the data-space formulation and depth-weighted sensitivity, which reduces the effect of depth-dependent amplitude decay and promotes geologically coherent density models. Synthetic experiments demonstrate the capability of the framework to recover complex subsurface structures, including vertical and dipping dykes. Application to field gravity data further demonstrates the practical applicability of the proposed approach, with the recovered density distributions showing good agreement with independent geological constraints and previous interpretations. The results demonstrate that GPU-accelerated Julia provides an efficient and extensible platform for large-scale three-dimensional gravity modeling and inversion, enabling high-resolution geophysical investigations with reduced computational and memory requirements.