VOOZH about

URL: https://thenewstack.io/c-23-standard-wont-have-a-key-parallelism-feature/

⇱ C++ 23 Standard Won’t Have a Key Parallelism Feature - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2022-12-26 07:00:26
C++ 23 Standard Won’t Have a Key Parallelism Feature
C++ / Hardware / Software Development

C++ 23 Standard Won’t Have a Key Parallelism Feature

The C++ 2023 standard won't have an asynchronous algorithm feature called senders and receivers.
Dec 26th, 2022 7:00am by Agam Shah
👁 Featued image for: C++ 23 Standard Won’t Have a Key Parallelism Feature

The next version of the C++ standard coming up next year won’t have a key feature that makes it easier to write code for execution in parallel computing environments.

The C++ 2023 standard won’t have an asynchronous algorithm feature called senders and receivers, which will allow for simultaneous execution of code on a system with multiple chips such as CPUs and GPUs.

“The goal there is maybe to try to get it into the working draft next year — the [C++ 26] working draft — so once it’s there, then people will take it a lot more seriously,” said Nevin Liber, a computer scientist at the Argonne National Laboratory’s Advanced Leadership Facility, and a C++ committee member, during a break-out session at last month’s Supercomputing 2022 conference in Dallas.

Fundamental Changes

Software applications written in C++ are going through fundamental changes, with PCs, servers and mobile devices executing code simultaneously on multiple chips. The goal with senders and receivers is to bring the standard C++ framework up to date so programmers find it easier to write applications that take advantage of the new execution environments.

Programmers are increasingly writing code for CPUs and accelerators like GPUs and AI chips, which are important for faster execution of applications.

“While the C++ Standard Library has a rich set of concurrency primitives … and lower level building blocks … we lack a Standard vocabulary and framework for asynchrony and parallelism that C++ programmers desperately need,” says a document that maps out the proposal.

Senders and Receivers

Currently, C++ code has to be optimized to specific hardware. But senders and receivers will add an abstraction layer for standard C++ code to run across multiple parallel environments. The goal is to add portability, so the code works at different installations.

“We certainly have ideas of how to connect that with algorithms. My hope would be that for C++ 26 we can do that. You have a good way of connecting these things and also have … algorithms being able to do asynchronous work,” said Christian Trott, a principal member of staff at the Sandia National Laboratory and also a C++ standards committee member.

The asynchronous communication feature is largely being pushed by Nvidia, whose CUDA parallel programming framework is widely used in machine learning, which relies on the concurrency of CPUs and GPUs to reduce training time.

Nvidia has open-sourced its libcu++ C++ library. The company also last week released the CUDA 12.0 parallel programming framework, which supports the C++20 standard, and supports host compilers such as GCC 10, Clang 11 and ArmC/C++ 22.x.

Senders/receivers may not make it to C++ 23, but it will make life easier for coders in the future, said Stephen Jones, CUDA architect at Nvidia, told The New Stack.

“I feel pretty confident about 2026, but senders/receivers — it’s a big shift in C++. It’s a really very new thing for them to try and embrace asynchronous sort of pipeline execution,” Jones said.

Mature Technology Needed

While the delay of a key feature may not look good on paper, C++ committee members said it’s better to wait for a technology to mature before adding it as a standard. Computing with accelerators is in its early days, with chip designs, memory and storage requirements changing constantly.

“I think we need to see more accelerators, said James Reinders, a software engineer at Intel, adding, “I think that needs a little more time to play out.”

Intel provides a tool called SYCLomatic that makes code portable across hardware by stripping out CUDA code that limits applications to Nvidia GPUs. Reinders said that GPUs won’t be the only accelerators available.

Reinders also pointed out a vigorous debate on whether hooks for technologies like remote memory are needed permanently in standard C++. Some are better as extensions, he said.

“Give it some time to play out and we’ll see if that’s the right thing to put into C++ or if it’s better as an extension, OpenMP has been very strong for a long time. It’s never been incorporated into Fortran or C. It’s appropriate to not overcomplicate a core language,” Reinders said.

TRENDING STORIES
Agam Shah has covered enterprise IT for more than a decade. Outside of machine learning, hardware and chips, he's also interested in martial arts and Russia.
Read more from Agam Shah
SHARE THIS STORY
TRENDING STORIES
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.