Browsing by Author "Zhou, Muhong"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Energy-Conserving Composite Staggered-Grid Finite-Difference Time-Domain Scheme for First-Order Wave Equation System(2017-04-20) Zhou, Muhong; Symes, William WFinite-difference time-domain (FDTD) scheme has been widely used for seismic wave simulations in hydrocarbon exploration and earthquake modeling. To reduce the grid dispersion numerical artifact, FDTD scheme needs to use finer grids on low-velocity regions than on high-velocity regions. Therefore, if the simulation region presents strong velocity variations, then using a composite-grid FDTD scheme is computationally more efficient than using a uniform-grid FDTD scheme. The challenge, however, is to construct a composite-grid FDTD scheme that is numerically stable. In this work, I propose an energy-conserving composite staggered-grid FDTD scheme (EC-CGS) for the first-order wave equation system. The composite-grid configuration allows EC-CGS to use a fine grid on the low-velocity region and a coarse grid on the high-velocity region. Meanwhile, the energy-conserving property ensures numerical stability for EC-CGS provided that the time step meets a constraint of CFL type. In addition, EC-CGS is also consistent with the transmission condition across the grid refinement interface, because one key step in EC-CGS is to update the data near the grid refinement interface by solving linear equation system(s) derived from the energy-conserving property and the transmission condition. Numerical results of 1-D/3-D wave simulations confirmed the energy-conserving property, stability and convergence of EC-CGS. In particular, EC-CGS solutions agree well with UGS solutions even when strong heterogeneity is present across the grid interface, despite the fact that EC-CGS uses a coarser grid on part of the computational domain and thereby takes less run time and needs less memory.Item Wave Equation Based Stencil Optimizations on a Multi-core CPU(2014-11-04) Zhou, Muhong; Symes, William W.; Riviere, Beatrice; Warburton, TimothyWave propagation stencil kernels are engines of seismic imaging algo- rithms. These kernels are both compute- and memory-intensive. This work targets improving the performance of wave equation based stencil code parallelized by OpenMP on a multi-core CPU. To achieve this goal, we explored two techniques: improving vectorization by using hardware SIMD technology, and reducing memory traffic to mitigate the bottle- neck caused by limited memory bandwidth. We show that with loop interchange, memory alignment, and compiler hints, both icc and gcc compilers can provide fully-vectorized stencil code of any order with per- formance comparable to that of SIMD intrinsic code. To reduce cache misses, we present three methods in the context of OpenMP paralleliza- tion: rearranging loop structure, blocking thread accesses, and temporal loop blocking. Our results demonstrate that fully-vectorized high-order stencil code will be about 2X faster if implemented with either of the first two methods, and fully-vectorized low-order stencil code will be about 1.2X faster if implemented with the combination of the last two methods. Our final best-performing code achieves 20%∼30% of peak GFLOPs/sec, depending on stencil order and compiler.