Skip to main content

Module kernels

Module kernels 

Source
Expand description

Session-scoped registry for optimizer kernels.

ArrayKernels stores function pointers that participate in array optimization without adding rules to an encoding vtable. The optimizer currently consults it for parent-reduce rewrites before the child encoding’s static PARENT_RULES. A registered function can therefore add a rule for an extension encoding or take precedence over a built-in rule.

Kernel entries are addressed by (outer_id, child_id, kind). For parent-reduce kernels, outer_id is the id returned by the parent array’s encoding_id() and child_id is the child array’s encoding_id(). For ScalarFn parents, the parent id is the scalar function id.

Sessions created by the top-level vortex crate install an empty registry by default. Other sessions can add it with VortexSession::with or rely on ArrayKernelsExt::kernels to insert the default value.

Structs§

ArrayKernels
Session-scoped registry of optimizer kernel functions.

Traits§

ArrayKernelsExt
Extension trait for accessing optimizer kernels from a VortexSession.

Type Aliases§

ReduceParentFn
Function pointer for a plugin-provided parent-reduce rewrite.