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§
- Array
Kernels - Session-scoped registry of optimizer kernel functions.
Traits§
- Array
Kernels Ext - Extension trait for accessing optimizer kernels from a
VortexSession.
Type Aliases§
- Reduce
Parent Fn - Function pointer for a plugin-provided parent-reduce rewrite.