In reflection seismology, one algorithm to project seismic waves recorded on the surface into the Earth’s subsurface is Kirchhoff Time Migration (KTM). Due to the huge amounts of data involved, running KTM over all data from a measurement campaign typically takes days on large supercomputers. It is therefore crucial to optimise for high performance on today’s processors, including commodity CPUs and accelerator processors such as GPUs and Intel’s Xeon Phi.

This white paper gives practical tips on how to use modern CPU features such as wide vector units, cache hierarchies, NUMA memory hierarchies, and the latest instruction sets can be used to achieve large performance gains for KTM. It further details how to tap into the compute power of Nvidia GPUs and align the available processing cores and memory hierarchy with the KTM algorithm. As Intel’s Xeon Phi becomes increasingly popular, the paper explores its suitability for the KTM algorithm. Practical implementations need to combine accelerators and CPUs in a compute cluster, and we detail how to hide the necessary data transfer latencies.

  • Kirchhoff Time Migration algorithm and variants
  • Vectorisation techniques in KTM
  • Best use of cache and NUMA memory hierarchies
  • Mapping to Nvidia GPUs
  • Use of Intel’s Xeon Phi
  • Hiding of data transfer latencies in a cluster
  • This field is for validation purposes and should be left unchanged.
top