Seismic Imaging POC ideas required..

Hi There!

My name is Magmaman and I eat hot molten lava for a living…

Coming to point,

Appreciate some inputs on where CUDA can be used to accelerate seismic imaging. Is it kirchoff migration? or ray tracing process?? I am still readin up… but I thought I could get help from some of the experienced folks out here… Thanks!

Welcome to CUDA. :)

you have an interesting introduce “My name is Magmaman and I eat hot molten lava for a living…”

A CUDA program working likes SIMD model. So depend on your algorithm, you can use CUDA or not.


Thank you for your response. Seein your name, I remember a viet. restaurant “Quoc Ta” in california. I had fried rice ther… Pretty guud.


You have reacted to my right brain. but not to my left brain’s inqusitiveness. Anyway, Thanks for your compliment. Well, actually I am looking for inputs on what algorithms to choose…

Still awaiting for my piece of lava… I am hungry. Do you have it? Bring it on…

you have strange kind of humor. ;)

but back to your question:

on the nvidia cuda homepage i found this:…8b-0800200c9a66


so there is an implementation of ray tracing using cuda.

sorry i don’t know the other algorithm you mentioned.

Hello Stefan,

Thanks for your teaspoon of lava!

The links are related to ray-tracing in optics. They may be applicable. I am yet to read through seismic theories - there r a lot. I will re-visit the links at a latter point of time.

Seismology is mainly related to wave propagation though. Seism… also has ray tracing to model how seismic waves propagate, get reflected, refracted, diffracted and come back as echo on to earth surface again.

Lava Lover

I don’t have any knowledge about seismology, but with your described above.

I think NVIDIA SDK- Particles and Fluids sample programs are useful for your reference.


Im also not versed in the ways of lava, but the raytracing you speak of sounds like some kind of raycasting where density or some such value is accumulated between two points in an volume of voxels.
Or maybe im way off.

Anyway, this kind of raytracing is used in radiotherapy, which i am versed in! Have a look at Siddon’s algorithm and see if that could be useful for you.

Ive implemented that in cuda as part of a larger implementation and it has shown good results.

Raytracing is not ideal, as it branches, loops, and looks up memory a lot. But it does somewhat work!

Finite difference :…FTOKEN=34151762

Spectral elements :

D. Komatitsch, et al., Porting a high-order finite-element earthquake modeling application to NVIDIA graphics cards using CUDA, J.

Parallel Distrib. Comput. (2009), doi:10.1016/j.jpdc.2009.01.006

hope it can help you.

There are tons of works on seismic processing using CUDA – there is even a library available from Acceleware:…mic_Solvers_RTM

Optimizing CUDA - Finite Difference Time Domain Results (Paulius Micikevicius, SC08)

SeismicCity Improves Depth Perception With NVIDIA GPU Computing Technology (PRNewswire First call)

SeismicCity Success Story (Challenge, Solution, Impact)

OpenGeoSolutions Transforms Seismic Modeling With NVIDIA TESLA (11 Nov 2008)

Seismic Imaging on NVIDIA GPUs: Algorithms and Porting & Production Experiences (Scott Morton, Hess, SC08)

Experiences with Seismic Algorithms on GPUs (Scott Morton, Hess Corporation) Morton-Hess.pdf

Scott Morton, Hess Corporation, Talks about Tesla/CUDA (YouTUBE, NOV 08)

Imaging Earth’s Subsurface Using CUDA (GPU Gems, Chapter 38, CGG-Veritas)…/gems3_ch38.pdf

Case Study: Wave propagation through earth (SC07 Tutorial, CGG-Veritas)…Deschizeaux.pdf

3D Visualization and GPU Computing (Mercury Visualization Sciences)

Computing attributes on full seismic volume - comparing CPU to GPU, using CUDA (Mercury’s OpenInventor tools)…emo_640x360.flv

Headwave Massively Parallel Acrhitecture (Headwave - 200X speedup)

SVI Pro Advanced 3D Seismic Analysis (ffA interview in The Journal of Offshore Technology)


@Ailleur, @DugNu,

Thanks for the links. That would be very helpful!


You have bursted out like Mt.Vesuvius with lot of lava. Thanks!
Appreciate your time very very much!