next up previous [pdf]

Next: GPU implementation using CPML Up: Effective boundary saving Previous: Effective boundary for staggered

Storage analysis

For the convenience of complexity analysis, we define the size of the original model as $ nz\times nx$ . In each direction, we pad the model with the $ nb$ points on both sides as the boundary. Thus, the extended model size becomes $ (nz+2nb)(nx+2nb)$ . Conventionally one has to save the whole wavefield within the model size on the disk. The required number of points is

$\displaystyle nz\cdot nx.$ (9)

According to Dussaud et al. (2008), for $ 2N$ -th order finite difference in regular grid, $ N$ points on each side are added to guarantee the correctness of inner wavefield. The saving amount of every time step is

$\displaystyle 2N\cdot nz+2N\cdot nx=2N(nz+nx).$ (10)

In the proposed effective boundary saving strategy, the number becomes

$\displaystyle 2N\cdot nz+2N\cdot nx-4N^2=2N(nz+nx)-4N^2.$ (11)

In the case of staggered grid, there are $ 2N-1$ points on each side. Allowing for four corners, the number for the effective boundary saving is

$\displaystyle 2(2N-1)nz+2(2N-1)nx-4(2N-1)^2=2(2N-1)(nz+nx)-4(2N-1)^2$ (12)

Assume the forward modeling is performed $ nt$ steps using the floating point format on the computer. The saving amount will be multiplied by $ nt\cdot \mathrm{sizeof(float)}=4nt$ . Table 3 lists this memory requirement for different boundary saving strategies.


Table 3: Storage requirement for different saving strategy
Boundary saving scheme Saving amount (Unit: Bytes)
Conventional saving strategy $ 4 nt\cdot nz\cdot nx$
Dussaud's: regular grid $ 4 nt\cdot2N(nz+nx) $
Effective boundary: regular grid $ 4 nt\cdot(2N(nz+nx)-4N^2) $
Effective boundary: staggered grid $ 4 nt\cdot(2(2N-1)(nz+nx)-4(2N-1)^2) $

In principle, the proposed effective boundary saving will reduce $ 4nt\cdot 4N^2$ bytes for regular grid finite difference, compared with the method of Dussaud et al. (2008). The storage requirement of staggered grid based effective boundary saving is about $ (2N-1)/N$ times of that in the regular grid finite difference, by observing $ 2N\ll nb\ll nx,nz$ . For the convenience of practical implementation, the four corners can be saved twice so that the saving burden of the effective boundary saving has no difference with the method of Dussaud et al. (2008) in regular grid finite difference. Since the saving burden for staggered grid finite difference has not been touched in Dussaud et al. (2008), it is still of special value to minimize its storage requirement for GPU computing.


next up previous [pdf]

Next: GPU implementation using CPML Up: Effective boundary saving Previous: Effective boundary for staggered

2021-08-31