ADSeismic: An Open Source High Performance Package for General Seismic Inversion Problems

DocumentationBuild Status
Build Status

ADSeismic is suitable for general inversion problems in seismic imaging. The packages implements the forward simulation of acoustic and elastic wave fields and allows inversion of physical properties such as media densities, Lamé parameters, shear modulus, etc., by means of automatic differentiation. Several features of this package is

  • Battery included: unified approach to various seismic inversion problems such as full waveform inversion (FWI), rupture inversion and source-time inversion.
  • High performance: computational graph optimization and parallel computing.
  • (Multi-)GPU support: support for GPU acceleration as well as multi-GPU (in theory TPUs are also supported).
  • Easy-to-use: no adjoint state method codes required for building your own inversion models; automatic differentiation is the workhorce.

Installation

ADSeismic.jl requires proper installation of ADCME.jl.

using Pkg
Pkg.add("ADCME")

This might take up to 20 minutes for complete installation.

Then install this package (ADSeismic.jl) by

using Pkg
Pkg.add("ADSeismic")

To enable GPU support, make sure nvcc is available on your machine, and then

using ADCME
enable_gpu()