Transcript
Page 1: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

GPUs for Seismic Depth ImagingHenri Calandra, Rached Abdelkhalek, TOTAL

Georges-Emmanuel Moulard, CAPS

Page 2: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

2

Seismic exploration challenges

Page 3: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

• Worldwide Context,

• Seismic in a nutshell

• The Reverse time migration

• Computing Power needs and HPC evolution

• Accelerating technology for seismic depth imaging: status and perspectives in TOTAL

Page 4: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

4

Hydrocarbons (Liquids & Gas)

0

50

100

150

200

1920

1930

1940

1950

1960

1970

1980

1990

2000

0

50

100

150

200

Gboe

Production

discoveries

Worldwide O&G consumption/year approx. 50 Gboe

Average size of new Oil field discovery~ 50 Mboe since the last 25 years

Oil Discoveries vs. Oil Production

Worldwide context

Page 5: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

5

Seismic imaging

7000km²

10 KM

Medical imaging

Principle: Ultrasound

Seismic imaging in a nutshell

Data acquisition

Interpretation

Depth imaging loop

Page 6: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

T=0

; �=F�

Pre Stack Depth MigrationSeismic acquisition

F = Wave Equation Operator

a. Forward Sweep ( forward time)• Propagate source, S, forward in time,• Store wavefield .

b. Backward Sweep ( Reverse Time) • Propagate receivers , (Ri) i=1,n , backward in time,• Read Source wavefield,• Imaging condition.

For each shot profile S, (Ri) i=1,n

Reverse Time Migration

Page 7: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

; �=F�

Pre Stack Depth MigrationSeismic acquisition

F = Wave Equation Operator

a. Forward Sweep ( forward time)• Propagate source, S, forward in time,• Store wavefield .

b. Backward Sweep ( Reverse Time) • Propagate receivers , (Ri) i=1,n , backward in time,• Read Source wavefield,• Imaging condition.

For each shot profile S, (Ri) i=1,n

Reverse Time Migration

Page 8: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

T=0.75

; �=F�

Pre Stack Depth MigrationSeismic acquisition

F = Wave Equation Operator

a. Forward Sweep ( forward time)• Propagate source, S, forward in time,• Store wavefield .

b. Backward Sweep ( Reverse Time) • Propagate receivers , (Ri) i=1,n , backward in time,• Read Source wavefield,• Imaging condition.

For each shot profile S, (Ri) i=1,n

Reverse Time Migration

Page 9: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

T=1.20

; �=F�

Pre Stack Depth MigrationSeismic acquisition

F = Wave Equation Operator

a. Forward Sweep ( forward time)• Propagate source, S, forward in time,• Store wavefield .

b. Backward Sweep ( Reverse Time) • Propagate receivers , (Ri) i=1,n , backward in time,• Read Source wavefield,• Imaging condition.

For each shot profile S, (Ri) i=1,n

Reverse Time Migration

Page 10: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

T=0.75T=1.20T=1.20

; �=F�

Pre Stack Depth MigrationSeismic acquisition

F = Wave Equation Operator

a. Forward Sweep ( forward time)• Propagate source, S, forward in time,• Store wavefield .

b. Backward Sweep ( Reverse Time) • Propagate receivers , (Ri) i=1,n , backward in time,• Read Source wavefield,• Imaging condition.

For each shot profile S, (Ri) i=1,n

Reverse Time Migration

Page 11: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

T=0.75T=1.20T=1.20T=0.75

; �=F�

Pre Stack Depth MigrationSeismic acquisition

F = Wave Equation Operator

a. Forward Sweep ( forward time)• Propagate source, S, forward in time,• Store wavefield .

b. Backward Sweep ( Reverse Time) • Propagate receivers , (Ri) i=1,n , backward in time,• Read Source wavefield,• Imaging condition.

For each shot profile S, (Ri) i=1,n

Reverse Time Migration

Page 12: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

T=0.30

; �=F�

Pre Stack Depth MigrationSeismic acquisition

F = Wave Equation Operator

a. Forward Sweep ( forward time)• Propagate source, S, forward in time,• Store wavefield .

b. Backward Sweep ( Reverse Time) • Propagate receivers , (Ri) i=1,n , backward in time,• Read Source wavefield,• Imaging condition.

For each shot profile S, (Ri) i=1,n

Reverse Time Migration

Page 13: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

13

Codes complexity and computing effort

Algorithmic complexity and corresponding computing power

3-18 Hz

3-35 Hz

3-55 Hz

RTM

9.5 PF

900 TF

56 TF

Computing effort function of the seismic frequencycontent

Page 14: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

14

HPC Evolution in TOTAL

From SMP cl

uster

to MPP an

d Hyb

rid co

mputin

g

SGI Altix SMP cluster ( 1024 intel ia64)

IBM SMP cluster ( 2048 P5)

SGI ICE+ MPP (10240 Intel X86-64 )

SGI ICE+ MPP (16384 Intel X86-64 + 256 GPUS )

2004 2005 2006 2007 2008 20090

50

100

150

200

250

300

350

400

450

TeraFlops

Page 15: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

15

Why MPP ?Seismic depth is massively Parallel:

Embarrassingly over the shots: ex 100000 shots can be solved in one iteration on a 100000 CPUs machineExplicit data distribution and data parallel model programming when processing one shot

Reliability and performances on very large configurationsImpact on footprint and power dissipation

Taking advantage of Scalable interconnectLeads to very efficient algorithm implementation(3D Wave Equation Finite difference solver)

SGI ICE+ Hypercube topology interconnect: • Scalable single system• Easy to manage

4096

Page 16: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

16

GPU/many core technology for seismic depth imaging ?

Trends: multiply the number of cores

Our codes can take advantage of many core technology

GPUs can be seen as large multicore processors and can offer tremendous speed up.

GPUS first step to the massive multicore technology ?

4 cores Intel processor

80 cores Intel processor(prototype)

Nvidia GPU 240 cores ~ 1TF single precision

1 core 4 cores 8 cores 1 GPU0

5

10

15

20

25

30

35

40

14.28

8.23

35.66

(speed up)

3D Wave Equation solver speed up comparison

Having access to different technologies through the same interconnect can offer new perspectives in terms of model programming and application development

To reach the performances needed for solving our problems, we have no choice but combining high scalable interconnect an massive multi-core technology.

Page 17: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

17

• Is it possible to take advantage of GPU for seismic depth imaging

• What porting effort: coding, optimization constrains ?

• What programming tools ?

• What about building industrial applications ( Modeling, RTM…) on a GPU cluster based system ?

Starting in 2007 with the following questions

GPU/many core technology for seismic depth imaging ?

Page 18: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

•Velocity model: 6400*1500 grid size

• GPU: 3.6s (12808 time steps)

•2 CPUs: 0.5s (1778 time steps).

GPU/many core technology for seismic depth imaging ?

Page 19: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

2 main applications implemented on GPU cluster:Seismic modeling Reverse time Migration

Seismic modeling• motivation:

• Accelerate survey acquisition modeling• Wave Equation solver is the basic kernel for seismic depth imaging algorithm• Explore different implementations on GPUS: (single GPU, multi GPUs)• Explore model programming and programming language

RTM•Motivation

• Most accurate depth imaging method: the most expensive• Take advantage of progress made on Seismic modeling ( samekernel)• Explore communication load balancing between host and device

Seismic application taking advantage of GPUS

Page 20: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Implementation on GPU

Disk

I/O

GPU

GPU

GPU

GPU

CPU CPU

CPU CPU

CPU CPU

CPU CPU

Disk

I/O

PCIe

gen2PC

Iegen2

CPU CPU

CPU CPU

CPU CPU

CPU CPU

Objectives:Take advantage of the data parallelism capabilities of GPU to acceleratethe Finite difference kernelsOptimize the communication between host and GPU to reduce thebottleneck of the PCI express interconnectExplore different configurations host-GPU

Machine configuration:Tesla S1070

4 GB memory per GPUDual PCIe gen2 (2x6.4GB/s)

Host serverTwin Xeon-based bi-socket quadcore

•2x16GB memory•2.5GHz

Page 21: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Number of read accesses per data pointRTM 2D 4RTM 3D with texture 29RTM 3D with 3D shared memory accesses 7,5RTM 3D with sliding 2D shared memory 4

Kernel OptimizationSliding 2D tile algorithm( P Micikevicius 2009)Shared memory and registers minimizing global memory accessLoop over the z direction

Global memory access patternpadding 16x16 threads blocks

Host-GPU transferspartial transfers

page locked host memorydomain decomposition along z axis

Porting effort: Optimization

Page 22: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Porting Effort: CPU-GPU Data transfer optimizationTake advantage of asynchronous communications to overlap data transferFirst implementation: 75% of elapsed time spent on PCIe communicationsTake advantage of :

PCIe Gen2 bandwidthDMA accessible “pinned memory”Asynchronous communications

Execution time

Execution Data transfers

1 2 3 4

1 2 3 4 1 2 3 4

% synch asynch

FWD

BWD

32 15

2541

Page 23: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Variable density modelling • Grid size: 544x529x465• Hapertown 3.0GHZ

1 core 4 cores 8 cores 16 cores 1 GPU 0

20

40

60

80

100

120

107

25

13 12

3

temps CPU en secondes

1 core 4 cores 8 cores 1 GPU0

5

10

15

20

25

30

35

40

14,28

8,23

35,66

(speed up)

Seismic modeling

Page 24: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Seismic modeling

Example• Model size 512x512x512• 490 time step• SGI ICE+, Harpertown 3GHZ• Test :

• 1 GPU• 4 cores (4 MPI)• 8 cores (8 MPI)• 16 cores (16 MPI)• 32 cores (32 MPI):

Page 25: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Seismic modeling

Example

• Model size 560x557x905, 22760 time steps

• SGI ICE+, 512 harpertown3GHZ

• SGI ICE+, 16 blades harpertown 3 GHZ, 8 Teslas

• 8 cores per shot (64 shots in parallel)

• 2 GPUs per shot ( 16 shots in parallel)

Rack CPU Rack GPU0

50

100

150

200

250

54

232

number of shots computed in 24H

Page 26: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Reverse Time Migration

Page 27: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Programming language

CUDA: progess rapidely, new features such as partial copy, asynchronous communications, pined memory data access… but no portability

OpenCL: Standard ?(wait and see),

HMPP: (www.caps-entreprise.com)

Express parallelism and communications in C, Fortran source code

offer a high level abstraction of GPU programming in scientific application

Direct integration through the use of directives “ à la OpenMP”

Ease application deployment in multi-GPUs systems

Ensure application interoperability

HMPP handles CPU-GPU communications and kernel launch.

HMPP manage automatically HW device.

Page 28: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

28

Solution 1:

Porting effort: statusCUDA kernels written and optimized by hand

– Kernel integration with HMPP directives– Optimization consisted in

• Kernel execution• Speeding up data transfers• Hiding much as possible data transfers

Solution 2: CUDA kernels generator: Automatic code generationObjectives: Hiding CUDA coding complexity

Take advantage of latest CUDA progress:

• Kernel execution• Speeding up data transfers• Hiding data transfers• Zero memory copy…

but still need to be improved: 50% slower than handed optimized code…

But progressing fast: parallel region, group of codelets, shared memory optimization…

Page 29: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

Building industrial applications on a GPU cluster based system

Seismic modeling and RTM can take advantage of GPUSBuilding a 256 GPUs system dedicated to seismic modeling and RTM

Rack CPU Rack GPU0

50

100

150

200

250

54

232

number of shots computed in 24H

Still need some optimization work on Host-GPU communication and Load balancing Multi GPU is possible but limited: needs more work

Page 30: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

30

ConclusionComputation needs for seismic processing is nearly not bounded!

Algorithm improvement taking advantageOf high frequency seismic ( impact the size of computational grid)

Seismic acquisition parameters (Azimuth width, distance between receivers, …)Implement more complete solution of the imaging solver to solve new

challenges: foothills, Heavy Oil….

Need a pro-active R&D strategyAlgorithms (Full Waveform Inversion, new Solvers, reservoir simulation, EM…)New Hardware architectures and programming modelsImpact of new technology on processing:

Several Teraflops in a WorkStation ?HPC containers: On site processing, embedded processing

Accelerating solution:good progress in understanding the use of GPUswe have a clear strategy : model programming and application developmentGPUs: first step before many core technology ? We do not exclude hybrid technology: (many core + GPUS )Still need to work in close relation with industrial partners to improve Hardware and tools.

Page 31: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

What next ?

Looking for PetaFlop, ExaFlop: solutions ?

What if we target 10PF in 2012

1/ 4 cores technology ( 4 flops/cycle)

1 PF ~ 100000 cores ~ 160 racks ( 512 cores /rack) >3MW

10PF : multiply by 10

2/ 8 cores technology ( 8 flops/cycle)

1PF ~50000 cores ~ 50 racks ( 1024 cores/ rack) < 2MW

10PF: multiply by 10

Solution many core technology ( > 64cores)

Page 32: GPUs for Seismic Depth Imagingorap.irisa.fr/ArchivesForums/Forum25/F25Presentations/H...2 main applications implemented on GPU cluster: Seismic modeling Reverse time Migration Seismic

What next ?

Question: What technology ?multi core “X86” like technology ?

GPU technology ?the most advanced to achieve such performances and constrainsbut need to progress:

integration host-device:Bandwidth, memory access… Model programming and compilersefficiency: real Flops/ theoretical Flops


Top Related