The C++ Execution Model
Bryce Adelstein Lelbach
11:00-12:30, Tuesday, 1st April 2025
At the heart of the C++ programming language is the multi-threaded abstract machine and its execution model, the platform-agnostic formal model that generically describes how to run a C++ program. In this talk, you will learn the rules that govern how your C++ code is executed and see how those rules impact the C++ code you write every day.
We'll explore the C++ execution and memory model, and discuss fundamental questions such as:
- What are threads in C++ and how do they interact?
- What is memory in C++?
- In what order are things in my C++ program executed?
- How are C++ expressions and statements executed?
- What are the semantics of calling a function in C++?
- What does "happens before" mean?
If you're interested in gaining a deeper understanding of how your C++ code is executed and how concurrency works in C++, you should attend this talk.
Bryce Adelstein Lelbach
Bryce Adelstein Lelbach has spent over a decade developing programming languages, compilers, and software libraries. He is a Principal Architect at NVIDIA, where he leads HPC programming language efforts and drives the technical roadmap for NVIDIA's HPC compilers and libraries. Bryce is passionate about C++ and is one of the leaders of the C++ community. He has served as chair of INCITS/PL22, the US standards committee for programming languages and the Standard C++ Library Evolution group. Bryce served as the program chair for the C++Now and CppCon conferences for many years. On the C++ Committee, he has personally worked on concurrency primitives, parallel algorithms, executors, and multidimensional arrays. He is one of the founding developers of the HPX parallel runtime system.