implementing challenging seismic attributes on the gpu...

23
® 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.

Upload: others

Post on 13-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

®

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.

Page 2: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 3: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 4: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 5: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 6: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 7: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 8: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 9: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 10: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 11: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 12: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 13: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 14: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 15: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 16: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 17: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

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

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

Implementing Seismic Attributes on the GPU

Page 18: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 19: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

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

Page 20: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• 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

Page 21: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

• Questions?

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

Implementing Seismic Attributes on the GPU

Page 22: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

®

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

Page 23: Implementing Challenging Seismic Attributes on the GPU ...on-demand.gputechconf.com/gtc/...Seismic-Attributes... · Implementing Challenging Seismic Attributes on the GPU | GTC 2013

®

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