golaem crowd 2.0 - intel theatre talk at siggraph 2012

12
Golaem Crowd How we switched on the turbo button Golaem Crowd 6/22/22 Sebastien Maraux Golaem SDK Lead Programmer

Upload: golaem

Post on 24-May-2015

5.127 views

Category:

Technology


5 download

DESCRIPTION

How we switched on the turbo button Explaining how we improved Golaem Crowd speed by up to x17.

TRANSCRIPT

Page 1: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem CrowdHow we switched on the turbo button

Golaem CrowdApril 12, 2023

Sebastien MarauxGolaem SDK Lead Programmer

Page 2: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem SDK

Crowd simulation middlewareUsed in Golaem Crowd

C++ software libraries

Animation

Navigation

Behaviors

Physics

April 12, 2023 Golaem Crowd

Page 3: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem SDK: reference sample

Use-case simulationComplex navigation mesh500 charactersNo visualization

Performance indicatorTotal simulation time

April 12, 2023 Golaem Crowd

Page 4: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem SDK: optimization

Optimization process using Intel VTune XEIdentify performance bottlenecksSave a performance profileOptimizeCompare optimized code with saved profile

April 12, 2023 Golaem Crowd

Page 5: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem SDK: optimization

Intel VTune Amplifier XE

April 12, 2023 Golaem Crowd

Page 6: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem SDK: optimization

Golaem SDK 3.0[42.9s]

Golaem SDK 2.7 [68.6s]

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

1.6

1

mono-thread simulation performance,Intel VTune guided optimization

April 12, 2023 Golaem Crowd

Page 7: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem SDK: multi-threading

Multi-threading using Intel TBBOS-independent ThreadsCondition variablesAtomic operationsConcurrent containers

April 12, 2023 Golaem Crowd

Page 8: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem SDK: multi-thread results

April 12, 2023 Golaem Crowd

12T[6,9s]

6T[8,3s]

4T[11.7s]

2T[22.1s]

1T[42.9s]

0 1 2 3 4 5 6 7

6.13

5.15

3.64

1.94

1

MT simulation performance scaling, with Intel TBB

Page 9: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem SDK: before/after Intel

April 12, 2023 Golaem Crowd

Golaem SDK 3.0[6.9s]

Golaem SDK 2.7[68.6s]

0 2 4 6 8 10 12

9.94

1

simulation performance, before and after Intel Vtune & TBB

Page 10: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem Crowd: set up

Integration of the optimized Golaem SDK

Use-case simulationPlane for navigation mesh1000 characters3D visualization

Golaem Crowd code optimizationSame process using Intel VTune XE

April 12, 2023 Golaem Crowd

Page 11: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem Crowd: MT performance

12T (6 HT)[27,3fps]

6T[20,3fps]

4T[15,3fps]

2T[8,2fps]

1T[4,4fps]

0 1 2 3 4 5 6 7

6.2

4.61

3.47

1.86

1

MT simulation performance, with previz

April 12, 2023 Golaem Crowd

Page 12: Golaem Crowd 2.0 - Intel Theatre Talk at Siggraph 2012

Golaem Crowd: before/after Intel

April 12, 2023 Golaem Crowd

Golaem Crowd 2.0[50fps]

Golaem Crowd 1.4[2.8fps]

0 2 4 6 8 10 12 14 16 18 20

17.86

1

simulation performance, before and after Intel Vtune & TBB