The view that a kernel has of incoming blocks of data is called an input window. Input windows are defined by type, to define the type of data contained within that window. This example shows a declaration of an input window carrying complex integers where both the real and the imaginary parts are 16-bits wide.
input_window<cint16> myFirstWindow;
The view that a kernel has of outgoing blocks of data is called an output window. Again, these are defined by a type. This example shows a declaration of an output window carrying 32-bit integers.
output_window<int32> myOtherWindow;
These window data structures are automatically inferred by the AI Engine compiler from the data flow graph connections and are automatically declared in the wrapper code implementing the graph control. The kernel functions merely operate on pointers to the window data structures that are passed to them as arguments. There is no need to declare these window data structures in the data flow graph or kernel program.