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§
- Execution
Stats - Statistics collected during a sequential execution run.
- Sequential
Executor - Simulates execution of an
ExecutionPlansequentially on the CPU.