ebook img

Charu Chandrasekaran, Apple Marcello Maggioni, Apple PDF

71 Pages·2017·0.66 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Charu Chandrasekaran, Apple Marcello Maggioni, Apple

Apple LLVM GPU Compiler: Embedded Dragons Charu Chandrasekaran, Apple Marcello Maggioni, Apple 1 Agenda • How Apple uses LLVM to build a GPU Compiler • Factors that affect GPU performance • The Apple GPU compiler • Pipeline passes • Challenges 2 How Apple uses LLVM • Live on Trunk and merge continuously • Benefit from latest improvements on trunk • Identify any regressions immediately and report back • Minimize changes to open source llvm code • Reuse as much as possible 3 Continuous Integration LLVM Trunk GPU Compiler Year 1 production compiler 4 Continuous Integration LLVM Trunk GPU Compiler Year 1 production compiler 5 Continuous Integration LLVM Trunk GPU Compiler Year 1 Year 2 Year 3 production production production compiler compiler compiler 6 3 Testing • Regression testing involves: • register count • instruction count FileCheck : correctness • compile time • • compiler size runtime performance • 7 The GPU SW Stack IR XPC Service iOS / watchOS / tvOS Process Metal-FE App Interacts Metal Framework, User GPU Driver XPC Service Shader Result Backend .metal .exec IR .obj 8 About GPUs 9 About GPUs Shader Core PC LANE 0 LANE 1 LANE 2 LANE 3 LANE 4 LANE 5 LANE 6 LANE 7 GPUs are massively parallel vector processors Threads are grouped together and execute in lockstep (they share the same PC) 10

Description:
Apple LLVM GPU Compiler: Embedded Dragons. Charu Chandrasekaran, Apple. Marcello Maggioni, Apple. 1. Page 2. • How Apple uses LLVM to
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.