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

http://CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016 — GPU computing has gone mainstream. It is a dominant part of the performance landscape, providing the initial 10x performance lift to a wide variety of applications. However, programing for GPUs can be extremely challenging. C++ is rarely available in an unmodified form, and there are few portable and open source approaches available. One of the most popular platforms, CUDA, has no production quality open source implementation. As a consequence, its C++ support has lagged behind and it has been a less appealing area for researchers and others that weren’t comfortable relying on NVIDIA’s tooling. However, today things are different. Clang is now a fully functional open-source GPU compiler. It provides a CUDA-compatible programming model and can compile most of the awesome CUDA libraries out there ranging from Thrust (the CUDA-enabled parallel algorithms library that gave rise to the new parallelism technical specification) to Eigen and TensorFlow. In this talk we will give an overview of how LLVM and Clang support targeting C++ to GPUs, how they work to be compatible with existing CUDA code, and how you can build your code today to run on GPUs with this open source compiler. — Justin Lebar Software Engineer, Google I lead the GPU compilers team at Google. (We work on CUDA/GPU support in Clang and LLVM.) — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf

CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
▶︎

CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced.  What do they really do?”
▶︎

CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”

An Intro to GPU Architecture and Programming Models I Tim Warburton, Virginia Tech
▶︎

An Intro to GPU Architecture and Programming Models I Tim Warburton, Virginia Tech

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”
▶︎

CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”

CppCon 2017: John Lakos “Local ('Arena') Memory Allocators (part 1 of 2)”
▶︎

CppCon 2017: John Lakos “Local ('Arena') Memory Allocators (part 1 of 2)”

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

code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care
▶︎

code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care

Programming in Assembly without an Operating System
▶︎

Programming in Assembly without an Operating System

Getting Started with CUDA and Parallel Programming | NVIDIA GTC 2025 Session
▶︎

Getting Started with CUDA and Parallel Programming | NVIDIA GTC 2025 Session

In 54 Minutes, Understand the whole C and C++ compilation process
▶︎

In 54 Minutes, Understand the whole C and C++ compilation process

What Is Disrupting GPS Over Europe?
▶︎

What Is Disrupting GPS Over Europe?

The Insane Genius of a Formula 1 Gearbox
▶︎

The Insane Genius of a Formula 1 Gearbox

Building the PERFECT Linux PC with Linus Torvalds
▶︎

Building the PERFECT Linux PC with Linus Torvalds

CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
▶︎

CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"

One Formula That Demystifies 3D Graphics
▶︎

One Formula That Demystifies 3D Graphics

CppCon 2017: Chandler Carruth “Going Nowhere Faster”
▶︎

CppCon 2017: Chandler Carruth “Going Nowhere Faster”

CppCon 2017: Vinnie Falco “Make Classes Great Again! (Using Concepts for Customization Points)”
▶︎

CppCon 2017: Vinnie Falco “Make Classes Great Again! (Using Concepts for Customization Points)”

CUDA Programming
▶︎

CUDA Programming