Videos from JuliaCon are now available online
2018
Previous editions: 2017 | 2016 | 2015 | 2014
Patrick Belliveau



Large Scale Airborne Electromagnetic Geophysics in Julia

This talk will discuss how we’ve used Julia at scale, both on private clusters and the cloud, to solve industrial problems in Airborne electromagnetic (AEM) geophysical surveying. AEM surveying is a geophysical technique that uses electromagnetic induction to map the structure of the earth’s subsurface. Think of a giant metal detector attached to a helicopter flying low over the earth’s surface. The technique is used in mineral, oil and gas, and groundwater exploration as well as in environmental monitoring. Transforming the raw data collected by these surveys into 3D models of subsurface physical properties that can be used by geologists and other domain scientists is a computationally challenging problem—known as geophysical inversion. It is normally posed as a problem in partial differential equation (PDE) constrained optimization. Solving such problems requires repeatedly solving partial differential equations numerically as part of an iterative optimization process. Our research group at the University of British Columbia has developed a modular framework for solving PDE-constrained optimization problems, particularly those arising in applied geophysics. This framework, called [jInv] (https://github.com/JuliaInv/jInv.jl) was presented at JuliaCon 2017—find the video here. Inversion of large-scale AEM survey data is a key application of the jInv framework. Cutting edge approaches to the problem involve dividing the PDE based survey simulation component of the problem into many quasi-independent subproblems. Julia is a great environment to exploit the parallelism inherent in this approach. We use a combination of Julia’s built in distributed memory parallelism, nested with shared memory parallel linear algebra libraries to take advantage of modern cluster architecture. In this talk we will describe how we’ve structured our code to use Julia’s distributed memory parallelism and will also emphasize how developing in Julia has allowed us to add new features to our inversion codes quickly while retaining the ability to deploy them on large-scale real world problems in mineral exploration. The work described here was conducted at the University of British Columbia and at Computational Geosciences Inc.

Speaker's bio