Abstract
In order to improve the efficiency of magnetotelluric Occam inversion algorithm, a parallel Gaussian elimination algorithm based on two-dimensional constant bandwidth storage is developed, which is implemented on graphic processing units (GPUs) by using CUDA Fortran. Detailed descriptions of the programming are presented. The parallel algorithm can simultaneously and rapidly calculate multiple large matrices. To make full use of the GPU computational power and memory bandwidth, the data access patterns have been analyzed and optimized in depth for parallel access. The experimental results show that with the increase of the number of matrices, higher speedup can be obtained. The high efficiency of the parallel strategy makes it easier for other algorithms based on two-dimensional constant bandwidth storage.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
DeGroot-Hedlin C, Constable S. Occam’s inversion to generate smooth, two-dimensional models from magnetotelluric data. Geophysics. 1990;55(12):1613–24.
Cosnard M, Marrakchi M, Robert Y, Trystram D. Parallel Gaussian elimination on an MIMD computer. Parallel Comput. 1988;6(3):275–96.
McGinn SF, Shaw RE. Parallel Gaussian elimination using OpenMP and MPI. High performance computing systems and applications. Washington, DC: IEEE; 2002. p. 169.
Sanders J, Kandrot E. CUDA by example: an introduction to general-purpose GPU programming. Upper Saddle Rive, NJ: Addison-Wesley Professional; 2010. p. 2–4.
Buluç A, Gilbert JR, Budak C. Gaussian elimination based algorithms on the GPU. Under review for the Special Issue of Parallel computing on parallel matrix algorithms and applications. 2008; pp. 200–300.
Che S, Li J, Sheaffer JW, Skadron K, Lach J. Accelerating compute-intensive applications with GPUs and FPGAs. In Application Specific Processors. Washington, DC: IEEE; 2008. p. 101–7.
Zhu J, Taylor ZRL, Zienkiewicz OC. The finite element method: its basis and fundamentals. 6th ed. Burlington, VT: Butterworth-Heinemann; 2005. p. 9–10.
NVIDIA Corporation. CUDA C programming guide version 5.5. 2013, pp. 1–6. http://www.nvidia.com/cuda
Kirk DB, Hwu WW. Programming massively parallel processors: a hands-on approach. 2nd ed. Burlington, VT: Morgan Kaufmann; 2012. p. 359–82.
Acknowledgments
This work has been supported by the National Natural Science Foundation of China under research project 41264005 and also supported by the Guangxi department of education under the research project 201102ZD018.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Xiao, Y., Liu, Y. (2015). GPU Acceleration for the Gaussian Elimination in Magnetotelluric Occam Inversion Algorithm. In: Wong, W. (eds) Proceedings of the 4th International Conference on Computer Engineering and Networks. Lecture Notes in Electrical Engineering, vol 355. Springer, Cham. https://doi.org/10.1007/978-3-319-11104-9_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-11104-9_15
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-11103-2
Online ISBN: 978-3-319-11104-9
eBook Packages: EngineeringEngineering (R0)