@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}
}
@conference {lago2014CMCCRMN,
	title = {CRMN method for solving time-harmonic wave equation},
	booktitle = {Copper Mountain Conference},
	year = {2014},
	note = {(Copper Mountain)},
	month = {04},
	abstract = {We address the solution of PDEs associated with the wave propagation phenomena in heterogeneous media using CGMN method. It consists of a conjugate gradients method using Kaczmarz double sweeps as preconditioner. This preconditioner has the property of {\textquoteleft}{\textquoteleft}symmetrizing" the problem allowing short recursion and Lanczos type of Krylov methods to be employed. In this talk we propose the use of CR, a minimal residual Krylov method closely related to CG. We study the proposed method which we call CRMN and discuss crucial aspects as the behaviour of the norm of the residual and the norm of the true error. We also discuss the result of an inversion of a small subsample of the 3D velocity model SEG/EAGE Overthrust using frugal full-waveform inversion method with CRMN and CGMN for solving the associated PDE, showing a strong interest in studying the behaviour of CRMN for larger realistic cases.},
	keywords = {CGMN, CRMN, Forward Modelling, Helmholtz equation},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/CMC/2014/lago2014CMCCRMN.pdf},
	author = {Rafael Lago and Art Petrenko and Zhilong Fang and Felix J. Herrmann}
}
@conference {lago2014EAGEfst,
	title = {Fast solution of time-harmonic wave-equation for full-waveform inversion},
	booktitle = {EAGE Annual Conference Proceedings},
	year = {2014},
	month = {06},
	abstract = {For many full-waveform inversion techniques, the most computationally intensive step is the computation of a numerical solution for the wave equation on every iteration. In the frequency domain approach, this requires the solution of very large, complex, sparse, ill-conditioned linear systems. In this extended abstract we bring out attention specifically to CGMN method for solving PDEs, known for being flexible (i.e. it is able to treat equally acoustic data as well as visco-elastic or more complex scenarios) efficient with respect both to memory and computation time, and controllable accuracy of the final approximation. We propose an improvement for the known CGMN method by imposing a minimal residual condition, which incurs in one extra model vector storage. The resulting algorithm called CRMN enjoys several interesting properties as monotonically nonincreasing behaviour of the norm of the residual and minimal residual, guaranteeing optimal convergence for the relative residual criterion. We discuss numerical experiments both in an isolated PDE solve and also within the inversion procedure, showing that in a realistic scenario we can expect a speedup around 25\% when using CRMN rather than CGMN.},
	keywords = {CGMN, CRMN, EAGE, FWI, Time-Harmonic Wave Equation},
	doi = {10.3997/2214-4609.20140812},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/EAGE/2014/lago2014EAGEfst/lago2014EAGEfst.pdf},
	presentation = {https://slim.gatech.edu/Publications/Public/Conferences/EAGE/2014/lago2014EAGEfst/lago2014EAGEfst_pres.pdf},
	author = {Rafael Lago and Art Petrenko and Zhilong Fang and Felix J. Herrmann}
}
