ADSeismic: An Open Source High Performance Package for General Seismic Inversion
ADSeismic is suitable for general inversion problems in seismic imaging. The packages implements the forward simulation of acoustic and elastic wavefields and allows flexible inversions of parameters in the wave equations using automatic differentiation. Several features of this package includes:
- Battery included: unified approach to various seismic inversion problems such as full waveform inversion (FWI), earthquake location inversion and source rupture 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 work horse.
See our paper A General Approach to Seismic Inversion with Automatic Differentiation for more details.
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 use_gpu()
Use has_gpu() to check GPUs exist.