@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}
}
@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}
}
@techreport {louboutin2016OGHPCocp,
	title = {Optimizing the computational performance of time-domain modelling{\textendash}-leveraging multiple right-hand-sides},
	number = {TR-EOAS-2017-2},
	year = {2017},
	institution = {UBC},
	abstract = {Exploration geophysics heavily relies upon fast solvers for the wave-equation and its adjoint. The main computational cost of a wave-equation solver is to compute the Laplacian, or more complex finite-difference operators, at every time step. The performance of many discretizations is limited by the relatively low operational intensity (number of floating point operations divided by memory traffic) of the finite-difference stencil. Solving the wave-equation for multiple sources/right-hand-sides (RHSs) at once mitigates this problem by increasing the operational intensity. This is implemented by rewriting the classical matrix-vector product into a matrix-matrix product where each column of the second matrix represent the solution wavefield for each given source. This minor modification to the solver is shown to achieve a 2-4 times speedup compared to a single source solver. We concentrate in this paper on acoustic modelling, but our approach can easily be extended to anisotropic or elastic cases for both forward and adjoint modelling.},
	keywords = {finite differences, HPC, Modelling, time domain},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2017/louboutin2016OGHPCocp/louboutin2016OGHPCocp.pdf},
	author = {Mathias Louboutin and Gerard Gorman and Felix J. Herrmann}
}
@techreport {louboutin2016SEGocp,
	title = {Optimizing the computational performance and maintainability of time-domain modelling{\textendash}-leveraging multiple right-hand-sides},
	number = {TR-EOAS-2016-2},
	year = {2016},
	month = {06},
	institution = {UBC},
	abstract = {Numerical solvers for the wave equation are a key component of Full-Waveform Inversion (FWI) and Reverse-Time Migration (RTM). The main computational cost of a wave-equation solver stems from the computation of the Laplacian at each time step. When using a finite difference discretization this can be characterized as a structured grid computation within Colella{\textquoteright}s Seven Dwarfs. Independent of the degree of parallelization the performance will be limited by the relatively low operational intensity (number of operations divided by memory traffic) of finite-difference stencils, that is so say that the method is memory bandwidth bound. For this reason many developers have focused on porting their code to platforms that have higher memory bandwidth, such as GPU{\textquoteright}s, or put significant effort into highly intrusive optimisations. However, these optimisations rarely strike the right performance vs productivity balance as the software becomes less maintainable and extensible. By solving the wave equation for multiple sources/right-hand-sides (RHSs) at once, we overcome this problem arriving at a time-stepping solver with higher operational intensity. In essence, we arrive at this result by turning the usual matrix-vector products into a matrix-matrix products where the first matrix implements the discretized wave equation and each column of the second matrix contain separate wavefields for each given source. By making this relatively minor change to the solver we readily achieved a $\times2$ speedup. While we limit ourselves to acoustic modeling, our approach can easily be extended to the anisotropic or elastic cases.},
	keywords = {3D, Modelling, time domain},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2016/louboutin2016SEGocp/louboutin2016SEGocp.html},
	author = {Mathias Louboutin and Gerard Gorman and Felix J. Herrmann}
}
@techreport {esser2015tvwri,
	title = {Total variation regularization strategies in full waveform inversion for improving robustness to noise, limited data and poor initializations},
	number = {TR-EOAS-2015-5},
	year = {2015},
	month = {06},
	institution = {UBC},
	abstract = {We propose an extended full waveform inversion formulation that includes convex constraints on the model. In particular, we show how to simultaneously constrain the total variation of the slowness squared while enforcing bound constraints to keep it within a physically realistic range. Synthetic experiments show that including total variation regularization can improve the recovery of a high velocity perturbation to a smooth background model, removing artifacts caused by noise and limited data. Total variation-like constraints can make the inversion results significantly more robust to a poor initial model, leading to reasonable results in some cases where unconstrained variants of the method completely fail. Numerical results are presented for portions of the SEG/EAGE salt model and the 2004 BP velocity benchmark. ***Disclaimer.*** *This technical report is ongoing work (and posted as is except for the addition of another author) of the late John "Ernie" Esser (May 19, 1980 - March 8, 2015), who passed away under tragic circumstances. We will work hard to finalize and submit this work to the peer-review literature.* Felix J. Herrmann},
	keywords = {cones constraints, hinge loss, total-variation, Wavefield Reconstruction Inversion},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2015/esser2015tvwri/esser2015tvwri.html},
	author = {Ernie Esser and Llu{\'\i}s Guasch and Tristan van Leeuwen and Aleksandr Y. Aravkin and Felix J. Herrmann}
}
