NVIDIA

NVIDIA/stdexec

C++ Apache-2.0 Dev Tools experimental-api-stability

`std::execution`, the standard C++ framework for asynchronous and parallel programming.

2.4k stars
255 forks
active
GitHub +4 / week

2.4k

Stars

255

Forks

144

Open issues

30

Contributors

AI Analysis

stdexec is NVIDIA's reference implementation of C++26's std::execution standard, providing a framework for composable asynchronous and parallel programming with sender/receiver abstractions. It serves C++ developers building concurrent systems that need to run work across threads, thread pools, GPUs, or custom execution contexts with structured concurrency guarantees. This is a specialized tool for systems programmers and library developers; it is not for general application developers unfami...

Dev Tools Library Discovery value: 6/10
Documentation 8/10
Activity 9/10
Community 7/10
Code quality 8/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

c++26 asynchronous-programming concurrency gpu-execution structured-concurrency
Actively maintained Well documented Niche/specialized use case Apache-2.0 licensed
Deep Analysis · Based on README and public signals
6d ago

NVIDIA's reference implementation of C++26 execution model, bringing composable async/parallel primitives to C++

stdexec is a header-only C++ library implementing the P2300 standard execution framework (senders/receivers model) for asynchronous and parallel work. Built by NVIDIA as the reference implementation tracking C++26 standardization, it targets systems programmers and library authors building high-performance concurrent systems. Adoption appears concentrated in HPC, GPU computing, and projects tracking the standard; mainstream C++ application adoption remains unverified.

Origin

Created May 2021 by NVIDIA to prototype and validate P2300, the proposed standard execution model for C++. Evolved from earlier async abstractions (futures, promises) and builds on lessons from HPX and libunifex. Represents NVIDIA's push to standardize GPU-friendly concurrency primitives in C++.

Growth

Repository shows steady, modest growth: 2,379 stars with only 6 gained in the last week suggests stable but not rapidly accelerating adoption. Last push 2026-06-18 indicates active maintenance. Growth likely driven by standardization discussions, GPU computing interest, and adoption by projects tracking C++26 features rather than organic viral adoption.

In production

Adoption not verified through README. NVIDIA HPC SDK bundles stdexec starting with version 22.11, suggesting enterprise toolchain integration. No case studies, testimonials, or named production deployments documented in README. References to P2300 standardization and godbolt examples indicate research/educational use, but real-world production scale adoption not publicly confirmed.

Code analysis
Architecture

Based on README: header-only, dependency-free library implementing the senders/receivers execution abstraction. Appears to provide composable algorithms (then, let_value, when_all, bulk, split, transfer), structured concurrency primitives (async_scope, task, finally), and pluggable scheduler backends including system thread pool, io_uring context, and GPU schedulers (nvexec). Supports coroutine interop and generic extensions. Requires C++20 or later.

Tests

README documents CI workflows for both CPU and GPU paths, suggesting automated testing infrastructure exists, but specific test coverage metrics not documented in README.

Maintenance

Last push 2026-06-18 (17 days prior to evaluation date) indicates active recent maintenance. Repository includes GitHub Actions CI badges, documentation site, and multiple compiler support (GCC 12+, Clang 16+, MSVC 14.43+, nvc++ 25.9+). Presence of examples gallery, quick-start guides, and installation documentation suggests ongoing project stewardship.

Honest verdict

ADOPT IF: you are building C++ libraries or systems targeting C++26+ that require composable async/parallel primitives, GPU offload capabilities, or need to track standardization efforts. AVOID IF: you need production-hardened async abstractions with extensive ecosystem tooling, mature documentation, and verified large-scale deployments — stdexec is experimental and explicitly disclaims fitness guarantees. MONITOR IF: you develop parallel C++ infrastructure or depend on standards evolution; stdexec's trajectory will indicate C++26 execution model adoption and shape the future C++ concurrency landscape.

Independent dimensions

Mainstream potential

5/10

Technical importance

8/10

Adoption evidence

2/10

Risks
  • Experimental status and explicit API stability disclaimer: "APIs may change without notice. NVIDIA does not guarantee fitness for any particular purpose." Production adoption carries migration risk.
  • Limited adoption evidence: no documented case studies or production deployments in README; real-world scale and reliability unverified.
  • Compiler support matrix gaps: requires modern toolchain (GCC 12+, Clang 16+); legacy codebase integration challenging. GPU support restricted to nvc++ and not nvcc, limiting CUDA ecosystem reach.
  • Standards uncertainty: project tracks evolving P2300 proposal; if standardization stalls or significantly changes direction, implementation may diverge from mainstream C++.
  • Ecosystem maturity: as reference implementation rather than battle-tested library, surrounding tooling, educational resources, and community expertise likely sparse compared to established frameworks.
Prediction

stdexec will likely remain a specialized tool for systems programmers and GPU-compute teams tracking C++26 standardization. Mainstream adoption depends entirely on C++ standards committee acceptance and C++26 compiler availability (expected late 2020s). If standardized, adoption will follow compiler support rollout; if standardization stalls, it remains a research prototype and specialized tool.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

C++
90.9%
Cuda
7.3%
CMake
1.7%
Python
0.1%
Meson
0%

Information

Language
C++
License
Apache-2.0
Last updated
4d ago
Created
63mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Recent releases

No releases published yet.

Similar repos

stotko

stotko/stdgpu

stdgpu is a C++17 library providing STL-like GPU data structures (atomic,...

1.3k C++ Dev Tools
sindresorhus

sindresorhus/execa

Execa is a Node.js library for executing external processes with a...

7.5k JavaScript Dev Tools
dougbinks

dougbinks/enkiTS

enkiTS is a lightweight, permissively licensed C/C++ task scheduler designed to...

2k C++ Gaming
facebookexperimental

facebookexperimental/libunifex

libunifex is a prototype C++ implementation of the sender/receiver async...

1.7k C++ Dev Tools
TheHPXProject

TheHPXProject/hpx

HPX is a C++ Standard Library for Parallelism and Concurrency that implements...

2.9k C++ Science
vs. alternatives
libunifex (Facebook Experimental, 1708 stars)

Earlier async abstraction library; stdexec represents evolved, standards-track version with GPU support and structured concurrency primitives. libunifex served as reference; stdexec is positioned to supersede it.

HPX (The C++ Parallel and Heterogeneous Computing Project, 2864 stars)

Broader parallel computing framework with distributed support; stdexec is narrower, standards-focused, and header-only. HPX more mature and widely deployed; stdexec aligns with standardization path.

boost::asio (not in similar repos, but dominant C++ async library)

Async I/O focused with proactor pattern; stdexec targets sender/receiver model and parallel primitives. Orthogonal use cases; stdexec not a direct replacement but different abstraction paradigm.

enkiTS (2000 stars, C++ task scheduler)

Simpler task scheduling; stdexec offers structured concurrency and composable pipelines. Different complexity/feature tradeoff; stdexec more sophisticated.

stotko/stdgpu (1264 stars, C++ GPU utilities)

GPU data structures and utilities; stdexec is a scheduler/execution framework with GPU backends. Complementary rather than competitive.