Abstract
We introduced four prototypes of General Purpose GPU solutions by Compute Unified Device Architecture (CUDA) on NVidia GeForce 8800GT and Tesla C870 for a practical Curved Ray Prestack Kirchhoff Time Migration program, which is one of the most widely adopted imaging methods in the seismic data processing industry. We presented how to re-design and re-implement the original CPU code to efficient GPU code step by step. We demonstrated optimization methods, such as how to reduce the overhead of memory transportation on PCI-E bus, how to significantly increase the kernel thread numbers on GPU cores, how to buffer the inputs and outputs of CUDA kernel modules, and how to utilize the memory streams to overlap GPU kernel execution time, etc., to improve the runtime performance on GPUs. We analyzed the floating point errors between CPUs and GPUs. We presented the images generated by CPU and GPU programs for the same real-world seismic data inputs. Our final approach of Prototype-IV on NVidia GeForce 8800GT is 16.3 times faster than its CPU version on Intel’s P4 3.0G.
This work was supported by grants from the National High Technology Research and Development Program of China (863 Program) No.2007AA01A127 and the Specialized Research Fund for the Doctoral Program of Higher Education (New Faculty) 2007006028.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Deschizeaux, B., Blanc, J.Y.: Imaging Earth’s Subsurface Using CUDA, http://developer.download.nvidia.com/books/gpu_gems_3/samples/gems3_ch38.pdf
Taner, M.T., Koehler, F.: Velocity spectra-digital computer derivation and application of velocity functions. Geophysics 34, 859–881 (1969)
Zhao, C.H., Shi, X.H., Yan, H.H., Wang, L.: Exploiting coarse-grained data parallelism in seismic processing. In: Proceedings of the 2008 Workshop on Architectures and Languages for Throughput Applications: Held in conjunction with the 35th International Symposium on Computer Architecture, Beijing, China (2008)
NVidia, NVidia CUDA Computer Unified Device Architecture Programming Guide, Version 2.0 (2008)
Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., Hanrahan, P.: Brook for GPUs: Stream Computing on Graphics Hardware, ACM 0730-0301/04/0800-0777, pp. 777–786. ACM Press, New York (2004)
Tarditi, D., Puri, S., Oglesby, J.: Accelerator: Using Data Parallelism to Program GPUs for General-Purpose Uses. In: Proceedings of ASPLOS 2006, pp. 325–335 (2006)
Papakipos, M.: The PeakStream Platform: High-Productivity Software development for Nulti-Core Processors, Writepaper, PeakStream Corp. (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shi, X., Li, C., Wang, X., Li, K. (2009). A Practical Approach of Curved Ray Prestack Kirchhoff Time Migration on GPGPU. In: Dou, Y., Gruber, R., Joller, J.M. (eds) Advanced Parallel Processing Technologies. APPT 2009. Lecture Notes in Computer Science, vol 5737. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03644-6_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-03644-6_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03643-9
Online ISBN: 978-3-642-03644-6
eBook Packages: Computer ScienceComputer Science (R0)