Skip to main content

Module sequential

Module sequential 

Source
Expand description

Sequential CPU-side executor for the ExecutionPlan.

The sequential executor walks the plan steps in submission order on a single thread, simulating the logical execution without a GPU. It is primarily used for:

  • Unit testing of the compilation pipeline on machines without a GPU.
  • Correctness checking: the executor validates that all event waits have a matching prior record on the correct stream.
  • Profiling: it counts operations by type for performance modelling.

§Event model

The sequential executor simulates events using a simple boolean set. EventRecord(eid) marks event eid as “fired”. EventWait(eid) checks that the event has been fired; if it has not, an error is returned.

Because the sequential executor runs in a single-threaded, deterministic order, all EventRecord steps necessarily precede the corresponding EventWait steps if the plan was built correctly.

Structs§

ExecutionStats
Statistics collected during a sequential execution run.
SequentialExecutor
Simulates execution of an ExecutionPlan sequentially on the CPU.