@article {tu2014fis,
	title = {Fast imaging with surface-related multiples by sparse inversion},
	journal = {Geophysical Journal International},
	volume = {201},
	number = {1},
	year = {2015},
	note = {(Geophysical Journal International)},
	month = {04},
	pages = {304-317},
	abstract = {In marine exploration seismology, surface-related multiples are usually treated as noise mainly because subsequent processing steps, such as migration velocity analysis and imaging, require multiple-free data. Failure to remove these wavefield components from the data may lead to erroneous estimates for migration velocity or result in strong coherent artefacts that interfere with the imaged reflectors. However, multiples can carry complementary information compared to primaries, as they interact with the free surface and are therefore exposed more to the subsurface. Recent work has shown that when processed correctly multiples can improve seismic illumination. Given a sufficiently accurate background velocity model and an estimate for the source signature, we propose a new and computationally efficient linearized inversion procedure based on two-way wave equations, which produces accurate images of the subsurface from the total upgoing wavefield including surface-related multiples. Modelling of the surface-related multiples in the proposed method derives from the well-known surface-related multiple elimination method. We incur a minimal overhead from incorporating the multiples by having the wave-equation solver carry out the multiple predictions via the inclusion of an areal source instead of expensive dense matrix-matrix multiplications. By using subsampling techniques, we obtain high-quality true-amplitude least-squares migrated images at computational costs of roughly a single reverse-time migration (RTM) with all the data. These images are virtually free of coherent artefacts from multiples. Proper inversion of the multiples would be computationally infeasible without using these techniques that significantly bring down the cost. By promoting sparsity in the curvelet domain and using rerandomization, out method gains improved robustness to errors in the background velocity model, and errors incurred in the linearization of the wave equation with respect to the model. We demonstrate the superior performance of the proposed method compared to the conventional RTM using realistic synthetic examples.},
	keywords = {approximate message passing, Compressive Sensing, curvelet, inversion, Kaczmarz, multiples},
	url = {https://slim.gatech.edu/Publications/Public/Journals/GeophysicalJournalInternational/2014/tu2014fis/tu2014fis.pdf},
	url2 = {http://gji.oxfordjournals.org/cgi/content/full/ggv020?ijkey=pKzrSXbtxjlOjzd\&keytype=ref},
	author = {Ning Tu and Felix J. Herrmann}
}
@mastersthesis {petrenko2014THaih,
	title = {Accelerating an iterative Helmholtz solver using reconfigurable hardware},
	year = {2014},
	note = {(MSc)},
	month = {04},
	school = {The University of British Columbia},
	type = {masters},
	address = {Vancouver},
	abstract = {An implementation of seismic wave simulation on a platform consisting of a conventional host processor and a reconfigurable hardware accelerator is presented. This research is important in the field of exploration for oil and gas resources, where a 3D model of the subsurface of the Earth is frequently required. By comparing seismic data collected in a real-world survey with synthetic data generated by simulated waves, it is possible to deduce such a model. However this requires many time-consuming simulations with different Earth models to find the one that best fits the measured data. Speeding up the wave simulations would allow more models to be tried, yielding a more accurate estimate of the subsurface. The reconfigurable hardware accelerator employed in this work is a field programmable gate array (FPGA). FPGAs are computer chips that consist of electronic building blocks that the user can configure and reconfigure to represent their algorithm in hardware. Whereas a traditional processor can be viewed as a pipeline for processing instructions, an FPGA is a pipeline for processing data. The chief advantage of the FPGA is that all the instructions in the algorithm are already hardwired onto the chip. This means that execution time depends only on the amount of data to be processed, and not on the complexity of the algorithm. The main contribution is an implementation of the well-known Kaczmarz row projection algorithm on the FPGA, using techniques of dataflow programming. This kernel is used as the preconditioning step of CGMN, a modified version of the conjugate gradients method that is used to solve the time-harmonic acoustic isotropic constant density wave equation. Using one FPGA-based accelerator, the current implementation allows seismic wave simulations to be performed over twice as fast, compared to running on one Intel Xeon E5-2670 core. I also discuss the effect of modifications of the algorithm necessitated by the hardware on the convergence properties of CGMN. Finally, a specific plan for future work is set-out in order to fully exploit the accelerator platform, and the work is set in its larger context.},
	keywords = {CG, CGMN, FPGA, Helmholtz, Kaczmarz, linear solver, Maxeler, MSc, thesis, wave equation},
	url = {https://slim.gatech.edu/Publications/Public/Thesis/2014/petrenko2014THaih/petrenko2014THaih.pdf},
	presentation = {https://slim.gatech.edu/Publications/Public/Thesis/2014/petrenko2014THaih/petrenko2014THaih_pres.pdf},
	author = {Art Petrenko}
}
@conference {petrenko2014OGHPCaih,
	title = {Accelerating an iterative Helmholtz solver with FPGAs},
	booktitle = {OGHPC},
	year = {2014},
	month = {03},
	abstract = {We implement the Kaczmarz row-projection algorithm [Kaczmarz, 1937] on a CPU host + FPGA accelerator platform using techniques of dataflow programming. This algorithm is then used as the preconditioning step in CGMN, a modified version of the conjugate gradients method [Bj?rck and Elfving, 1979] that we use to solve the time-harmonic acoustic isotropic constant density wave equation.},
	keywords = {CGMN, FPGA, Helmholtz equation, Kaczmarz, OGHPC, reconfigurable computing},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/OGHPC/2014/petrenko2014OGHPCaih/petrenko2014OGHPCaih.pdf},
	presentation = {https://slim.gatech.edu/Publications/Public/Conferences/OGHPC/2014/petrenko2014OGHPCaih/petrenko2014OGHPCaih_poster.pdf},
	author = {Art Petrenko and Felix J. Herrmann and Diego Oriato and Simon Tilbury and Tristan van Leeuwen}
}
@conference {petrenko2014EAGEaih,
	title = {Accelerating an iterative Helmholtz solver with FPGAs},
	booktitle = {EAGE Annual Conference Proceedings},
	year = {2014},
	month = {06},
	abstract = {We implement the Kaczmarz row-projection algorithm (Kaczmarz (1937)) on a CPU host + FPGA accelerator platform using techniques of dataflow programming. This algorithm is then used as the preconditioning step in CGMN, a modified version of the conjugate gradients method (Bj{\"o}rck and Elfving (1979)) that we use to solve the time-harmonic acoustic isotropic constant density wave equation. Using one accelerator we achieve a speed-up of over 2{\texttimes} compared with one Intel core.},
	keywords = {CGMN, EAGE, FPGA, Helmholtz equation, Kaczmarz, reconfigurable computing},
	doi = {10.3997/2214-4609.20141141},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/EAGE/2014/petrenko2014EAGEaih/petrenko2014EAGEaih.pdf},
	presentation = {https://slim.gatech.edu/Publications/Public/Conferences/EAGE/2014/petrenko2014EAGEaih/petrenko2014EAGEaih_pres.pdf},
	author = {Art Petrenko and Tristan van Leeuwen and Diego Oriato and Simon Tilbury and Felix J. Herrmann}
}
@techreport {petrenko2013SEGsaoc,
	title = {Software acceleration of CARP, an iterative linear solver and preconditioner},
	number = {TR-EOAS-2013-4},
	year = {2013},
	institution = {UBC},
	abstract = {We present the results of software optimization of a row-wise preconditioner (Component Averaged Row Projections) for the method of conjugate gradients, which is used to solve the diagonally banded Helmholtz system representing frequency domain, isotropic acoustic seismic wave simulation. We demonstrate that in our application, a preconditioner bound to one processor core and accessing memory contiguously reduces execution time by 7\% for matrices having on the order of 108 non-zeros. For reference we note that our C implementation is over 80 times faster than the corresponding code written for a high-level numerical analysis language.},
	keywords = {frequency-domain, Helmholtz equation, Kaczmarz, software, wave propagation},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2013/petrenko2013SEGsaoc/petrenko2013SEGsaoc.pdf},
	author = {Art Petrenko and Tristan van Leeuwen and Felix J. Herrmann}
}
@conference {petrenko2013HPCSsaoc,
	title = {Software acceleration of CARP, an iterative linear solver and preconditioner},
	year = {2013},
	month = {06},
	publisher = {HPCS},
	organization = {HPCS},
	abstract = {We present the results of software optimization of a row-wise preconditioner (Component Averaged Row Projections) for the method of conjugate gradients, which is used to solve the diagonally banded Helmholtz system representing frequency domain, isotropic acoustic seismic wave simulation. We demonstrate that in our application, a preconditioner bound to one processor core and accessing memory contiguously reduces execution time by 7\% for matrices having on the order of 108 non-zeros. For reference we note that our C implementation is over 80 times faster than the corresponding code written for a high-level numerical analysis language.},
	keywords = {frequency-domain, Helmholtz equation, HPCS, Kaczmarz, software, wave propagation},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/HPCS/2013/petrenko2013HPCSsaoc/petrenko2013HPCSsaoc.pdf},
	url2 = {https://slim.gatech.edu/Publications/Public/Conferences/HPCS/2013/petrenko2013HPCSsaoc/petrenko2013HPCSsaoc_poster.pdf},
	author = {Art Petrenko and Tristan van Leeuwen and Felix J. Herrmann}
}
