GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Brian Bennett
-
Upload
amd-developer-central -
Category
Technology
-
view
2.188 -
download
1
description
Transcript of GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Brian Bennett
MANTLE: EMPOWERING 3D GRAPHICS INNOVATION
GUENNADI RIGUER – MANTLE CHIEF ARCHITECT BRIAN BENNETT – MANTLE ARCHITECT
2 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
What Is Mantle? Mantle is innovation
Just the right abstraction level
Feature set for modern GPUs
3 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Why Mantle? Developers want it
Performance and control
Excitement and innovation
4 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Mantle isn’t for Everyone Do you care about performance?
Do you want control?
Do you care about bridging multiple platforms?
5 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Solutions for Performance Designed for GPU efficiency
Unlocking new performance features
“Small batch” problem is history
6 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
“Small batch” Today
3-5K
7 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Amazing Developers
3-5K 10K
8 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Mantle Target
10K
100K
9 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Current Issues API overhead
Lack of proper threading
Memory management
Lack of direct GPU control
10 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Design Philosophy
Simplicity Features
Performance
11 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
API Design Fundamentals Pre-build and reuse data
Control memory management
Control command generation and execution
Application controls rendering
12 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Putting Developer in the Driver Seat
13 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
… or in the Driver Developer Seat
Image courtesy of Brian Bennett
Mantle Core Features
15 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Execution Model
Graphics
Compute
DMA
GPU
. . .
16 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Execution Model
Graphics
Compute
DMA
GPU
. . .
Queues
17 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Execution Model
Graphics
Compute
DMA
GPU
. . .
Queues Application
App thread
App thread
App thread
App thread
App thread
18 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Decoupled GPU Memory
Memory
State
API object
Other APIs Mantle
Memory
State
API object
19 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Memory Management Application controls memory
… both GPU and CPU
Leverages GPU Memory Virtualization
Much more general than other APIs
20 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
GPU Page Table Remapping
Page N
Page 1
Page 0
GPU Virtual Address space Remapping table
“Virtual”
allocation
“Real”
allocation
21 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Monolithic Pipelines
Graphics pipeline example
IA VS HS DS
Tessellator
GS RS PS
DB
CB
Pipeline state
Index Data Resources Targets Dynamic state
22 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Generalized Resources Other APIs
Index buffers
Vertex buffers
Constant buffers
Staging resources
Textures
UAVs
Texture Arrays
. . .
Memory
Mantle
Images
23 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
New Binding Model
Best of traditional and bindless paradigms
Pipeline Memory
Image
Memory
Image
24 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Resource Preparation
Application manages resource/memory state
Application manages hazards (e.g. RAW, WAW)
Represents translation of usage model
25 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Preparation Example
Render target Shader resource
Cache flush
Decompression
. . .
26 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
… and Much More
Pipeline
serialization
Advanced MSAA
features
Advanced
control flow
Wait, There Is More…
28 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Multi-device
Application
App thread
App thread
App thread
App thread
App thread
Graphics
Compute
DMA
GPU
. . .
29 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Multi-device
Application
App thread
App thread
App thread
App thread
App thread
Graphics
Compute
DMA
GPU 1
. . .
Graphics
Compute
DMA
GPU 0
. . .
30 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
CrossFire Unleashed Going beyond AFR rendering
Flexible workload scaling and partitioning
Asymmetric configurations (APU+dGPU)
Unlocking novel usage scenarios
31 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Debugging & Tools
Tools are very important
Built-in debugging and validation
Extensive multi-level checking
Controls to stress-test application
32 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Summary of Benefits Empowering lower spec systems
More predictable performance and behavior
Sharing PC optimizations with next gen consoles
Opportunity for novel techniques
33 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Want to Know More?
Beta program starts soon
Talk to AMD ISV Team
See more cool presentations today
34 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
Big thanks to
Mantle dev team!
35 | MANTLE: EMPOWERING 3D GRAPHICS INNOVATION | NOVEMBER 19, 2013 | CONFIDENTIAL
DISCLAIMER & ATTRIBUTION
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors.
The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes.
AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION.
AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
ATTRIBUTION
© 2013 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States and/or other jurisdictions.