Download presentation
Presentation is loading. Please wait.
1
paul@sep.stanford.edu oclib: out of core optimization Paul Sava
2
paul@sep.stanford.edu My goal Quick introduction to the library Not much about inversion theory Ask the right questions
3
paul@sep.stanford.edu Jon Claerbout’s optimization book Image estimation by example: Geophysical sounding image construction Multidimensional autoregression http://sepwww.stanford.edu/sep/prof
4
paul@sep.stanford.edu Linear operators L :linear operator m :image d :data
5
paul@sep.stanford.edu Linear operators call operator_init(…) stat=operator(adj,add,m,d) m d L
6
paul@sep.stanford.edu Least-squares inversion
7
paul@sep.stanford.edu Simple inversion R=Lm 0 -d iterate { g = L * R G = L g (m,R) <- step(m,R,g,G) } m : model d : data L : physics
8
paul@sep.stanford.edu Regularized inversion W : weighting A : regularization : relative weight
9
paul@sep.stanford.edu Preconditioned inversion p : preconditioned m
10
paul@sep.stanford.edu Why out-of-core optimization Least-squares imaging m : image d : data L : WE modeling operator A : styling operator W : weighting operator Velocity analysis m : slowness perturbation d : image perturbation L : WE MVA operator A : styling operator W : weighting operator
11
paul@sep.stanford.edu Linear operator example: WE MVA stat = weimva(adj,add, dS,dR, SLop=weiop_sllN, SCop=weiop_bor1, WCop=weiop_mwcN, FKop=weiop_wem3, FXop=weiop_ssf3, IGop=weiop_hcig) call weimva_init( SLin=weiop_sllN_init, SCin=weiop_bor1_init, WCin=weiop_mwcN_init, FKin=weiop_wem3_init, FXin=weiop_ssf3_init, IGin=weiop_hcig_init)
12
paul@sep.stanford.edu Outline Overview Solvers Examples
13
paul@sep.stanford.edu Simple solver init R=Lm-d iterate { g=L* R G=L g (m,R) <- step(m,R,g,G) } call oc_mpi_solver_init ( impi, ocniter, ocmaxmem, ocverb, mmovie, dmovie )
14
paul@sep.stanford.edu Simple solver R=Lm-d iterate { g=L* R G=L g (m,R) <- step(m,R,g,G) } call oc_mpi_solver ( L=weimva, m_=dS, d_=dR, S=oc_cgstep, op1=weiop_slo1, op2=weiop_mwc1, op3=weiop_bor1, op4=weiop_wem3, op5=weiop_ssf3, op6=weiop_hcig )
15
paul@sep.stanford.edu Simple solver do i=1,ocniter stat=L( T,F, g_, rd_, op1 … op9) stat=L( F,F, g_, gd_, op1 … op9) stat=S(forget,m_,g_,(/rd_/),(/gd_/),…) end do R=Lm-d iterate { g=L* R G=L g (m,R) <- step(m,R,g,G) }
16
paul@sep.stanford.edu Cluster execution do i=1,ocniter stat=L( T,F, g_, rd_, op1 … op9) stat=L( F,F, g_, gd_, op1 … op9) stat=S(forget,m_,g_,(/rd_/),(/gd_/),…) end do R=Lm-d iterate { g=L* R G=L g (m,R) <- step(m,R,g,G) } master node 1node 2node 3node 4
17
paul@sep.stanford.edu Solver with regularization call oc_mpi_solverreg( L=weimva, m_=dS, d_=dR, A=oc_laplacian, S=oc_cgstep, op1=weiop_slo1, op2=weiop_mwc1, op3=weiop_bor1, op4=weiop_wem3, op5=weiop_ssf3, op6=weiop_hcig )
18
paul@sep.stanford.edu Solver with preconditioning call oc_mpi_solverpre( L=weimva, m_=dS, d_=dR, P=oc_ilaplacian, S=oc_cgstep, op1=weiop_slo1, op2=weiop_mwc1, op3=weiop_bor1, op4=weiop_wem3, op5=weiop_ssf3, op6=weiop_hcig )
19
paul@sep.stanford.edu Outline Overview Solvers Examples
20
paul@sep.stanford.edu Example & Lab WE MVA for diffracted data d : image perturbation m : slowness perturbation Operator calls forward: scattering mode adjoint: backprojection mode Regularized inversion model movie data residual movie
21
paul@sep.stanford.edu Example
22
paul@sep.stanford.edu Example: d = Lm
23
paul@sep.stanford.edu Example: m = L * d
24
paul@sep.stanford.edu Example: m = [L * L+ 2 A * A] -1 L*d
25
paul@sep.stanford.edu Iteration 1: R d =d-Lm
26
paul@sep.stanford.edu Iteration 2: R d =d-Lm
27
paul@sep.stanford.edu Iteration 3: R d =d-Lm
28
paul@sep.stanford.edu Iteration 4: R d =d-Lm
29
paul@sep.stanford.edu Iteration 5: R d =d-Lm
30
paul@sep.stanford.edu Summary Flexible, reusable f90 code Cluster ready Standard operator interface Conjugate-gradient solvers –Regularization –Preconditioning
31
paul@sep.stanford.edu Resources (name@sep.stanford.edu) Developers: –Paul, Bob Manual –Marie Users –Antoine, Nick
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.