The place where
geology, geophysics,
and computer science meet
information technologies
for oil and gas exploration

Seismic processing with Cell

Cell-based computing facilities can be successfully applied to seismic data processing. This is proved by the research made at GEOLAB Ltd. See the paper (PDF,1.1Mb,RUS).

Prototypes of the following three popular processing procedures were developed: Bandpass filter (filter_1d), Kirchhoff poststack time migration (mig), and surface-related multiple prediction - SRMP (srmp).

Source-codes are available here. The programs are all in C language, and they were compiled with the gcc 4.1 compiler. There are Shell scripts for building and running the programs. Programs and scripts with x86 in their names are designed for "conventional" (not only Intel/AMD x86) systems. Programs and scripts with cbe in their names are for Cell/BE based systems. In the spu directory, there are programs running the SPE threads for Cell programs.

The two programs (filter_1d and srmp) for conventional CPUs require the libfftw3 library (available here). All Cell programs require the libspe library, and the programs filter_1d and srmp require the libfft library, supplied with IBM Cell SDK.

In order to install the programs:

  • Install required third-party libraries (see above)
  • Create a directory, e.g. CellSeismic (mkdir CellSeismic) and copy the source code archive there
  • Unpack: tar xvfz cell-in-seismic.tar.gz
  • Build and run the program with the corresponding script: ./

Complete list of all programs.

Program Description
filter_1d_x86.c Bandpass filter for conventional CPUs
filter_1d_cbe.c PPE-part of the band-pass filter for Cell/BE
filter_1d_spu.c SPE-part of the band-pass filter for Cell/BE
mig_x86.c Migration for conventional CPUs
mig_cbe.c PPE-part of the migration program for Cell/BE
mig_spu.c SPE-part of the migration program for Cell/BE
srmp_x86.c SRMP for conventional CPUs
srmp_cbe.c PPE-part of the SRMP program for Cell/BE
srmp_spu.c SPE-part of the SRMP program for Cell/BE