Skip to main content

Module kernel

Module kernel 

Source
Expand description

Parent kernels: child-driven fused execution of parent arrays.

A parent kernel allows a child encoding to provide a specialized execution path for its parent array. This is Layer 3 of the execution model.

For example, a RunEndArray child of a SliceArray can perform a binary search on its run ends rather than decoding the entire array and slicing the result.

Encodings declare their parent kernels by implementing ExecuteParentKernel and registering them with the session’s optimizer-kernel registry. Each kernel specifies which parent types it handles via a Matcher.

Traits§

ExecuteParentKernel
A kernel that allows a child encoding V to execute its parent array in a fused manner.