
This Article  
 
Share  
Bibliographic References  
Add to:  
Digg Furl Spurl Blink Simpy Del.icio.us Y!MyWeb  
Search  
 
ASCII Text  x  
Didem Unat, Jun Zhou, Yifeng Cui, Scott B. Baden, Xing Cai, "Accelerating a 3D FiniteDifference Earthquake Simulation with a CtoCUDA Translator," Computing in Science and Engineering, vol. 14, no. 3, pp. 4859, May/June, 2012.  
BibTex  x  
@article{ 10.1109/MCSE.2012.44, author = {Didem Unat and Jun Zhou and Yifeng Cui and Scott B. Baden and Xing Cai}, title = {Accelerating a 3D FiniteDifference Earthquake Simulation with a CtoCUDA Translator}, journal ={Computing in Science and Engineering}, volume = {14}, number = {3}, issn = {15219615}, year = {2012}, pages = {4859}, doi = {http://doi.ieeecomputersociety.org/10.1109/MCSE.2012.44}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, }  
RefWorks Procite/RefMan/Endnote  x  
TY  MGZN JO  Computing in Science and Engineering TI  Accelerating a 3D FiniteDifference Earthquake Simulation with a CtoCUDA Translator IS  3 SN  15219615 SP48 EP59 EPD  4859 A1  Didem Unat, A1  Jun Zhou, A1  Yifeng Cui, A1  Scott B. Baden, A1  Xing Cai, PY  2012 KW  Code generation KW  optimization KW  emerging technologies KW  Earth and atmospheric sciences KW  scientific computing VL  14 JA  Computing in Science and Engineering ER   
GPUs provide impressive computing power, but GPU programming can be challenging. Here, an experience in porting realworld earthquake code to Nvidia GPUs is described. Specifically, an annotationbased programming model, called Mint, and its accompanying sourcetosource translator are used to automatically generate CUDA source code and simplify the exploration of performance tradeoffs.
1. D. Unat, X. Cai, and S.B. Baden, "Mint: Realizing CUDA Performance in 3D Stencil Methods with Annotated C," Proc. Int'l Conf. Supercomputing, ACM, 2011, pp. 214–224.
2. J. Virieux, "PSV Wave Propagation in Heterogeneous Media: VelocityStress FiniteDifference Method," Geophysics, vol. 51, no. 4, 1986, pp. 889–901.
3. P. Moczo et al., "The FiniteDifference and FiniteElement Modeling of Seismic Wave Propagation and Earthquake Motion," Acta Physica Slovaca, vol. 57, no. 2, 2007, pp. 177–406.
4. T. Furumura and L. Chen, "Parallel Simulation of Strong Ground Motions During Recent and Historical Damaging Earthquakes in Tokyo, Japan," Parallel Computation, vol. 31, no. 2, 2005, pp. 149–165.
5. Y. Cui et al., "Scalable Earthquake Simulation on Petascale Supercomputers," Proc. 2010 ACM/IEEE Conf. Supercomputing, IEEE CS, 2010, pp. 1–20.
6. K.B. Olsen, "Simulation of ThreeDimensional Wave Propagation in the Salt Lake Basin," Bulletin Seismological Soc. of Am., vol. 85, no. 6, 1995, pp. 1688–1710.
7. K. Olsen et al., "Strong Shaking in Los Angeles Expected from Southern San Andreas Earthquake," Geophysical Research Letters, vol. 33, no. 7, 2006, pp. 2–5.
8. L. Dalguer and S.M. Day, "StaggeredGrid SplitNode Method for Spontaneous Rupture Simulation," J. Geophysical Research, vol. 112, no. B02302, 2007; doi:10.1029/2006JB004467.
9. A. Simone and S. Hestholm, "Instabilities in Applying Absorbing Boundary Conditions to HighOrder Seismic Modeling Algorithms," Geophysics, vol. 63, no. 3, 1998, pp. 1017–1023.
10. J. Nickolls et al., "Scalable Parallel Programming with CUDA," Proc. Siggraph, 2008, ACM, pp. 1–14.
11. P. Micikevicius, "3D Finite Difference Computation on GPUs Using CUDA," Proc. 2nd Workshop General Purpose Processing on Graphics Processing Units, ACM, 2009, pp. 79–84.
12. D. Michéa and D. Komatitsch, "Accelerating a ThreeDimensional FiniteDifference Wave Propagation Code Using GPU Graphics Cards," Geophysical J. Int'l, vol. 182, no. 1, 2010, pp. 389–402.
13. S. Lee and R. Eigenmann, "OpenMPC: Extended OpenMP Programming and Tuning for GPUs," Proc. 2010 ACM/IEEE Conf. Supercomputing, IEEE CS, 2010, pp. 1–11.
14. A. Danalis et al., "The Scalable Heterogeneous Computing (SHOC) Benchmark Suite," Proc. 3rd Workshop on GeneralPurpose Computation on Graphics Processing Units, 2010, pp. 63–74.
15. V. Volkov and J.W. Demmel, "Benchmarking GPUs to Tune Dense Linear Algebra," Proc. 2008 ACM/IEEE Conf. Supercomputing, IEEE Press, 2008, pp. 31:1–31:11.
1. P. Micikevicius, "3D Finite Difference Computation on GPUs Using CUDA," Proc. 2nd Workshop General Purpose Processing on Graphics Processing Units, ACM, 2009, pp. 79–84.
2. D. Michéa and D. Komatitsch, "Accelerating a ThreeDimensional FiniteDifference Wave Propagation Code Using GPU Graphics Cards," Geophysical J. Int'l, vol. 182, no. 1, 2010, pp. 389–402.
3. Nvidia, Tuning CUDA Applications for Nvidia Fermi, v1.2, application note, 2010.
4. S. Song et al., Seismic Wave Propagation Simulation Using Support Operator Method on MultiGPU System, tech. report, Minnesota Supercomputing Inst., Univ. Minnesota, 2010; http://static.msi.umn.edu/rreports/201134.pdf .
5. P.E. Geoffrey, M.D. Steven, and J.B. Minster, "A SupportOperator Method for Viscoelastic Wave Modeling in 3D Heterogeneous Media," Geophysical J. Int'l, vol. 172, no. 1, 2008, pp. 331–344.
6. J. Tromp, D. Komatitsch, and Q. Liu, "SpectralElement and Adjoint Methods in Seismology," Comm. Computational Physics, vol. 3, no. 1, 2008, pp. 1–32.
7. D. Komatitsch, D. Michéa, and G. Erlebacher, "Porting a HighOrder FiniteElement Earthquake Modeling Application to Nvidia Graphics Cards using CUDA," J. Parallel and Distributed Computing, vol. 69, no. 5, 2009, pp. 451–460.
8. H. Chafi et al., "A DomainSpecific Approach to Heterogeneous Parallelism," Proc. 16th ACM Symp. Principles and Practice of Parallel Programming, ACM, 2011, pp. 35–46.
9. F.V. Lionetti, A.D. McCulloch,, and S.B. Baden, "SourcetoSource Optimization of CUDA C for GPU Accelerated Cardiac Cell Modeling," Proc. 16th Int'l EuroPar Conf. Parallel Processing: Part I, SpringerVerlag, 2010, pp. 38–49.
10. M. Christen and H.B.O. Schenk, "Patus: A Code Generation and Autotuning Framework for Parallel Iterative Stencil Computations on Modern Microarchitectures," Proc. Int'l Conf. Parallel and Distributed Computing Systems, IEEE Press, 2011, pp. 676–687.
11. D. Unat, X. Cai, and S.B. Baden, "Mint: Realizing CUDA Performance in 3D Stencil Methods with Annotated C," Proc. Int'l Conf. Supercomputing, ACM, 2011, pp. 214–224.
12. D. Unat et al., "AutoOptimization of a Feature Selection Algorithm," Proc. 4th Workshop on Emerging Applications and ManyCore Architecture, 2011; http://sites.google.com/site/eamaworkshop eama11.
13. M. Wolfe, "Implementing the PGI Accelerator Model," Proc. 3rd Workshop on GeneralPurpose Computation on Graphics Processing Units, ACM, 2010, pp. 43–50.
14. S. Lee and R. Eigenmann, "OpenMPC: Extended OpenMP Programming and Tuning for GPUs," Proc. 2010 ACM/IEEE Conf. Supercomputing, IEEE CS, 2010, pp. 1–11.
15. F. Bodin and S. Bihan, "Heterogeneous Multicore Parallel Programming for Graphics Processing Units," J. Scientific Programming, vol. 17, no. 4, 2009, pp. 325–336.