Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
src/uni20/async

This directory contains Uni20's coroutine-based async runtime. The runtime owns task lifetime, dependency ordering, and buffer access discipline; library code should use these abstractions instead of raw threads or ad hoc synchronization.

Contents

Notes

  • Coroutine lambdas that return Uni20 async tasks must be captureless and use the C++23 static lambda modifier. See /AGENTS.md for the rule and rationale.
  • Shared data should flow through the buffer/value abstractions in this module so scheduler ordering remains explicit.
  • is_async_alias_v<T> controls independent-value versus shared-alias identity. Assignment to an alias is available only through an ADL-visible assign_through operation. WriteBuffer<T> remains the single exclusive epoch capability, with proxy operations constrained by the payload.

Related Documentation