implementing challenging seismic attributes on the gpu | gtc … · implementing challenging...
TRANSCRIPT
![Page 1: Implementing Challenging Seismic Attributes on the GPU | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/1.jpg)
®
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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/2.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/3.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/4.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/5.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/6.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/7.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/8.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/9.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/10.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/11.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/12.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/13.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/14.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/15.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/16.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/17.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/18.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/19.jpg)
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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/20.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/21.jpg)
• 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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/22.jpg)
®
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 | GTC … · Implementing Challenging Seismic Attributes on the GPU | GTC 2013 Author: Jon Marbach Subject: Follow the evolving](https://reader035.vdocuments.us/reader035/viewer/2022062402/5fc9ffeeacc6ad420864bccd/html5/thumbnails/23.jpg)
®
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