Skip to main content

Module fiber_engine

Module fiber_engine 

Source
Expand description

The engine nmbrs runs its kernels on.

Scope synthesis reads program structure on the interpreter (PolydatProgram), and pull plans resolve their indices against the interpreter’s program. Every kernel that runs — each scope of the tree (crate::scope_kernel::ScopeKernel), each fiber’s main kernel, its per-op kernels, the kernels adapters hold — runs on a compiled engine instead, bound under its parent through the engine-neutral Kernel surface (polydat’s native_scope_trees.md).

A compiled image stands in for an interpreter program only where it reports the same inputs and outputs in the same order, which is what lets an index resolved on the interpreter’s program drive the image. polydat guarantees that for a scope module’s images; an image compiled separately from the same source is checked here, once, and an image that disagrees is not used.

Functions§

agrees
Whether image has program’s inputs and outputs in the same order, coordinates first — the condition for driving it with indices resolved on program.
fiber_engine
The engine scope, fiber and per-op kernels run on: polydat’s default, the most native form the build has.
module_image
The fiber-engine image of a scope module, or None when the engine refuses it or it disagrees with the module’s program; the module’s kernels then stay on the interpreter.
source_image
The fiber-engine image of a scope compiled from source under options, the same inputs that produced program; None, with a warning, when it cannot stand in for program.

Type Aliases§

OpTemplateModule
The module an op-template scope finalizes to: its interpreter program plus the settings and write-throughs every other engine’s image is built from.