Solving the Helmholtz equation via row- projections Tristan van - - PowerPoint PPT Presentation

solving the helmholtz equation via row projections
SMART_READER_LITE
LIVE PREVIEW

Solving the Helmholtz equation via row- projections Tristan van - - PowerPoint PPT Presentation

Solving the Helmholtz equation via row- projections Tristan van Leeuwen (Univ. of BC, Canada) Dan Gordon (Univ. of Haifa, Israel) Rachel Gordon (Technion, Israel) Felix J. Herrmann


slide-1
SLIDE 1

Tristan ¡van ¡Leeuwen ¡(Univ. ¡of ¡BC, ¡Canada) Dan ¡Gordon ¡(Univ. ¡of ¡Haifa, ¡Israel) Rachel ¡Gordon ¡(Technion, ¡Israel) Felix ¡J. ¡Herrmann ¡(Univ. ¡of ¡BC, ¡Canada)

Solving the Helmholtz equation via row- projections

slide-2
SLIDE 2

Modelling ¡engine ¡for ¡ 3D ¡Frequency-­‑domain ¡FWI:

  • work ¡with ¡few ¡sources/

frequencies ¡at ¡each ¡iteration

  • flexibility ¡in ¡type ¡of ¡equation
  • robust ¡
  • parallel
slide-3
SLIDE 3

3D ¡Helmholtz ¡equation:

  • large, ¡sparse, ¡indefinite ¡system
  • direct ¡factorization ¡not ¡feasible
  • `standard’ ¡preconditioners ¡often ¡

fail

  • successful ¡preconditioners ¡often ¡

tailored ¡to ¡specific ¡wave ¡equation

[Ernst ¡& ¡MarLn, ¡2011]

slide-4
SLIDE 4

VS. fast, ¡complicated,.. simple, ¡robust, ¡...

slide-5
SLIDE 5
  • Kaczmarz ¡preconditioning
  • Examples
  • Parallelization
  • 3D ¡Benchmark
  • Inversion
  • Conclusions

Overview

slide-6
SLIDE 6

The ¡Kaczmarz ¡method ¡solves ¡a ¡ system ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡by ¡successive ¡row ¡ projections with ¡relaxation ¡parameter

Kaczmarz

0 < λi < 2 x := x + λi ||ai||2

2

  • bi − aT

i x

  • ai,

Ax = b

[Kaczmarz, ¡’37]

slide-7
SLIDE 7

Kaczmarz

λ < 1 λ = 1 λ > 1

slide-8
SLIDE 8

rewrite: a ¡double ¡sweep ¡yields

Kaczmarz

x := ✓ I − λi ||ai||2

2

aiaT

i

◆ | {z }

Qi

x + λi ||ai||2

2

biai x := (Q1Q2 . . . QnQn . . . Q1) | {z }

Q

x + (. . .) |{z}

R

b

slide-9
SLIDE 9

Find ¡a ¡fixed ¡point ¡by ¡solving where ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡is ¡symmetric ¡and ¡ positive ¡semidefinite, ¡so ¡we ¡can ¡ use ¡CG ¡(CGMN).

Kaczmarz

I − Q (I − Q)x = Rb

[Bjork ¡& ¡Elfving, ¡’79]

slide-10
SLIDE 10

We ¡never ¡form ¡the ¡matrix ¡ explicitly, ¡but ¡compute ¡its ¡action:

Kaczmarz

Algorithm 1 DKSWP(A, x, b, λ) = Qx + Rb forward sweep for i = 1 to n do x := x + λ(bi − aT

i x)ai/||ai||2 2

end for backward sweep for i = n to 1 do x := x + λ(bi − aT

i x)ai/||ai||2 2

end for return x

slide-11
SLIDE 11
  • low ¡complexity ¡
  • low ¡memory ¡(same ¡as ¡original ¡matrix)
  • no ¡setup ¡time

Kaczmarz

slide-12
SLIDE 12

1D ¡profile, ¡varying ¡k, ¡10 ¡p/wavelength

1D results

0.2 0.4 0.6 0.8 1 −0.01 −0.005 0.005 0.01 x u 0.2 0.4 0.6 0.8 1 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 x p(x)

slide-13
SLIDE 13

1D results

50 100 150 200 500 1000 1500 2000 k0 # of CG iterations ATA ATWTWA I−Q w=0.5 I−Q w=1 I−Q w=1.5 500 1000 1500 2000 2500 0.2 0.4 0.6 0.8 1 i i AA* WAA*W* I−Q w=0.5 I−Q w=1 I−Q w=1.5

eigenvalues # ¡of ¡CG ¡iteraLons

slide-14
SLIDE 14

2D results

Marmousi, ¡304 ¡x ¡1100, ¡f=20, ¡h=10

  • CG ¡+ ¡Kaczmarz ¡(CGMN)
  • BiCGstab ¡+ ¡ILU(0)
  • SQMR ¡+ ¡ML [Bollhofer ¡et ¡al, ¡’08]
slide-15
SLIDE 15

¡solve ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡starting ¡from ¡random ¡vector

2D results

ILU(0) ML Kaczmarz

kx [1/m] kz [1/m] −0.05 0.05 −0.05 0.05 kx [1/m] −0.05 0.05 −0.05 0.05 kx [1/m] −0.05 0.05 −0.05 0.05 0.5 1 1.5 2

r1 = (I − M −1A)r0 r1 = Qr0 Ar = 0

slide-16
SLIDE 16

2D results

iteraLons Lme ¡[s]* CG ¡+ ¡Kaczmarz 5542 603 BiCGstab ¡+ ¡ILU(0) div. div. SQMR ¡+ ¡ML 514 379

x [m] z [m] 2000 4000 6000 8000 10000 1000 2000 3000

slide-17
SLIDE 17
  • divide ¡domain ¡in ¡blocks
  • Kaczmarz ¡sweeps ¡on ¡blocks ¡are ¡

done ¡in ¡parallel ¡(CARP)

  • average ¡boundary ¡elements ¡

between ¡each ¡sweep

  • convergence ¡guaranteed

Parallelization

[Gordon ¡& ¡Gordon, ¡’10]

slide-18
SLIDE 18

SEG/EAGE salt

7-­‑point ¡stencil, ¡ABC

slide-19
SLIDE 19

SEG/EAGE salt

iter Res/Res(0)

1000 2000 3000 4000 5000 6000 7000 8000 10

  • 8

10

  • 7

10

  • 6

10

  • 5

10

  • 4

10

  • 3

10

  • 2

10

  • 1

10 h=160; f= 1.25 h= 80; f= 2.5 h= 40; f= 5. h= 20; f=10.

f h iterations 1.25 160 310 2.5 80 510 5 40 760 10 20 1780

  • n ¡12 ¡processors
  • n ¡1 ¡processor, ¡ ✏ = 10−4
slide-20
SLIDE 20

grid: ¡105 ¡x ¡338 ¡x ¡338, ¡h=40, ¡f=5,

SEG/EAGE salt

✏ = 10−4 np iter time (s) efficiency 1 621 4444.90 1.00 2 619 3091.10 0.72 4 593 1335.00 0.83 8 599 737.90 0.75

slide-21
SLIDE 21

27 ¡point ¡stencil ¡(2nd ¡order), ¡PML

Overthrust

slide-22
SLIDE 22

Overthrust

100 200 300 400 500 600 10

−4

10

−3

10

−2

10

−1

10 iteration

  • rel. residual

f=1.5 Hz. f=3 Hz. f=6 Hz.

  • n ¡1 ¡processor

f=1.5, ¡h=200 f=3, ¡ ¡ ¡ ¡h=100 f=6, ¡ ¡ ¡ ¡h=50

slide-23
SLIDE 23

grid: ¡47x201x201, ¡h=100, ¡f=3 ¡Hz, ¡

Overthrust

✏ = 10−4 np iter time efficiency 1 659 20785.40 1.00 2 657 11306.90 0.92 4 596 4882.50 0.96 8 603 3960.10 0.60

slide-24
SLIDE 24

Inversion

500 1000 500 1000 2500 3000 3500 x [m] z [m] velocity [m/s]

Camembert ¡model ¡ ¡in ¡2D ¡...

slide-25
SLIDE 25

Inversion

EDAM ¡model ¡ ¡in ¡3D ¡!

500 1000 500 1000 500 1000 x [km] y [km] z [km]

slide-26
SLIDE 26

transmission ¡setup, ¡9 ¡sources, ¡ 3 ¡frequencies

Inversion

500 1000 500 1000 500 1000 x [km] y [km] z [km]

2 4 6 8 10 10 iteration

  • rel. model error

= 10−2 = 10−3

¡1.0 ¡0.7 ¡0.8 ¡0.9

slide-27
SLIDE 27
  • simple, ¡robust ¡and ¡generic ¡

preconditioner

  • no ¡overhead, ¡cheap ¡to ¡apply
  • easy ¡to ¡parallelize

Conclusions

slide-28
SLIDE 28
  • efficient ¡ ¡implementation ¡of ¡

sweeps ¡using ¡multi-­‑threading

  • investigate ¡BlockCG
  • incorporate ¡in ¡inversion
  • high-­‑order ¡schemes

Future plans

slide-29
SLIDE 29

http://cs.haifa.ac.il/~gordon/soft.html

slide-30
SLIDE 30

Acknowledgements

This ¡work ¡was ¡in ¡part ¡financially ¡supported ¡by ¡the ¡Natural ¡Sciences ¡and ¡Engineering ¡ Research ¡Council ¡of ¡Canada ¡Discovery ¡Grant ¡(22R81254) ¡and ¡the ¡Collaborative ¡ Research ¡and ¡Development ¡Grant ¡DNOISE ¡II ¡(375142-­‑08). ¡This ¡research ¡was ¡carried ¡

  • ut ¡as ¡part ¡of ¡the ¡SINBAD ¡II ¡project ¡with ¡support ¡from ¡the ¡following ¡organizations: ¡

BG ¡Group, ¡BP, ¡Chevron, ¡ConocoPhillips, ¡Petrobras, ¡Total ¡SA, ¡and ¡WesternGeco.

slide-31
SLIDE 31

Bollhöfer, ¡M., ¡Grote, ¡M. ¡J., ¡& ¡Schenk, ¡O. ¡(2009). ¡Algebraic ¡MulLlevel ¡PrecondiLoner ¡for ¡ the ¡Helmholtz ¡EquaLon ¡in ¡Heterogeneous ¡Media. ¡SIAM ¡J. ¡on ¡Sc. ¡Comp., ¡31(5), ¡3781. ¡ Gordon, ¡D. ¡and ¡Gordon, ¡R. ¡(2010). ¡CARP-­‑CG: ¡A ¡robust ¡and ¡efficient ¡parallel ¡solver ¡for ¡ linear ¡systems, ¡applied ¡to ¡strongly ¡convecLon ¡dominated ¡PDEs. ¡Parallel ¡CompuTng, ¡ 36, ¡495–515. Björck, ¡Å. ¡and ¡Elfving, ¡T. ¡(1979) ¡Accelerated ¡projecLon ¡methods ¡for ¡compuLng ¡ pseudoinverse ¡soluLons ¡of ¡systems ¡of ¡linear ¡equaLons. ¡BIT, ¡19, ¡145–163. Kaczmarz, ¡S. ¡[1937] ¡Angenäherte ¡auflösung ¡von ¡systemen ¡linearer ¡gleichungen. ¡ BulleTn ¡InternaTonal ¡de ¡l’Académie ¡Polonaise ¡des ¡Sciences ¡et ¡des ¡LeYres, ¡35, ¡355–357. Ernst, ¡O.G. ¡and ¡MarLn ¡J. ¡(2011) ¡Why ¡it ¡is ¡Difficult ¡to ¡Solve ¡Helmholtz ¡Problems ¡with ¡ Classical ¡IteraLve ¡Methods. ¡Unpublished.

References