Implementing Challenging Seismic Attributes on the GPU | GTC … · Implementing Challenging...

Preview:

Citation preview

®

Porting Makes You Stronger Implementing Challenging Seismic Attributes

on the GPU

Jon Marbach,

Rich Welch,

Steve Dominguez,

Pate Motter

TerraSpark Geosciences

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved.

• Talk overview

• Introductions

• Algorithms Ported

• Development Strategy

• Supporting GPU Acceleration in a Commercial Product

• Performance

• “Porting Makes You Stronger”

• Workflow Impact

• Conclusions

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 2

Implementing Seismic Attributes on the GPU

• Who am I?

• Software Architect / Engineer, not a

Geoscientist

• Couldn’t tell a Horst from a Graben

• Background in graphics (with OpenGL)

• I love GPUs!

• An OpenCL user

• Not a CUDA expert

• Under pressure to get results quickly

• I go for quick-wins

• Might not know every trick in the book

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 3

Implementing Seismic Attributes on the GPU

• Who is TerraSpark?

• Maker of the seismic interpretation

package Insight Earth™

• Workstation-class application

• Specialize in interpretation of

Faults, Salt, Stratigraphy, and

Shale Plays

• Time-saving tools for interpreters

• “True 3D” interpretation approach

• Compute-intensive attribute calculations

• Visualization-oriented

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 4

Implementing Seismic Attributes on the GPU

• Why GPU Acceleration?

• 3D “Image” Data

• Algorithms are image-

processing inspired

• Algorithms are data-parallel

• Algorithms tend to “gather”

many neighboring samples

• Can (sometimes) leverage

fast GPU interpolation

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 5

Implementing Seismic Attributes on the GPU

• 4 Key Interpretation Algorithms / Volumes

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 6

Implementing Seismic Attributes on the GPU

Horizon Orientation

(Dip/Strike)

Curvature

Fault Enhance Volume

Structurally-Oriented

Noise Filtering

• Horizon Orientation (Dip/Strike)

• Why is it important?

• Guides other “Structurally Oriented” attribute

calculations

• Indicates trends in the volume

• Why is it compute-intensive?

• Calculates gradient structure tensors

• Relies on an eigensystem solver

• Smooths tensors over a large area

• Why accelerate it?

• CPU runtimes on the order of tens of minutes

• Creates workflow bottlenecks

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 7

Implementing Seismic Attributes on the GPU

• Structurally Oriented Statistical Filtering

• Why is it important?

• Removes noise while preserving steeply

dipping features

• Why is it compute-intensive?

• Well… it’s not, really but:

• Computes a unique sampling field for each

voxel

• Collects interpolated samples

• Why accelerate it?

• CPU runtimes on the order of minutes

• Very frequently used

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 8

GPU Acceleration for Interpretation

• Volumetric Curvature

• Why is it important?

• Can reveal subtle stratigraphic features

• Can reveal small-scale fracturing

• Why is it compute-intensive?

• Performs fine-grained radial sampling

• Operates on vector data

• Interpolates samples

• Why accelerate it?

• CPU runtimes on the order of tens of minutes

• Increase turn-around time on parameter testing

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 9

Implementing Seismic Attributes on the GPU

• Fault Enhance (Automated Fault Extraction, aka “AFE”)

• Why is it important?

• Identifies and eases interpretation

of potentially 1000s of faults

• Huge savings of interpreter time

• Why is it compute-intensive?

• Samples large neighborhoods

of voxels in 3D (a radial search)

• Interpolates samples in 3D

• Why accelerate it?

• CPU runtimes on the order of hours or days!

• Sensitive to parameterization, but iteration impractical without GPU

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 10

Implementing Seismic Attributes on the GPU

• Fault Enhance (Automated Fault Extraction, aka “AFE”)

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 11

Implementing Seismic Attributes on the GPU

Time-slice Section

Shown in inverted colormap for comparison with coherence

• Development/Robustness Strategy

• Start small, build infrastructure, apply knowledge/tools to tougher problems

• Target GPUs with specific feature set

• Fermi and Kepler

• Target wide range of hardware

• Handle lowest common denominator (1GB VRAM)

• Only accelerate “worst-offenders” first, expand out later

• Goal: “It just works (and produces accurate results)”

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 12

Implementing Seismic Attributes on the GPU

• Supporting a GPU Application commercially

• Most issues are hardware / driver / environment (expected)

• Strategy appears to be paying off

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 13

Implementing Seismic Attributes on the GPU

• Single GPU Speedup vs CPU (8 cores @2.4 GHz)

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 14

Implementing Seismic Attributes on the GPU

• Multi-GPU Speedup vs CPU (8 cores @2.4 GHz)

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 15

Implementing Seismic Attributes on the GPU

• Single Kepler GPU Speedup vs CPU (8 cores @2.4 GHz)

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 16

Implementing Seismic Attributes on the GPU

• Single Kepler GPU Speedup vs CPU (after Kepler tuning)

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 17

Implementing Seismic Attributes on the GPU

• Porting Makes You Stronger

• Just because it’s C, doesn’t mean it’s right

• Found problems with every single algorithm

• Porting forces a hard look at the existing CPU code and its behavior

• In one case, improved the CPU implementation speed by 3x

• One algorithm (AFE) was entirely re-written

• Improved accuracy of most algorithms for both CPU and GPU

• Stronger Team

• Stronger Product

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 18

Implementing Seismic Attributes on the GPU

Input Volume

Size

Insight Earth

1.7 AFE CPU

Runtime

Insight Earth

1.8 AFE CPU

Runtime

1.8 CPU

Speedup

over 1.7

1.8 AFE GPU

Runtime -

Turbo AFE

Speedup

over Insight

Earth 1.7

• Impact on overall Fault Extraction workflow time

• This includes automatic extraction of fault surfaces from volume

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 19

Implementing Seismic Attributes on the GPU

• Conclusions

• Seismic attribute calculations are a “no-brainer”

for GPU acceleration

• Performance gains are well worth the effort

• Porting to the GPU can improve CPU code too

• GPU Acceleration brings server-class

performance to seismic interpreters’ workstations

• Small investment in hardware == big

improvement in interpreter productivity (and

happiness!?)

• Available commercially from TerraSpark today

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 20

Implementing Seismic Attributes on the GPU

• Questions?

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved. Slide 21

Implementing Seismic Attributes on the GPU

®

Porting Makes You Stronger Implementing Challenging Seismic

Attributes on the GPU

Jon Marbach

Rich Welch

Steve Dominguez

Pate Motter

TerraSpark Geosciences

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved.

Special Thanks to our research sponsors:

Apache, BHP, BP, Chevron, ConocoPhillips, Repsol, and Stone Energy

Hardware support provided by: Advanced HPC, HP, Nvidia

®

Jon Marbach

Rich Welch

Steve Dominguez

Pate Motter

TerraSpark Geosciences

Porting Makes You Stronger Implementing Challenging Seismic

Attributes on the GPU

© 2013 TerraSpark Geosciences, LLC. All Rights Reserved.

Special Thanks to our research sponsors:

Apache, BHP, BP, Chevron, ConocoPhillips, Repsol, and Stone Energy

Hardware support provided by: Advanced HPC, HP, Nvidia

Recommended