Back To Schedule

Parallel Range Algorithms

The Evolution of Parallelism in C++

11:00 - 12:30 Wednesday 30th April 2025 MT Bethe Hall
Beginner
Intermediate
Future C++

A talk will be given by one of the authors of the C++ proposal that aims to introduce Parallel Range Algorithms, bringing together the power of C++ Ranges and parallel execution. This talk explores how these new algorithms improve code clarity, expressiveness, and performance.

We’ll consider the following key aspects:
- What Parallel Range Algorithms are, and how they differ from C++17 parallel algorithms and serial range algorithms;
- What design choices were made, specifically addressing bounded ranges and range-as-the-output, and some corner cases;
- The performance implications of Parallel Range Algorithms;
- The safety implications of Parallel Range Algorithms;
- How these algorithms apply to heterogeneous computing based on oneAPI DPC++ library (oneDPL) experience.

This talk is based on an active C++ standard proposal (P3179) that has strong potential to land in C++26. We will break down key design decisions, explore code examples, and discuss how these algorithms enable more expressive and scalable parallelism in modern C++.
While this session will be technical, it is targeted to be accessible to different audiences, from library authors to everyday C++ developers. Expect technical insights, and a look into the future of parallel programming in C++.

View Slides

Ruslan Arutyunyan

Senior Middleware Development EngineerIntel Corporation

Ruslan is a Senior Middleware Development Engineer specializing in parallel and threading runtimes. He joined Intel in 2017 and has experience in the autonomous driving domain, where he led the development of two libraries.

Currently, Ruslan is the lead developer of oneAPI DPC++ library (oneDPL) while also contributing to other Intel products, including oneAPI Threading Building Blocks (oneTBB). He is an active member of the C++ Standard Committee (WG21), focusing on the C++ standard library, concurrency, and parallelism, with multiple accepted proposals. His current priorities are standardizing std::simd enhancements, extending C++ parallel algorithms, and contributing to Senders/Receivers.

Ruslan is a chair of SG1 (Concurrency and Parallelism) in the C++ Standards Committee since April 2026.