The GIRIH software solves seismic wave propagation problems by grouping cells from the fine-scale grid of space and time coordinates into tiles as shown. By processing the tiles as individual tasks on parallel computer cores, the overall computation is much faster, potentially allowing real-time analysis of field data for fossil fuel exploration.

© 2018 Hatem Ltaief

Superior seismic imaging for better drilling

Software could transform underground imaging of fossil fuel reserves by providing unprecedented detail in record time. 

For an oil-rich country like the Kingdom of Saudi Arabia, seismic imaging is vital for efficient extraction of fossil fuels. New software, known as GIRIH, could improve the underground imaging system for more precise drilling of oil wells.

Seismic images are created by bouncing sound waves off underground geologic structures to help identify potential areas of oil and gas. Analyzing this data to generate accurate images takes significant time and computing power. The more complex the subsurface, the more fine-grained and detailed the analysis must be; and the more physical parameters included (related to different wave propagation properties through varying rock types), the greater the demand on computational requirements (memory and processing time).

Researchers at KAUST’s Extreme Computing Research Center (ECRC) are working closely with the oil company Saudi Aramco in an ambitious project, ExaWave, to design and integrate novel software into image analysis platforms. "Exa" refers to Aramco’s preparation to migrate their workload to emerging exascale architectures, capable of performing a billion-billion operations per second. The work of this partnership will facilitate rapid, accurate and sustainable fossil fuel extraction.

For future high-performance computer modeling to work efficiently, the interactions between software and hardware architectures must be refined. Hatem Ltaief, David Keyes and their team at the ECRC are redesigning numerical algorithms to adapt the mathematical models to the emerging hardware.

With help from their team at KAUST's Extreme Computing Research Center,  Hatem Ltaief (left) and David Keyes are redesigning numerical algorithms to adapt the mathematical models to the emerging hardware.

With help from their team at KAUST's Extreme Computing Research Center,  Hatem Ltaief (left) and David Keyes are redesigning numerical algorithms to adapt the mathematical models to the emerging hardware.

© 2018 KAUST

“There is a mismatch between where computing hardware design is headed in the near future and how traditional software is designed,” says Ltaief. “Future hardware systems will consist of thousands of processing units (or cores) on every node with a deep memory hierarchy. However, most current scientific codes are not ready to exploit this technology.”

Parallel computing requires breaking down large computational tasks into many smaller tasks that are processed independently before being combined into a complete solution. The popular programing model—synchronizing multiple cores to complete whole tasks—can impede performance because not all the cores finish at the same time (depending upon speed and work distribution) and fast cores must wait for slower cores to finish.

“Developers need to redesign software to reduce synchronization within multiple tasks and limit the movement of data within the memory hierarchy so that there are fewer time-consuming memory accesses,” says Ltaief. “This is what we have achieved with our new software, GIRIH, and it could potentially be used for multiple modeling applications.”

The GIRIH software builds on work by a former KAUST doctoral student, Tareq Malas, who now works at Intel in the US. The software is designed to solve partial differential equations through widely used stencil computation. Stencil frameworks divide a three-dimensional space into a grid. The value of each cell in the grid changes according to the values of surrounding cells—the stencil code specifies which cells to use to calculate the value of any given cell.

In the case of seismic imaging, wave equations, which have properties that vary over time and space,  are solved using the stencil framework. GIRIH splits the grid into tiles that each represent a certain number of cells over a certain time period (see top image). GIRIH then treats the tiles as independent computational tasks, which are executed on the underlying hardware in a parallel fashion. In this way, synchronization is replaced by tasks simply waiting for neighboring tiles upon whose data they depend.

“This tiling strategy in space and time essentially kills two birds with one stone. It reduces synchronization and reduces data retrieval time by reusing already-cached data located in the high level of the memory hierarchy,” says Ltaief. “Shaheen-2, the 200,000-core supercomputer here at KAUST, will be instrumental during the ExaWave project because it can demonstrate the performance of GIRIH at an unprecedented scale.”

The high-quality images generated by GIRIH should help in the drilling of oil wells, perhaps even in real-time, by providing fine-grained details of the immediate underground area. In this way, GIRIH could help lessen the environmental impact of oil and gas extraction by making the drilling process more precise.

“The famous hockey player, Wayne Gretzky, once said ‘a good player plays where the puck is, while a great player skates to where the puck is going to be!’,” says Keyes. “This is our goal here at the ECRC: to anticipate the future hardware revolution by creating high-performance scientific software that ensures the resilience and robustness of the whole system.”


  1. Malas, T., Hager, G., Ltaief, H., & D. Keyes, Multidimensional intratile parallelization for memory-starved stencil computations. ACM Transactions on Parallel Computing 4, 12 (2018).| article
  2. Malas, T., Hornich, J., Hager, G., Ltaief, H., Pflaum, C. & Keyes, D. Optimization of an electromagnetics code with multicore mavefront diamond blocking and Multidimensional intratile parallelization, IEEE International. Parallel and Distributed Processing Conference, 23-27 May 2016.| article
  3. Malas, T., Hager, G., Ltaief, H. Stengel, H., Wellein, G.& Keyes, D. Multicore-optimized wavefront diamond blocking for optimizing stencil updates. SIAM Journal on Scientific Computing 37, C439-C464 (2015).| article
  4. Source code is freely available at girih