Modeling for Inversion in Exploration Geophysics A
Total Page:16
File Type:pdf, Size:1020Kb
MODELING FOR INVERSION IN EXPLORATION GEOPHYSICS A Dissertation Presented to The Academic Faculty By Mathias Louboutin In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of CSE in the College of Computing Georgia Institute of Technology February 2020 Copyright c Mathias Louboutin 2020 MODELING FOR INVERSION IN EXPLORATION GEOPHYSICS Approved by: Dr. Felix J. Herrmann, Advisor School Computational Science and Engineering Dr. Tobin Isaac Georgia Institute of Technology School of Computer Science Georgia Institute of Technology Dr. Umit Catalyurek School Computational Science and Dr. Zhigang Peng Engineering School of Earth and Atmospheric Georgia Institute of Technology Sciences Georgia Institute of Technology Dr. Edmond Chow School Computational Science and Date Approved: March 1, 2020 Engineering Georgia Institute of Technology ACKNOWLEDGEMENTS Before anything else, I would like to thank my supervisor Dr Felix J. Herrmann for giv- ing me the opportunity to work with him. Thanks to his leadership I had the opportunity to work and scientifically challenging problems in a collaborative and motivating atmosphere. I would also like to thank Professor Gerard Gorman at Imperial college. And large part of my research was kick-started by a visit at Imperial College and Dr. Gorman’s support and guidance made me achieve my research objective. I would like to thank Professor Umit Catalyurek, Professor Edmond Chow, Professor Tobin Isaac and Professor Zhigang Peng for agreeing to be on my Ph.D. committee at Georgia Tech, for reviewing my thesis, for making time for my proposal and defense and for your valuable input on my work. I would also like to thank my former Ph.D. committee at the University of British Columbia, Professor Michael Bostock, Professor Ozgur Yilmaz who oversaw me during the first years of my Ph.D. and throughout my candidacy. I am very thankful to the collaborators I had, including my coworkers at SLIM and at Imperial college. I would specifically like to thank Philipp Witte at SLIM, with whom I collaborated closely over the years and who greatly helped me to improve my writing. I would also like to thank Dr F. Luporini who has been my greatest motivation to be a better programmer. Our collaboration allowed Devito to grow to what it is today. Warm thanks to Henryk Modzelewski at UBC and to our former administrative assistant Miranda Joyce that helped me navigate graduate studies and welcomed me and helped be part of the SLIM team. May thanks to Sverre Brandsberg-Dahl and his colleagues at Microsoft (Alexander Morris, Steve Roach, Fred Park) who made our project in the Cloud feasible and provided us support and visibility. I would like to acknowledge the sponsors of SLIM and SINDAB and Georgia Institute of Technology that provided funding form y research over the course fo my PhD. v TABLE OF CONTENTS Acknowledgments................................... v List of Tables...................................... xi List of Figures..................................... xii Chapter 1: Introduction................................ 1 1.1 Introduction and Background......................... 1 1.2 Wave-equation based geophysical exploration................ 4 1.3 Motivational example............................. 8 1.4 Modeling for inversion ............................ 10 1.4.1 Adjoint modeling........................... 10 1.4.2 Verification of sensitivities...................... 13 1.4.3 Imaging................................ 15 1.5 Objectives................................... 18 1.6 My contributions ............................... 20 1.7 Outline..................................... 23 Chapter 2: Performance prediction of finite-difference solvers for different com- puter architectures............................ 25 2.1 Introduction.................................. 25 vi 2.2 Introduction to stencil computation...................... 27 2.2.1 Notes on parallelization: ....................... 29 2.3 Roofline Performance Analysis........................ 29 2.3.1 Establishing the Roofline....................... 31 2.3.2 Performance Model.......................... 33 2.4 Operational intensity for finite-differences.................. 35 2.4.1 Stencil operators ........................... 35 2.5 Example: MADAGASCAR modelling kernel ................ 41 2.6 Cost-benefit analysis ............................. 45 2.7 Conclusions.................................. 47 2.A Appendix ................................... 48 2.A.1 Wave-equations............................ 48 Chapter 3: Devito API................................. 51 3.1 introduction.................................. 51 3.2 Background.................................. 53 3.3 Symbolic definition of finite difference stencils with Devito......... 56 3.3.1 Code generation - an overview.................... 56 3.3.2 Discrete function symbols ...................... 58 3.4 Seismic modeling and inversion ....................... 64 3.4.1 Full-Waveform Inversion....................... 65 3.4.2 Acoustic forward modelling operator................. 66 3.4.3 Discrete adjoint wave-equation and FWI gradient.......... 68 vii 3.4.4 FWI using Devito operators ..................... 69 3.5 Verification .................................. 70 3.5.1 Numerical accuracy.......................... 71 3.5.2 Propagators verification for inversion................. 73 3.5.3 Validation: Full-Waveform Inversion................. 77 3.5.4 Computational Fluid Dynamics.................... 78 3.6 Performance.................................. 82 3.6.1 Error-cost analysis .......................... 84 3.6.2 Roofline analysis........................... 85 3.7 Future Work.................................. 88 3.8 conclusions .................................. 88 3.9 Code Availability ............................... 89 Chapter 4: Devito compiler.............................. 90 4.1 Introduction.................................. 90 4.2 Related work ................................. 92 4.2.1 DSL-based frameworks for partial differential equations . 92 4.2.2 High-level approaches to finite differences.............. 93 4.2.3 Devito and seismic imaging ..................... 93 4.2.4 Performance optimizations...................... 94 4.3 Specification of a finite-difference method with Devito ........... 94 4.3.1 Symbolic types............................ 94 4.3.2 Discretization............................. 96 viii 4.3.3 Boundary conditions ......................... 98 4.3.4 Control flow.............................. 99 4.3.5 Domain, halo, and padding regions.................. 99 4.4 The Devito compiler .............................100 4.4.1 Equations lowering..........................100 4.4.2 Local analysis.............................102 4.4.3 Clustering...............................103 4.4.4 Symbolic optimization ........................106 4.4.5 IET construction ...........................106 4.4.6 IET analysis..............................108 4.4.7 IET optimization ...........................108 4.4.8 Synthesis, dynamic compilation, and execution . 108 4.4.9 Operator specialization through backends . 109 4.5 Automated performance optimizations....................110 4.5.1 DSE - Devito Symbolic Engine....................110 4.5.2 DLE - Devito Loop Engine......................112 4.5.3 YLE - YASK Loop Engine......................113 4.6 The Cross-Iteration Redundancy-Elimination Algorithm . 116 4.6.1 Extraction of candidate expressions . 116 4.6.2 Detection of aliases..........................117 4.6.3 Loop blocking for working-set minimization . 119 4.7 Performance evaluation............................121 4.7.1 Compiler and system setup......................121 ix 4.7.2 Test case setup ............................123 4.7.3 Performance: acoustic wave in isotropic model . 124 4.7.4 Performance: acoustic wave in tilted transverse isotropy model . 125 4.8 Further work..................................127 4.9 Conclusions..................................129 Chapter 5: Conclusions................................ 130 5.1 Summary ...................................130 5.1.1 Performance prediction and evaluation . 131 5.1.2 Software design with separation of concern . 132 5.2 Enabling research...............................135 5.2.1 JUDI .................................136 5.2.2 Imaging in the cloud .........................139 5.3 Extended API.................................141 5.4 Future work..................................146 Chapter A: Appendix................................. 149 A.1 Distribution and copyrights..........................149 References....................................... 168 x LIST OF TABLES 1.1 Adjoint test for the different wave-equation and their respective adjoint/time- reverse. We show the normalized error, i.e the error w.r.t the wave-equation. The results for the two layer model are as expected good for all kernel as it only measures the isotropic first layer while the transmission experiment and the 2007 BP model [72] demonstrates that only the true adjoint passes the dot-test for a strongly anisotropic media.................. 15 2.1 Derivation of F LOP s per stencil invocation for each equation. 36 2.2 Cost-to-solution computational setup summary. ............... 47 2.3 Cost-to-solution estimation for several spatial discretizations on fixed phys- ical problem................................... 47 3.1 Adjoint test for different discretization orders in 2D, computed on a two layer model in double precision. ....................... 75 3.2 Adjoint test for different discretization