Task-parallel implementation of 3D shortest path raytracing for geophysical applications

  • Authors:
  • Bernard Giroux;BenoíT Larouche

  • Affiliations:
  • INRS-ETE, 490, Rue de la Couronne, Québec, QC, Canada G1K 9A9;ícole Polytechnique de Montréal, Département de Génie Physique, C.P. 6079, Succ. Centre-Ville, Montréal, QC, Canada H3C 3A7

  • Venue:
  • Computers & Geosciences
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper discusses two variants of the shortest path method and their parallel implementation on a shared-memory system. One variant is designed to perform raytracing in models with stepwise distributions of interval velocity while the other is better suited for continuous velocity models. Both rely on a discretization scheme where primary nodes are located at the corners of cuboid cells and where secondary nodes are found on the edges and sides of the cells. The parallel implementations allow raytracing concurrently for different sources, providing an attractive framework for ray-based tomography. The accuracy and performance of the implementations were measured by comparison with the analytic solution for a layered model and for a vertical gradient model. Mean relative error less than 0.2% was obtained with 5 secondary nodes for the layered model and 9 secondary nodes for the gradient model. Parallel performance depends on the level of discretization refinement, on the number of threads, and on the problem size, with the most determinant variable being the level of discretization refinement (number of secondary nodes). The results indicate that a good trade-off between speed and accuracy is achieved with the number of secondary nodes equal to 5. The programs are written in C++ and rely on the Standard Template Library and OpenMP.