The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mantle Chief Architect

1,946 views

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,946
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • The selection of resolutions and settings was made to create both CPU and GPU limited cases for completeness of the produced results.
  • The selection of resolutions and settings was made to create both CPU and GPU limited cases for completeness of the produced results.
  • The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mantle Chief Architect

    1. 1. MANTLE THE SMALL BATCH (AND OTHER) SOLUTIONS IN MANTLE API GUENNADI RIGUER – MANTLE CHIEF ARCHITECT
    2. 2. 2 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014 Problems Abstraction level Small batch performance Platform efficiency
    3. 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. 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. 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. 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. 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. 8 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014 Why Mantle? Better performance Predictable performance Developer control
    9. 9. 9 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014 Key Features
    10. 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. 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. 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. 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. 14 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014 Memory & Resources Application controls memory Application handles hazards Generalized resources
    15. 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. 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. 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. 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. 19 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014 Lessons Learned
    20. 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. 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. 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. 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. 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. 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. 26 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014 Questions?
    27. 27. 27 THE SMALL BATCH SOLUTIONS IN MANTLE API | AUGUST 8, 2014 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 © 2014 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. DirectX is a registered trademark of Microsoft Corporation.

    ×