@unpublished {orozco2023invnet,
	title = {InvertibleNetworks.jl: A Julia package for scalable normalizing flows},
	year = {2023},
	month = {12},
	abstract = {InvertibleNetworks.jl is a Julia package designed for the scalable implementation of normalizing flows, a method for density estimation and sampling in high-dimensional distributions. This package excels in memory efficiency by leveraging the inherent invertibility of normalizing flows, which significantly reduces memory requirements during backpropagation compared to existing normalizing flow packages that rely on automatic differentiation frameworks. InvertibleNetworks.jl has been adapted for diverse applications, including seismic imaging, medical imaging, and CO2 monitoring, demonstrating its effectiveness in learning high-dimensional distributions.},
	keywords = {Bayesian inference, computing, conditional normalizing flows, deep learning, HPC, Inverse problems, memory, Normalizing flows, software, Uncertainty quantification},
	doi = {10.48550/arXiv.2312.13480},
	author = {Rafael Orozco and Philipp A. Witte and Mathias Louboutin and Ali Siahkoohi and Gabrio Rizzuti and Bas Peters and Felix J. Herrmann}
}
@article {louboutin2023lmi,
	title = {Learned multiphysics inversion with differentiable programming and machine learning},
	journal = {The Leading Edge},
	volume = {42},
	year = {2023},
	note = {(The Leading Edge)},
	month = {07},
	pages = {452-516},
	abstract = {We present the Seismic Laboratory for Imaging and Modeling/Monitoring (SLIM) open-source software framework for computational geophysics and, more generally, inverse problems involving the wave-equation (e.g., seismic and medical ultrasound), regularization with learned priors, and learned neural surrogates for multiphase flow simulations. By integrating multiple layers of abstraction, our software is designed to be both readable and scalable. This allows researchers to easily formulate their problems in an abstract fashion while exploiting the latest developments in high-performance computing. We illustrate and demonstrate our design principles and their benefits by means of building a scalable prototype for permeability inversion from time-lapse crosswell seismic data, which aside from coupling of wave physics and multiphase flow, involves machine learning.},
	keywords = {CCS, deep learning, Fourier neural operators, GCS, Imaging, inversion, invertible networks, machine learning, monitoring, multiphysics, Normalizing flows, SLIM, software, time-lapse},
	url = {https://library.seg.org/doi/10.1190/tle42070474.1},
	presentation = {https://slim.gatech.edu/Publications/Public/Journals/TheLeadingEdge/2023/louboutin2023lmi/le_software.pdf},
	url2 = {https://slim.gatech.edu/Publications/Public/Journals/TheLeadingEdge/2023/louboutin2023lmi/le_software.html},
	author = {Mathias Louboutin and Ziyi Yin and Rafael Orozco and Thomas J. Grady II and Ali Siahkoohi and Gabrio Rizzuti and Philipp A. Witte and Olav M{\o}yner and Gerard J. Gorman and Felix J. Herrmann}
}
@conference {louboutin2022RHPCafa,
	title = {Abstractions for at-scale seismic inversion},
	booktitle = {Rice Oil and Gas High Performance Computing Conference 2022},
	year = {2022},
	note = {Rice Oil and Gas High Performance Computing Conference 2022},
	month = {03},
	pages = {Thursday Workshop: Devito Training and Hackathon},
	abstract = {We present the SLIM open-source software framework for computational geophysics, and more generally, inverse problems based on the wave-equation (e.g., medical ultrasound). We developed a software environment aimed at scalable research and development by designing multiple layers of abstractions. This environment allows the researchers to easily formulate their problem in an abstract fashion, while still being able to exploit the latest developments in high-performance computing. We illustrate and demonstrate the benefits of our software design on many geophysical applications, including seismic inversion and physics-informed machine learning for geophysics (e.g., loop unrolled imaging, uncertainty quantification), all while facilitating the integration of external software.},
	keywords = {CCS, devito, FWI, HPC, inversion, JUDI, machine learning, RHPC, software, Uncertainty quantification},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/RHPC/2022/louboutin2022RHPCafa/RiceHPC22.pdf},
	url2 = {https://youtu.be/scRTbP8w6Wk?t=4542},
	author = {Mathias Louboutin and Ali Siahkoohi and Ziyi Yin and Rafael Orozco and Thomas J. Grady II and Yijun Zhang and Philipp A. Witte and Gabrio Rizzuti and Felix J. Herrmann}
}
@conference {louboutin2022SEGais,
	title = {Accelerating innovation with software abstractions for scalable computational geophysics},
	booktitle = {International Meeting for Applied Geoscience and Energy Expanded Abstracts},
	year = {2022},
	note = {(IMAGE, Houston)},
	month = {05},
	abstract = {We present the SLIM open-source software framework for computational geophysics, and more generally, inverse problems based on the wave-equation (e.g., medical ultrasound). We developed a software environment aimed at scalable research and development by designing multiple layers of abstractions. This environment allows the researchers to easily formulate their problem in an abstract fashion, while still being able to exploit the latest developments in high-performance computing. We illustrate and demonstrate the benefits of our software design on many geophysical applications, including seismic inversion and physics-informed machine learning for geophysics(e.g., loop unrolled imaging, uncertainty quantification), all while facilitating the integration of external software.},
	keywords = {CCS, devito, FWI, HPC, inversion, JUDI, machine learning, SEG, software, Uncertainty quantification},
	doi = {10.1190/image2022-3750561.1},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/SEG/2022/louboutin2022SEGais/louboutin_seg22.html},
	presentation = {https://slim.gatech.edu/Publications/Public/Conferences/SEG/2022/louboutin2022SEGais/index.html},
	author = {Mathias Louboutin and Philipp A. Witte and Ali Siahkoohi and Gabrio Rizzuti and Ziyi Yin and Rafael Orozco and Felix J. Herrmann}
}
@presentation {yin2022TRANSFORMjulia,
	title = {Julia for Geoscience},
	year = {2022},
	month = {04},
	abstract = {In this tutorial, we will introduce the Julia programming language to the geoscience community, covering topics such as I/O, data processing, inversion, and machine learning. We will begin by installing Julia and relevant packages. Through a series of tutorials, we will demonstrate Julia{\textquoteright}s abstraction power and show how to load and plot data, write your own functions/operators, form and solve a geophysical inverse problem, and demonstrate how to integrate wave-equation solvers in Julia with machine learning frameworks. The intent of this presentation is to provide an introductory level tutorial that will be useful to members of the geoscience community.},
	keywords = {JOLI, JUDI, Julia, machine learning, SLIM, software, TRANSFORM},
	url = {https://transform.softwareunderground.org/2022-julia-for-geoscience},
	url2 = {https://www.youtube.com/watch?v=HyWfp3NzIbg},
	software = {https://github.com/slimgroup/SLIMTutorials},
	author = {Ziyi Yin and Mathias Louboutin and Philipp A. Witte and Ali Siahkoohi and Gabrio Rizzuti and Rafael Orozco and Henryk Modzelewski and Felix J. Herrmann}
}
@mastersthesis {witte2020THsal,
	title = {Software and algorithms for large-scale seismic inverse problems},
	year = {2020},
	note = {(PhD)},
	month = {02},
	school = {Georgia Institute of Technology},
	type = {phd},
	address = {Atlanta},
	abstract = {Seismic imaging and parameter estimation are an import class of inverse problems with practical relevance in resource exploration, carbon control and monitoring systems for geohazards. The goal of seismic inverse problems is to image subsurface geological structures and estimate physical rock properties such as wave speed or density. Mathematically, this can be achieved by solving an optimization problem in which we minimize the mismatch between numerically modeled data and observed data from a seismic survey. As wave propagation through a medium is described by wave equations, seismic inverse problems involve solving a large number of partial differential equations (PDEs) during numerical optimization using finite difference modeling, making them computationally expensive. Additionally, seismic inverse problems are typically ill-posed, non-convex or ill-conditioned, thus making them challenging from a mathematical standpoint as well. Similar to the field of deep learning, this calls for software that is not only optimized for performance, but also enables geophysical domain specialists to experiment with algorithms in high-level programming languages and using different computing environments, such as high-performance computing (HPC) clusters or the cloud. Furthermore, they call for the adaption of dimensionality reduction techniques and stochastic algorithms to address computational cost from the algorithmic side. This thesis makes three distinct contributions to address computational challenges encountered in seismic inverse problems and to facilitate algorithmic development in this field. Part one introduces a large-scale framework for seismic modeling and inversion based on the paradigm of separation of concerns, which combines a user interface based on domain specific abstractions with a Python package for automatic code generation to solve the underlying PDEs. The modular code structure makes it possible to manage the complexity of a seismic inversion code, while matrix-free linear operators and data containers enable the implementation of algorithms in a fashion that closely resembles the underlying mathematical notation. The second contribution of this thesis is an algorithm for seismic imaging, that addresses its high computational cost and large memory imprint through a combination of on-the-fly Fourier transforms, stochastic sampling techniques and sparsity-promoting optimization. The algorithm combines the best of both time- and frequency-domain inversion, as the memory imprint is independent of the number of modeled time steps, while time-to-frequency conversions avoid the need to solve Helmholtz equations, which involve inverting ill-conditioned matrices. Part three of this thesis introduces a novel approach for adapting the cloud for high-performance computing applications like seismic imaging, which does not rely on a fixed cluster of permanently running virtual machines. Instead, computational resources are automatically started and terminated by the cloud environment during runtime and the workflow takes advantage of cloud-native technologies such as event-driven computations and containerized batch processing. The performance and cost analysis shows that this approach is able to address current shortcomings of the cloud such as inferior resilience, while at the same time reducing operating cost up to an order of magnitude. As such, the workflow provides a strategy for cost effectively running large-scale seismic imaging problems in the cloud and is a viable alternative to conventional HPC clusters.},
	keywords = {algorithms, AWS, FWI, Imaging, PhD, RTM, seismic, software},
	url = {https://slim.gatech.edu/Publications/Public/Thesis/2020/witte2020THsal/witte2020THsal.pdf},
	presentation = {https://slim.gatech.edu/Publications/Public/Thesis/2020/witte2020THsal/witte2020THsal_pres.pdf},
	author = {Philipp A. Witte}
}
@presentation {witte2019HOTCSEdsagip,
	title = {Domain-specific abstractions for large-scale geophysical inverse problems},
	year = {2019},
	note = {(HotCSE)},
	abstract = {During these times of sustained low oil prices, it is essential to look for new innovative ways to collect (time-lapse) seismic data at reduced costs and preferably also at reduced environmental impact. By now, there is an increasing body of corroborating evidence {\textemdash} whether these are simulated case studies or actual acquisitions on land and marine {\textemdash} that seismic acquisition based on the principles of compressive sensing delivers on this premise by removing the need to acquire replicated dense surveys. Up to ten-fold increases in acquisition efficiency have been reported by industry while there are indications that this breakthrough is only the beginning of a paradigm shift where full-azimuth time-lapse processing will become a reality. To familiarize the audience with this new technology, I will first describe the basics of compressive sensing, how it relates to missing-trace interpolation and simultaneous source acquisition, followed by how this technology is driving innovations in full-azimuth (time-lapse) acquisition, yielding high-fidelity data with a high degree of repeatability and at a fraction of the costs.},
	keywords = {full-waveform-inversion, Imaging, inversion, Julia, large-scale, software},
	url = {https://slim.gatech.edu/Publications/Public/Lectures/HotCSE/2019/witte2019HOTCSEdsagip/witte2019HOTCSEdsagip.pdf},
	author = {Philipp A. Witte and Mathias Louboutin and Felix J. Herrmann}
}
@article {witte2018alf,
	title = {A large-scale framework for symbolic implementations of seismic inversion algorithms in Julia},
	journal = {Geophysics},
	volume = {84},
	number = {3},
	year = {2019},
	note = {(Geophysics)},
	month = {03},
	pages = {F57-F71},
	abstract = {Writing software packages for seismic inversion is a very challenging task, since problems such as full-waveform inversion or least-squares imaging are both algorithmically and computationally demanding due to the large number of unknown parameters and the fact that we are propagating waves over many wavelengths. Software frameworks therefore need to combine both versatility and performance to provide geophysicists with the means and flexibility to implement complex algorithms that scale to exceedingly large 3D problems. Following these principles, we introduce the Julia Devito Inversion framework, an open-source software package in Julia for large-scale seismic modeling and inversion based on Devito, a domain-specific language compiler for automatic code generation. The framework consists of matrix-free linear operators for implementing seismic inversion algorithms that closely resembles the mathematical notation, a flexible resilient parallelization and an interface to Devito for generating optimized stencil code to solve the underlying wave equations. In comparison to many manually optimized industry codes written in low-level languages, our software is built on the idea of independent layers of abstractions and user interfaces with symbolic operators, making it possible to manage both the complexity of algorithms and performance optimizations, while preserving modularity, which allows for a level of expressiveness needed to formulate a broad range of wave-equation-based inversion problems. Through a series of numerical examples, we demonstrate that this allows users to implement algorithms for waveform inversion and imaging as simple Julia scripts that scale to large-scale 3D problems; thus providing a truly performant research and production framework.},
	keywords = {FWI, inversion, LSRTM, Modeling, software},
	doi = {10.1190/geo2018-0174.1},
	url = {https://slim.gatech.edu/Publications/Public/Journals/Geophysics/2019/witte2018alf/witte2018alf.pdf},
	author = {Philipp A. Witte and Mathias Louboutin and Navjot Kukreja and Fabio Luporini and Michael Lange and Gerard J. Gorman and Felix J. Herrmann}
}
