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
Strategies for Landing an Oracle DBA Job as a Fresher
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?