evolving use of gpu for dassault systems simulation...

17
1 3DS.COM © Dassault Systèmes | Confidential Information | 5/16/2012 | ref.: 3DS_Document_2012 3DS.COM © Dassault Systèmes | Confidential Information | 5/16/2012 | ref.: 3DS_Document_2012 Evolving Use of GPU for Dassault Systemes Simulation Products Luis Crivelli And Matt Dunbar

Upload: trinhkhuong

Post on 21-May-2018

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

1

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

3D

S.C

OM

© D

assa

ult S

ystè

mes

| C

onfid

entia

l Inf

orm

atio

n | 5

/16/

2012

| re

f.: 3

DS

_Doc

umen

t_20

12

Evolving Use of GPU for

Dassault Systemes Simulation

Products

Luis Crivelli

And

Matt Dunbar

Page 2:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

2

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Realistic Simulation

an integral business practice

Dassault Systémes is dedicated to making…

to Explore,

Discover,

Understand,

Improve

Explore

Discover

Understand Improve

product, life, & nature

Page 3:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

3DS

.CO

M/S

IMU

LIA

© D

assa

ult S

ystè

mes

| C

onfid

entia

l Inf

orm

atio

n | 5

/16/

2012

| re

f.: 3

DS

_Doc

umen

t_20

12

3

Simulation with Abaqus Finite Element Simulation

“Predictive Crashworthiness Simulation in a Virtual Design Process without Hardware Testing”, Jurgen Lescheticky, Hariaokto Hooputra and Doris Ruckdeschel, BMW Group, SIMULIA Customer Conference, May 2010

Abaqus/Standard – static structural simulations

Abaqus/Explicit – short term dynamic simulations

Page 4:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

3DS

.CO

M/S

IMU

LIA

© D

assa

ult S

ystè

mes

| C

onfid

entia

l Inf

orm

atio

n | 5

/16/

2012

| re

f.: 3

DS

_Doc

umen

t_20

12

4

Simulation runtimes Simulation is a valuable part of an engineering design process, but

computational cost is significant

Bottle Stacking • Routine static analysis

• Compute time of 4-6

hours on 4 x86 cores

Stent Expansion • Complex static analysis

• Compute time of 12-24

hours using between 8

and 32 x86 cores

Gasket Sealing • Large static model

• Compute time of 2-5

days using between 32

and 64 x86 cores

Automotive Crash • Complex dynamics model

• Compute time of 2-5 days

using between 16 and 32

x86 cores

Reducing compute cost is

critical!

Page 5:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

3DS

.CO

M/S

IMU

LIA

© D

assa

ult S

ystè

mes

| C

onfid

entia

l Inf

orm

atio

n | 5

/16/

2012

| re

f.: 3

DS

_Doc

umen

t_20

12

5

Demand for Higher Accuracy

0

10

20

30

40

50

60

70

80

90

100

0

5

10

15

20

25

30

35

40

45

50

2006 2007 2008

Nu

mb

er

of

cu

sto

mers

ru

nn

ing

m

od

els

wit

h m

ore

th

an

5M

Do

Fs

Ac

tual

Cu

sto

mer

Mo

de

l D

oF

s

(Mil

lio

ns)

Ability to solve more

accurate and more

complex simulations was

enabled between 2005 and

present by cluster

Expect that use of GPGPU for

compute will accelerate trend

towards efficient execution of

2008 2009 2010

Page 6:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

3DS

.CO

M/S

IMU

LIA

© D

assa

ult S

ystè

mes

| C

onfid

entia

l Inf

orm

atio

n | 5

/16/

2012

| re

f.: 3

DS

_Doc

umen

t_20

12

6

Simulation compute architecture Computational work is distributed to many cores on multiple servers by splitting a model into domains which are assigned to cores to parallelize computations

New code

allows x86

cores to

offload key

compute

work onto

one or more

Nvidia Tesla

cards to

accelerate

computation

Page 7:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

7

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Existing Cluster-based Architecture

Abaqus

Machine

Socket

Core

switch

GPU

RAM RAM

PCI PCI

RAM RAM

RAM RAM

PCI

RAM RAM

PCI

Abaqus applications allow users to exploit X86

clusters to decrease runtimes

Can GPU deliver a faster or more

efficient solution?

Page 8:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

8

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Approaches to Exploiting GPU

Offload Code to Card

• X86 cores are idle while GPU card

processes

X86 GPU

PCI bus

X86 GPU

Hybrid Mode

• X86 cores and GPU card are used

simultaneously with X86 assigning

appropriate work to GPU

X86 GPU/MIC

GPU As Platform

• Very limited “control” compute on

X86; bulk of work done on GPU card

RAM RAM

Page 9:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

9

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Key Code Components

Abaqus Solvers

Code Component Cost of Code Nature of Code

Abaqus/Standard

Linear Equation Solver Increases with problem size.

Dense linear algebra kernels

and “control code.” Relatively

small amount of code with

high computational cost.

Finite Elements Most significant cost other

than equation solver.

Naturally parallel but code is

not written to expose SIMD

parallelism.

Abaqus/Explicit Elements Typically 50%-75% of cost.

Naturally parallel. Code is

written for SIMD architectures.

Constraints and other Much of remaining cost. Complex parallelism.

Uses GPU in Abaqus 6.11 and 6.12 Focus of prototyping work

Page 10:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

10

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Time in Equation Solver

Abaqus/Standard

0

60

120

180

240

300

360

420

480

1 host, 8 cores 8 hosts, 64 cores 16 hosts, 128 cores

Wal

l Clo

ck T

ime

(min

utes

)

13 Million DOF Powertrain Analysis, 6 Iterations, 1.1E+14 FLOPS per factorization

ABAQUS/Standard

Direct Solver

As noted on previous slide

Abaqus/Standard equation

solver is a significant cost in

execution of a simulation

Natural target for GPU

acceleration

Page 11:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

11

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Abaqus/Standard Single GPU/Single Server RAM RAM

5.7X

4.1X

2.8X 1.8X

Speedup At lower core counts GPU is more effective

because the accelerated code takes a higher

percentage of the overall time (code

accelerated by the GPU is also effectively

parallelized on X86 cores)

Beyond 4 cores, X86 processors start

overwhelming the GPU with computation

Page 12:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

12

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Cluster and multi-GPU support – hybrid mode

Abaqus/Standard

1297

692

949

537

1038

502

697

348

904

375

560

221

0

200

400

600

800

1000

1200

1400

Problem 1 Total Problem 2 Total Problem 1 Solver Problem 2 Solver

Tim

e (

seco

nd

s)

Speedup with GPU

No GPU

1 GPU

2 GPU

RAM RAM GPU

PCI

1.3

1.4

1.4

1.9

1.4

1.7

1.5

2.4

Speedup relative to no GPU case

RAM RAM GPU

PCI

Jobs run on 2 hosts each

with 12 cores, 48 GB of

RAM, and 2 Nvidia GPU’s

Problem 1 • 1.5 MDOF

• 5.37 teraflops per iteration

Problem 2 • 3.4 MDOF

• 10.8 teraflops per iteration

Page 13:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

13

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

GPU as a platform using Portland Group (OpenACC) compiler

Abaqus/Explicit

Loop A – process 1 to ngroup elements

Loop B – process 1 to ngroup elements

Loop C – process 1 to ngroup elements

Loop over groups of elements

Process group 1 Process group 2 Process group 3 Parallelization is done at a fine-grained

level. Generally relies on elements being

processed being identical (Single

Instruction Multiple Data)

Explicit finite element codes do not have

a natural bottleneck

Compute cost is spread through many

100’s of routines

Code does have a natural SIMD structure

SIMULIA has done a prototype in which

the Portland Group compiler was used to

build existing X86 code for GPU

Page 14:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

14

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Abaqus/Explicit Prototype X86 Socket GPU PCI bus

Xeon X5680 – 1 core – 357 ms

Xeon X5680 – 6 cores – 70 ms

RAM RAM GPU

PCI

C3D8R Element Code

Nvidia Tesla – 21 ms

Data transfer – 230 ms

Data transfer – 230 ms

Data cannot be transferred but

must be left on GPU

Page 15:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

15

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Memory bandwidth bounds GPU performance Given peak performance of GPU near 1 TFlop vs peak performance for Westmere of ~70 Gflops

why does Explicit code sped up by only 3X?

do k = 1, groupsize

temp1(k) = in1(k) * in2(k)

do k = 1, groupsize

temp2(k) = temp1(k) * in3(k)

do k = 1, groupsize

out(k) = temp2(k) * x

RAM

Cache

L1

L2

L3

Computational

Unit

Computational

Unit

GPU System

Memory

Local Memory

~150 GB/sec ~25 GB/sec

768 KB

On X86 system temporary arrays remain in cache,

but on GPU limited local memory is shared

between a large number of threads so temporary

data ends up be written back to system memory.

High degree of data parallelism, but each

piece of data is used a small number of

times in operations

Page 16:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

16

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012

Conclusions

Use of GPU as an X86 accelerator in a hybrid mode is effective and continued

area of development

Investigations into GPU as a platform are ongoing

Experience with OpenACC compiler approach has been good

Highly data parallel code does have bandwidth issues on GPU which limits gains

Data management between X86 memory and GPU is a key topic

Page 17:  Evolving Use of GPU for Dassault Systems Simulation …developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S... · Evolving Use of GPU for Dassault Systemes

17

3DS

.CO

M ©

Das

saul

t Sys

tèm

es |

Con

fiden

tial I

nfor

mat

ion

| 5/1

6/20

12 |

ref.:

3D

S_D

ocum

ent_

2012