A Parallel Front Propagation Method : Simulating geological folds on parallel architectures

Static non-linear Hamilton-Jacobi equations are often used to describe a propagating front. Advanced numerical algorithms are needed to efficiently compute solutions to these non-linear equations. In geological modelling, layers of rocks can be described as the position of a propagating front at different times. A fast simulation of such layers is a key component in exploration software developed by Kalkulo AS for Statoil AS. Developing fast algorithms and solvers is essential in this application, since faster solvers enables users to test more geological scenarios, leading to a better understanding of the inner earth. Front propagation is also used in other applications, such as reservoir simulation, seismic processing and medical imaging, making a fast algorithm highly versatile. The recent years rise of parallel architectures has made substantial computational resources available. One way to originate faster solvers is therefore to develop algorithms that are able to exploit the increasing parallelism that these architectures offer. In this thesis, a novel threedimensional anisotropic front propagation algorithm for simulation of geological folds on parallel architecture is presented. The algorithm’s abundant parallelism is demonstrated on multi-core CPUs and GPU architectures. Implementation on multi-core architectures is achieved by using the OpenMP API, while the Mint programming model is used to facilitate with the GPU programming. We demonstrate 7x to 2x speedups running on the Nvidia GeForce GTX 590 GPU, compared with a multi-threaded implementation on a NUMAmachine using two interconnected 12 core AMD Opteron processors. These results point to enormous potential performance advances of our algorithm on parallel architectures.

[1]  Dirk Schmidl,et al.  Data and thread affinity in openmp programs , 2008, MAW '08.

[2]  Are Magnus Bruaset,et al.  Accuracy and efficiency of stencils for the eikonal equation in earth modelling , 2012, Computational Geosciences.

[3]  M. Sambridge,et al.  Multiple reflection and transmission phases in complex layered media using a multistage fast marching method , 2004 .

[4]  Hongkai Zhao,et al.  A fast sweeping method for Eikonal equations , 2004, Math. Comput..

[5]  Ross T. Whitaker,et al.  Interactive Visualization of Volumetric White Matter Connectivity in DT-MRI Using a Parallel-Hardware Hamilton-Jacobi Solver , 2007, IEEE Transactions on Visualization and Computer Graphics.

[6]  Scott B. Baden,et al.  Mint: realizing CUDA performance in 3D stencil methods with annotated C , 2011, ICS '11.

[7]  Brice Goglin,et al.  ForestGOMP: An Efficient OpenMP Environment for NUMA Architectures , 2010, International Journal of Parallel Programming.

[8]  J A Sethian,et al.  A fast marching level set method for monotonically advancing fronts. , 1996, Proceedings of the National Academy of Sciences of the United States of America.

[9]  Jung Ho Ahn,et al.  Merrimac: Supercomputing with Streams , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[10]  Tim Brecht,et al.  On the importance of parallel application placement in NUMA multiprocessors , 1993 .

[11]  J. Tsitsiklis,et al.  Efficient algorithms for globally optimal trajectories , 1994, Proceedings of 1994 33rd IEEE Conference on Decision and Control.

[12]  Ø. Hjelle,et al.  A Hamilton–Jacobi Framework for Modeling Folds in Structural Geology , 2011 .

[13]  Zhao,et al.  PARALLEL IMPLEMENTATIONS OF THE FAST SWEEPING METHOD , 2007 .

[14]  A. Vladimirsky Fast methods for static Hamilton-Jacobi Partial Differential Equations , 2001 .

[15]  Kevin M. Lepak,et al.  Cache Hierarchy and Memory Subsystem of the AMD Opteron Processor , 2010, IEEE Micro.

[16]  Pradeep Dubey,et al.  Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU , 2010, ISCA.

[17]  Ross T. Whitaker,et al.  A Fast Iterative Method for Eikonal Equations , 2008, SIAM J. Sci. Comput..

[18]  Stefan Turek,et al.  THE EIKONAL EQUATION: NUMERICAL EFFICIENCY VS. ALGORITHMIC COMPLEXITY ON QUADRILATERAL GRIDS , 2005 .

[19]  T. Gillberg A Semi-Ordered Fast Iterative Method (SOFI) for monotone front propagation in simulations of geological folding , 2011 .

[20]  Clifford A. Shaffer Data Structures and Algorithm Analysis in Java , 2011 .

[21]  Alexander Vladimirsky,et al.  Fast Two-scale Methods for Eikonal Equations , 2011, SIAM J. Sci. Comput..

[22]  Hans Petter Langtangen,et al.  Computational Partial Differential Equations - Numerical Methods and Diffpack Programming , 1999, Lecture Notes in Computational Science and Engineering.

[23]  P. Danielsson Euclidean distance mapping , 1980 .

[24]  Jack J. Dongarra,et al.  From CUDA to OpenCL: Towards a performance-portable solution for multi-platform GPU programming , 2012, Parallel Comput..

[25]  Jianbin Fang,et al.  A Comprehensive Performance Comparison of CUDA and OpenCL , 2011, 2011 International Conference on Parallel Processing.

[26]  James A. Sethian,et al.  3-D imaging using higher order fast marching traveltimes , 2002 .

[27]  S. A. Petersen,et al.  Earth Recursion, an Important Component in Shared Earth Model Builders , 2008 .

[28]  Alexander M. Bronstein,et al.  Weighted distance maps computation on parametric three-dimensional manifolds , 2007, J. Comput. Phys..

[29]  David H. Bailey,et al.  Twelve ways to fool the masses when giving performance results on parallel computers , 1991 .

[30]  Stan Openshaw,et al.  High Performance Computing and the Art of Parallel Programming: An Introduction for Geographers, Social Scientists and Engineers , 2000 .

[31]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[32]  Alexander Vladimirsky,et al.  Ordered Upwind Methods for Static Hamilton-Jacobi Equations: Theory and Algorithms , 2003, SIAM J. Numer. Anal..

[33]  E. T. Kornhauser,et al.  Ray Theory for Moving Fluids , 1953 .

[34]  T. Gillberg,et al.  A Parallel 3D Front Propagation Algorithm for Simulation of Geological Folding on GPUs , 2012 .

[35]  Alexander M. Bronstein,et al.  Parallel algorithms for approximation of distance maps on parametric surfaces , 2008, TOGS.

[36]  Tor Gillberg,et al.  A New Parallel 3D Front Propagation Algorithm for Fast Simulation of Geological folds , 2012, ICCS.

[37]  Samuel Williams,et al.  Hardware/software co-design for energy-efficient seismic modeling , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[38]  Stanley Bak,et al.  Some Improvements for the Fast Sweeping Method , 2010, SIAM J. Sci. Comput..

[39]  Didem Unat,et al.  Domain-specific translator and optimizer for massive on- chip parallelism , 2012 .

[40]  David Kaeli,et al.  Introduction to Parallel Programming , 2013 .

[41]  Klaus Mueller,et al.  Physical-Space Refraction-Corrected Transmission Ultrasound Computed Tomography Made Computationally Practical , 2008, MICCAI.

[42]  Knut-Andreas Lie,et al.  Fast computation of arrival times in heterogeneous media , 2006 .

[43]  Won-Ki Jeong,et al.  Interactive Three-Dimensional Image Analysis and Visualization Using Graphics Hardware , 2008 .