Skip to main content

Module branches

Module branches 

Source
Expand description

A form’s launches as a graph over several streams. A launch runs after every earlier launch that writes memory it reads or writes, or reads memory it writes — memory by where it lives: a step-local array or a launch’s scratch by its bytes in the arena (which several tensors share in turn), anything else by its buffer, an alias — a view — where its array lives (arena::home). Each launch takes a stream: the stream whose last launch it follows, or one whose work it already follows, or the least recently used; it waits on another stream’s launch by an event only where nothing it already follows orders the two. The launches compute what they compute in order, every dependency kept.

Structs§

Branched
A form’s launches over its streams.

Enums§

Region
Memory a launch touches: bytes of the arena, or a buffer of its own.

Constants§

STREAMS
The streams a form’s launches spread over, the step’s own among them.

Functions§

branch
The form’s launches spread over STREAMS streams.
regions
The memory launch i reads and writes: its tensors’ arrays and its scratch (written and read, as a launch’s own).