Generally speaking, AI Engine processors are in-order, exposed-pipeline VLIW processors. Each VLIW instruction bundle specifies the behavior of one or more functional units,
which begin executing a new instruction at the same time. The processor pipeline does not include stall logic to enforce data dependencies, and instructions will continue
executing in order regardless of other instructions in the pipeline. As a result, the compiler is able to schedule machine instructions which access the same register in ways that potentially overlap
So a software scheduler? I had no idea it works like this. Very interesting.
If you've taken a compilers course, it's pretty similar to register allocation. You want to make sure you're using as much of the processor as possible.
So a software scheduler? I had no idea it works like this. Very interesting.