Presentation is loading. Please wait.

Presentation is loading. Please wait.

oclib: out of core optimization Paul Sava.

Similar presentations


Presentation on theme: "oclib: out of core optimization Paul Sava."— Presentation transcript:

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


Download ppt "oclib: out of core optimization Paul Sava."

Similar presentations


Ads by Google