This presentation discusses the Mantle API, what it is, why choose it, and abstraction level, small batch performance and platform efficiency.
Download the presentation from the AMD Developer website here: http://bit.ly/TrEUeC
08448380779 Call Girls In Friends Colony Women Seeking Men
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mantle Chief Architect
1. MANTLE
THE SMALL BATCH (AND OTHER)
SOLUTIONS IN MANTLE API
GUENNADI RIGUER – MANTLE CHIEF ARCHITECT
2. 2 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Problems
Abstraction level
Small batch performance
Platform efficiency
3. 3 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Wrong Abstraction Level
Unpredictable big black box
Current situation: neither fast nor simple
Too high to be fast, too low to be simple
4. 4 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Small Batch Performance
10K
100K
Most games today
Really optimized games
Where you want to be (Mantle target)
5. 5 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Previous Solutions
Geometry instancing
Geometry shaders
Texture atlases & arrays
Uber-shaders
Command recorders
…
6. 6 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Why They Failed?
Development and content creation limitations
Trading driver overhead for engine performance
Trading CPU performance for GPU overhead
7. 7 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
What is Mantle?
Lower level API
Focus on performance
Empower developers to do what they want
8. 8 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Why Mantle?
Better performance
Predictable performance
Developer control
9. 9 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Key Features
10. 10 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Execution Model
Graphics
Compute
DMA
GPU
. . .
Queues
Application
App thread
App thread
App thread
App thread
App thread
11. 11 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Execution Model
Graphics
Compute
DMA
GPU
. . .
Queues
Application
App thread
App thread
App thread
App thread
App thread
12. 12 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Execution Model
Graphics
Compute
DMA
GPU
. . .
Application
App thread
App thread
App thread
App thread
App thread
Queues
13. 13 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Execution Model
Queues
Application
App thread
App thread
App thread
App thread
App thread
Graphics
Compute
DMA
GPU
. . .
14. 14 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Memory & Resources
Application controls memory
Application handles hazards
Generalized resources
15. 15 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Pre-build & Pre-validate
Pipelines
Resource binding
Multi-use command buffers
16. 16 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Platform Considerations
APUs & SOCs are here
No longer CPU vs. GPU
Race to low power
17. 17 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
10K batches 50K batches 100K batches
Mantle
DX11
0
20
40
60
80
100
120
0
2
4
6
8
10
12
14
10K batches 50K batches 100K batches
Mantle FPS
DX11 FPS
Mantle power
DX11 Power
Power Efficiency - StarSwarmFPS Power (W) FPS/W
Starswarm using RTS preset @1080p running on APU A10-7800 @ 3.5GHz, 4GB 2133MHz RAM, A88X-Pro M/B
18. 18 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Power Efficiency - Games
0
20
40
60
80
100
120
0
10
20
30
40
50
60
BF4 @ 1280x720 BF4 @
1920x1080
Thief - Low @
720x480
Thief - Normal @
1280x720
Mantle FPS
DX11 FPS
Mantle power
DX11 Power
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
BF4 @
1280x720
BF4 @
1920x1080
Thief - Low @
720x480
Thief - Normal
@ 1280x720
Mantle
DX11
FPS Power (W) FPS/W
Battlefield 4 BrokenFlightDeck level @720p and @1080p MEDIUM settings and SSAO enabled running on APU
A10-7800 @ 3.5GHz, 4GB 2133MHz RAM, A88X-Pro M/B
Thief built-in benchmark running on same hardware with low settings at 720x480 and normal settings at 720p
19. 19 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Lessons Learned
20. 20 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Think Outside the Box
Don’t just make something faster
…avoid doing it completely
Design API and driver together
21. 21 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
New Driver Design
Even a bit of sync kills many-core performance
“Thick” driver = cache pollution
“Make it the application’s problem”
22. 22 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Lots of Little Things…
The whole is greater than the sum of its parts
23. 23 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Future HW Considerations
HW small batch, anyone?
Command processing bottlenecks
More operations/batches in flight
24. 24 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Challenges
Programming is harder
Ecosystem must change
Applications must "do the right thing“
25. 25 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Summary
Mantle fixes abstraction level
Mantle improves platform efficiency
Mantle leads industry transformation
26. 26 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014
Questions?