Research Article

Automatic Pipelining and Vectorization of Scientific Code for FPGAs

Figure 3

An illustration showing conversion of a loop-based function (left) to its scalarized version (right), where the “scalars” are effectively streams of data. Metainformation extracted by the compiler, e.g., the sizes of the streams, is carried through to the backend in order to preserve semantics.