The C++ Execution Model

Bryce Adelstein Lelbach

⏱ 90 minute session
beginner
intermediate
advanced
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.

🏷 c++
🏷 concurrency
🏷 synchronization
🏷 execution model
🏷 memory model
🏷 forward progress

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.