C++ Standard Parallelism

Speaker: David Olsen

Audience level: [ Beginner | Intermediate ]

Imagine writing parallel code that can run on any platform - CPUs, GPUs, DPUs, specialized accelerators, etc. It's no longer just a dream - you can do it in Standard C++!

Parallelism is increasingly common in software, from supercomputer simulations to mobile applications. But writing parallel code is increasingly challenging, due to an explosion of diversity in hardware, a trend that's likely to continue into the future. To meet this challenge, the Standard C++ Committee has developed a roadmap for C++ Standard Parallelism, a parallel programming model that will be portable to all platforms while delivering reasonable performance and efficiency for most use cases.

Our vision of C++ Standard Parallelism consists of three key components:

  • Common parallel algorithms that dispatch to vendor-optimized parallel libraries
  • Tools to write your own parallel algorithms that run anywhere
  • Mechanisms for composing parallel invocations of algorithms into task graphs

In this talk, we'll dive into this roadmap - we'll discuss what we already have that you can use today, what's coming down the line, and where the future may lead us.