GPU Seismic Modeling Subsets for Memory and Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current seismic modeling on GPUs faces challenges with limited memory requirements, high GPU-CPU transfer bandwidth, and prolonged setup times, which hinder accurate and efficient processing of complex seismic data.

Innovation Solution

A method and system that divide seismic data into subsets allocated on GPU memory, allowing simultaneous computation and data transfer, with a small portion of data stored on GPU for computation and the rest on CPU or HDD, enabling efficient data compression and overlapping computation with data transfer, and reversing loop direction to minimize setup overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If all seismic data is loaded into GPU memory for computation, then computation speed is improved, but GPU memory requirements increase significantly

Engineering Contradiction:
Improvecomputation speedVSAvoidGPU memory requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the discretized model into multiple subsets that are allocated in GPU memory. Only the currently needed subset is loaded into GPU memory for computation, while other subsets remain on CPU or disk. This segmentation allows the system to process large seismic datasets without requiring the entire dataset to be simultaneously present in GPU memory, thus resolving the contradiction between computation speed and memory requirements.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data is transferred between CPU and GPU during computation, then data accessibility is improved, but transfer bandwidth requirements increase

Engineering Contradiction:
Improvedata accessibilityVSAvoidtransfer bandwidth requirements
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent pre-loads the currently needed subset data into GPU memory before computation begins. By preparing the data in advance and having it ready in GPU memory when needed, the system minimizes the frequency and volume of data transfers during the computation process. This preliminary action reduces the overall transfer bandwidth requirements while maintaining data accessibility.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If data is pre-processed and loaded into GPU memory before computation, then computation efficiency is improved, but setup time increases

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidsetup time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent loads only the currently needed subset of data into GPU memory rather than pre-processing and loading all data. This partial action approach maintains computation efficiency by having the necessary data ready in GPU memory while significantly reducing setup time compared to loading the entire dataset. The system performs just enough data preparation to enable efficient computation without the overhead of complete pre-processing.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8972234B2Method and system to reduce: memory requirements, device-to-host transfer bandwidth requirements, and setup time, for seismic modeling on graphics processing units
Publication Date: 2015.03.03 ADVANCED GEOPHYSICAL TECHNOLOGY INC
  • US8972234B2 patent drawing
  • US8972234B2 patent drawing
  • US8972234B2 patent drawing

AI summary

A method for seismic modeling on a GPU includes creating a discretized model containing a volume enclosed by boundaries with arbitrary boundary conditions, dividing the discretized model into subsets, transferring a data to the GPU, initializing the data stored in a selected number of the subsets on the GPU, performing computation related with a number of time steps for the selected number of the subsets on the GPU, and substantially simultaneously computing, off-loading a finished subsets data from the GPU, and up-loading a new subsets data to the GPU. The provided method and corresponding system can reduce the amount of data stored in GPU memory by an order of magnitude, minimize the GPU device-to-host transfer bandwidth requirements, and reduce the GPU setup time.