@article {orozco2023invnet,
	title = {InvertibleNetworks.jl: A Julia package for scalable normalizing flows},
	journal = {Journal of Open Source Software},
	volume = {9},
	year = {2024},
	month = {7},
	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.21105/joss.06554},
	url = {https://doi.org/10.21105/joss.06554},
	author = {Rafael Orozco and Philipp A. Witte and Mathias Louboutin and Ali Siahkoohi and Gabrio Rizzuti and Bas Peters and Felix J. Herrmann}
}
@article {grady2022SCtll,
	title = {Model-Parallel Fourier Neural Operators as Learned Surrogates for Large-Scale Parametric PDEs},
	journal = {Computers \& Geosciences},
	volume = {178},
	year = {2023},
	note = {(Computers and Geosciences)},
	month = {07},
	pages = {105402},
	abstract = {Fourier neural operators (FNOs) are a recently introduced neural network architecture for learning solution operators of partial differential equations (PDEs), which have been shown to perform significantly better than comparable deep learning approaches. Once trained, FNOs can achieve speed-ups of multiple orders of magnitude over conventional numerical PDE solvers. However, due to the high dimensionality of their input data and network weights, FNOs have so far only been applied to two-dimensional or small three-dimensional problems. To remove this limited problem-size barrier, we propose a model-parallel version of FNOs based on domain-decomposition of both the input data and network weights. We demonstrate that our model-parallel FNO is able to predict time-varying PDE solutions of over 2.6 billion variables on Perlmutter using up to 512 A100 GPUs and show an example of training a distributed FNO on the Azure cloud for simulating multiphase CO2 dynamics in the Earth{\textquoteright}s subsurface.},
	keywords = {CCS, Computers and Geosciences, deep learning, Fourier neural operators, HPC, large-scale, Model Parallelism, Multiphase Flow, Operator Learning},
	doi = {10.1016/j.cageo.2023.105402},
	url = {https://slim.gatech.edu/Publications/Public/Journals/ComputersAndGeosciences/2023/grady2022SCtll/grady2022SCtll.pdf},
	software = {https://github.com/slimgroup/dfno},
	author = {Thomas J. Grady II and Rishi Khan and Mathias Louboutin and Ziyi Yin and Philipp A. Witte and Ranveer Chandra and Russell J. Hewett 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 {grady2022ML4SEISMICesn,
	title = {Effective scaling of numerical surrogates via domain-decomposed Fourier neural operators},
	year = {2022},
	month = {11},
	abstract = {Numerical surrogates are models which learn to mimic a complex physical process (such as the solution to a PDE produced by a solver) from a set of input/output pairs. Fourier neural operators (FNOs) are a specific type of numerical surrogate which use a learned matched filter to quickly approximate solutions to relatively smooth complex physical processes. In the case of carbon capture sequestration (CCS) technology, FNOs have been shown to well-approximate solutions to the two-phase flow equations, with speedups of 1,000 to 10,000 times at inference time versus a tradtitional solver. This speed combined with the fact that FNOs are differentiable with respect to their input parameters allows for inverse and uncertainty quantification problems to theoretically be solved on real 3D data, a previously intractible task. However, due to the size of the input data, network weights, and optimizer state, FNOs have thus far been limited to small to medium 2D and 3D problems, well below the size of an industry standard such as the Sleipner benchmark. Here we alleviate this problem by proposing a model-parallel FNO which makes use of domain decomposition of the input data and network weights, and exploits architectural features of FNOs to also include a natural form of asynchronous pipeline parallelism. Our network can scale to arbitrary problem sizes on CPU and GPU systems.},
	keywords = {CCS, deep learning, Fourier neural operators, HPC, ML4SEISMIC, SLIM},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/ML4SEISMIC/2022/grady2022ML4SEISMICesn/index.html},
	author = {Thomas J. Grady II and Rishi Khan and Mathias Louboutin and Ziyi Yin and Philipp A. Witte and Ranveer Chandra and Russell J. Hewett and Felix J. Herrmann}
}
@presentation {witte2021ML4SEISMICrtc,
	title = {Redwood {\textendash} towards clusterless supercomputing in the cloud},
	year = {2021},
	month = {11},
	abstract = {We present Redwood, a Julia framework for clusterless supercomputing in the cloud. Redwood provides a set of distributed programming macros that enable users to remotely execute Julia functions in parallel through cloud services for batch and serverless computing. We present the architecture and design of Redwood, as well as its application to existing Julia packages for machine learning and inverse problems.},
	keywords = {cloud computing, clusterless, HPC, Julia, ML4SEISMIC, SLIM},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/ML4SEISMIC/2021/witte2021ML4SEISMICrtc/Mon-10-30-Witte.pdf},
	author = {Philipp A. Witte}
}
@techreport {louboutin2020SCsta,
	title = {Scaling through abstractions {\textendash} high-performance vectorial wave simulations for seismic inversion with Devito},
	number = {TR-CSE-2020-3},
	year = {2020},
	month = {4},
	institution = {Georgia Institute of Technology},
	abstract = {[Devito] is an open-source Python project based on domain-specific language and compiler technology. Driven by the requirements of rapid HPC applications development in exploration seismology, the language and compiler have evolved significantly since inception. Sophisticated boundary conditions, tensor contractions, sparse operations and features such as staggered grids and sub-domains are all supported; operators of essentially arbitrary complexity can be generated. To accommodate this flexibility whilst ensuring performance, data dependency analysis is utilized to schedule loops and detect computational-properties such as parallelism. In this article, the generation and simulation of MPI-parallel propagators (along with their adjoints) for the pseudo-acoustic wave-equation in tilted transverse isotropic media and the elastic wave-equation are presented. Simulations are carried out on industry scale synthetic models in a HPC Cloud system and reach a performance of 28TFLOP/s, hence demonstrating Devito{\textquoteright}s suitability for production-grade seismic inversion problems.},
	keywords = {devito, elastic, finite-difference, HPC, large-scale, RTM, TTI},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2020/louboutin2020SCsta/louboutin2020SCsta.html},
	author = {Mathias Louboutin and Fabio Luporini and Philipp A. Witte and Rhodri Nelson and George Bisbas and Jan Thorbecke and Felix J. Herrmann and Gerard Gorman}
}
@conference {witte2019RHPCssi,
	title = {Serverless seismic imaging in the cloud},
	booktitle = {Rice Oil and Gas High Performance Computing Conference 2020},
	year = {2020},
	note = {Rice Oil and Gas High Performance Computing Conference 2020},
	month = {03},
	abstract = {This talk presents a serverless approach to seismic imaging in the cloud based on high-throughput containerized batch processing, event-driven computations and a domain-specific language compiler for solving the underlying wave equations. A 3D case study on Azure demonstrates that this approach allows reducing the operating cost of up to a factor of 6, making the cloud a viable alternative to on-premise HPC clusters for seismic imaging.},
	keywords = {cloud, HPC, reverse-time migration, serverless},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/RHPC/2019/witte2019RHPCssi/witte2019RHPCssi.html},
	presentation = {https://slim.gatech.edu/Publications/Public/Conferences/RHPC/2019/witte2019RHPCssi/witte2019RHPCssi_pres.pdf},
	url2 = {https://www.youtube.com/watch?v=epilCpa078A\&list=PLcsG4X8Zn_UA3m7tgIMbOdXD8eOEPiUYD\&index=17},
	author = {Philipp A. Witte and Mathias Louboutin and Charles Jones and Felix J. Herrmann}
}
@conference {herrmann2019EAGEHPCaii,
	title = {Accelerating ideation and innovation cheaply in the Cloud the power of abstraction, collaboration and reproducibility},
	booktitle = {4th EAGE Workshop on High-performance Computing},
	year = {2019},
	note = {(EAGE HPC Workshop, Dubai)},
	month = {10},
	keywords = {cloud, devito, EAGE, HPC, JUDI},
	presentation = {https://slim.gatech.edu/Publications/Public/Conferences/EAGEHPC/2019/herrmann2019EAGEHPCaii/herrmann2019EAGEHPCaii_pres.pdf},
	author = {Felix J. Herrmann and Charles Jones and Gerard Gorman and Jan H{\"u}ckelheim and Keegan Lensink and Paul H. J. Kelly and Navjot Kukreja and Henryk Modzelewski and Michael Lange and Mathias Louboutin and Fabio Luporini and James Selvages and Philipp A. Witte}
}
@article {louboutin2018dae,
	title = {Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration},
	journal = {Geoscientific Model Development},
	year = {2019},
	note = {(Geoscientific Model Development)},
	abstract = {We introduce Devito, a new domain-specific language for implementing high-performance finite difference partial differential equation solvers. The motivating application is exploration seismology where methods such as Full-Waveform Inversion and Reverse-Time Migration are used to invert terabytes of seismic data to create images of the earth{\textquoteright}s subsurface. Even using modern supercomputers, it can take weeks to process a single seismic survey and create a useful subsurface image. The computational cost is dominated by the numerical solution of wave equations and their corresponding adjoints. Therefore, a great deal of effort is invested in aggressively optimizing the performance of these wave-equation propagators for different computer architectures. Additionally, the actual set of partial differential equations being solved and their numerical discretization is under constant innovation as increasingly realistic representations of the physics are developed, further ratcheting up the cost of practical solvers. By embedding a domain-specific language within Python and making heavy use of SymPy, a symbolic mathematics library, we make it possible to develop finite difference simulators quickly using a syntax that strongly resembles the mathematics. The Devito compiler reads this code and applies a wide range of analysis to generate highly optimized and parallel code. This approach can reduce the development time of a verified and optimized solver from months to days.},
	keywords = {finite-differences, HPC, Modeling, wave-equation},
	doi = {10.5194/gmd-12-1165-2019},
	url = {https://slim.gatech.edu/Publications/Public/Journals/GMD/2019/louboutin2018dae/louboutin2018dae.pdf},
	author = {Mathias Louboutin and Michael Lange and Fabio Luporini and Navjot Kukreja and Philipp A. Witte and Felix J. Herrmann and Paulius Velesko and Gerard J. Gorman}
}
@techreport {witte2016OGHPClst,
	title = {A large-scale time-domain seismic modeling and inversion workflow in Julia},
	number = {TR-EOAS-2017-1},
	year = {2017},
	institution = {UBC},
	abstract = {We present our initial steps towards the development of a large-scale seismic modeling workflow in Julia that provides a framework for wave equation based inversion methods like full waveform inversion or least squares migration. Our framework is based on the Devito, a finite difference domain specific language compiler that generates highly optimized and parallel code. We develop a flexible workflow that is based on abstract matrixfree linear operators and enables developers to write code that closely resembles the underlying math, while at the same time leveraging highly optimized wave equation solvers, allowing us to solve large-scale three-dimensional inverse problems.},
	keywords = {HPC, inversion, Modelling},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2017/witte2016OGHPClst/witte2016OGHPClst.pdf},
	author = {Philipp A. Witte and Mathias Louboutin and Gerard Gorman and Felix J. Herrmann}
}
