Download presentation
Presentation is loading. Please wait.
Published byCornelius Hensley Modified over 8 years ago
1
IWAVE++: a Framework for Imaging and Inversion based on Regular-Grid Finite Difference Modeling William W. Symes The Rice Inversion Project Department of Computational and Applied Mathematics Rice University, Houston, TX symes@caam.rice.edu 30 March 20121TRIP 2011 Review
2
Rice Vector Library 30 March 2012TRIP 2011 Review2
3
C++ classes expressing calculus in Hilbert Space Design Paper: Padula, Scott & S, ACM TOMS 2009 High level abstractions – Space, Vector, (linear or nonlinear) Operator, Functional Evaluation objects – organize the value of function & derivatives at a point, enforce coherency 30 March 20123TRIP 2011 Review Abstract time- stepping library, including universal implementation of optimal checkpointing Abstract Optimization: the Rice Vector Library (“RVL”)
4
Typical use: migration looks like MyKindaDataSpace dsp(…); MyKindaModelSpace msp(…); Vector m(msp); Vector g(msp); Vector d(dsp); … MyKindaModelingOp op(….); OperatorEvaluation opeval(op,m); opeval.getDeriv().applyAdj(d,g); “THE MATH IS THE API” 30 March 20124TRIP 2011 Review Abstract time- stepping library, including universal implementation of optimal checkpointing Abstract Optimization: the Rice Vector Library (“RVL”)
5
Built on RVL: Optimization Library UMin: LBFGS, trust region G-N-K, CG, Arnoldi… Abstract time-stepping library TSOpt, including universal implementation of optimal checkpointing (Griewank 92) Plans: additional algorithms (L1, TV, matrix-free TR-SQP, …) 30 March 20125TRIP 2011 Review Abstract time- stepping library, including universal implementation of optimal checkpointing Abstract Optimization: the Rice Vector Library (“RVL”)
6
Critical component: standard interface to concrete data types – in-core, out-of-core, distributed,… RVL Objects = intrusive handles – underlying data not exposed, limited access, usually no operator new Examples: FunctionObjects to perform array operations for linear algebra, associate out-of-core data with Vectors, etc. New data types – build these components! 30 March 20126TRIP 2011 Review Abstract Optimization: the Rice Vector Library (“RVL”) DataContainer – data abstraction, forms Visitor pattern with FunctionObject – encapsulates all actions on data
7
RVL + IWAVE = IWAVE++ 30 March 2012TRIP 2011 Review7
8
Reverse Time Migration and Full Waveform Inversion Requirements for any inversion implementation: modeling linearized (“Born”) modeling adjoint (transposed) linearized modeling [= RTM] optimization algorithm, implementation interface modeling and optimization Our approach: maximize code re-use high-quality abstract optimization, linear algebra library (RVL) middleware layer forms interface 30 March 20128TRIP 2011 Review
9
Reverse Time Migration and Full Waveform Inversion Code re-use - build on IWAVE: define additional interfaces needed using IWAVE types, minimal extensions: gts_adj(RDOM * p, RDOM * r, int iv, void * gfd_pars) re-use parallel automation, job control, i/o from IWAVE However IWAVE data structures (RDOM etc.) are not RVL vectors, and simulators are not operators… 30 March 20129TRIP 2011 Review
10
Reverse Time Migration and Full Waveform Inversion Middleware layer – IWAVE++ C++ classes encapsulating high-level drivers for IWAVE functions, Born & adjoint extensions delegates checkpointing, optimization functions to TSOpt RVL data types translated to IWAVE in/outputs [WWS, Enriquez & Sun, Geophys. Prosp. 11] Release with acoustic staggered grid app: Q2 12 Claims to fame: works just like IWAVE, passes dot product test […demo] 30 March 201210TRIP 2011 Review
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.