In some cases, algorithms might need to be modified to better suit the unique characteristics of the AI Engine. Typically this involves how the algorithms are vectorized for cost efficiency. Sometimes such vectorization can alter the algorithms as compared to the original system model. These algorithmic changes must be validated in the system model context to ensure the overall system behavior meets target specifications. To do this, early implementations of such workloads require prototyping to explore both algorithmic accuracy and throughput/cost. Here we consider the former, whereas the latter is investigated in the context of system partitioning. Often, as is the case here, a single prototype can serve both purposes.
The remainder of this section outlines the various algorithm adaptations made for this AI Engine implementation of the SAR BP algorithm.