From Source to ISA: A Trip Down the Shader Compiler Pipeline

Shader compilers can be easily confused for dragons — they devour innocent developers, and instead of optimal code, they spew fire. Only the toughest adventurers well versed in the arcane knowledge of how to tame them used to stand a chance. Until today! Together, we will uncover the dark secrets of the shader compiler and tame this fiery beast. Our journey will take us from the original source code down to the RDNA ISA. We’ll leave no stone unturned when it comes to giving you a deep understanding of compilers. We will arm you with knowledge about control-flow, bindless resource access and scalarization which is directly applicable to problems you’re facing daily at work. At the frontend, we will look at DXC and how it produces intermediate representations. At the backend, we will discuss the arts of instruction selection, scheduling, and register allocation for the RDNA instruction set. Throughout the whole trip, we will provide you with practical examples from real-world applications and look at them through the compiler’s eyes. At the end, you will have a solid understanding of your shader compiler and write performant shaders with ease. *** Visit our website: https://gpuopen.com Follow us on Twitter:   / gpuopen   Slides: https://gpuopen.com/wp-content/upload... *** Subscribe: http://bit.ly/Subscribe_to_AMD Like us on Facebook: http://bit.ly/AMD_on_Facebook Follow us on Twitter: http://bit.ly/AMD_On_Twitter Follow us on Twitch:   / amd   Follow us on Linkedin: http://bit.ly/AMD_on_Linkedin Follow us on Instagram: http://bit.ly/AMD_on_Instagram ©2020 Advanced Micro Devices, Inc. AMD, the AMD Arrow Logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other names are for informational purposes only and may be trademarks of their respective owners.

Webinar - Introduction to Portable GPU Programming
▶︎

Webinar - Introduction to Portable GPU Programming

Writing a compiler with LLVM - Cailin Smith - NDC Oslo 2022
▶︎

Writing a compiler with LLVM - Cailin Smith - NDC Oslo 2022

AMD Ryzen™ Processor Software Optimization
▶︎

AMD Ryzen™ Processor Software Optimization

All the pipelines - journey through the GPU | Lou Kramer AMD
▶︎

All the pipelines - journey through the GPU | Lou Kramer AMD

Compute shader 101
▶︎

Compute shader 101

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones
▶︎

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones

Reinventing the Geometry Pipeline: Mesh Shaders in DirectX 12 | Shawn Hargreaves | DirectX Dev Day
▶︎

Reinventing the Geometry Pipeline: Mesh Shaders in DirectX 12 | Shawn Hargreaves | DirectX Dev Day

Programming in Assembly without an Operating System
▶︎

Programming in Assembly without an Operating System

HLSL Compiler | Michael Dougherty | DirectX Developer Day
▶︎

HLSL Compiler | Michael Dougherty | DirectX Developer Day

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker
▶︎

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

GPU Programming Concepts (Part 1)
▶︎

GPU Programming Concepts (Part 1)

Radosław Paszkowski - Mesh Shaders - The Future of Rendering
▶︎

Radosław Paszkowski - Mesh Shaders - The Future of Rendering

Billionaire's WARNING: I'm SELLING. The Crash Is Already Here!
▶︎

Billionaire's WARNING: I'm SELLING. The Crash Is Already Here!

CppCon 2016: “Bringing Clang and C++ to GPUs: An Open-Source, CUDA-Compatible GPU C++ Compiler"
▶︎

CppCon 2016: “Bringing Clang and C++ to GPUs: An Open-Source, CUDA-Compatible GPU C++ Compiler"

"Everything Awesome about GPU Drivers" - Daniel Vetter (LCA 2020)
▶︎

"Everything Awesome about GPU Drivers" - Daniel Vetter (LCA 2020)

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan
▶︎

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan

Stanford Seminar - NVIDIA GPU Computing: A Journey from PC Gaming to Deep Learning
▶︎

Stanford Seminar - NVIDIA GPU Computing: A Journey from PC Gaming to Deep Learning

2019 LLVM Developers’ Meeting: E. Christopher & J. Doerfert “Introduction to  LLVM”
▶︎

2019 LLVM Developers’ Meeting: E. Christopher & J. Doerfert “Introduction to LLVM”

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
▶︎

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

2017 LLVM Developers’ Meeting: C. Chandrasekaran & M. Maggioni “Apple LLVM GPU Compiler ...”
▶︎

2017 LLVM Developers’ Meeting: C. Chandrasekaran & M. Maggioni “Apple LLVM GPU Compiler ...”