nod-ai / iree-amd-aie

IREE plugin repository for the AMD AIE accelerator
Apache License 2.0
64 stars 29 forks source link

Investigate use of stream packets #438

Open newling opened 3 months ago

newling commented 3 months ago

This task needs more information, but overall question is: can ObjectFifos lower to stream packets, if there are not enough DMAs for fully static stream switch lowering? What are the performance costs?

makslevental commented 3 months ago

I haven't investigated this but this has occurred to me prior as well. One issue is it's unclear whether the noc routing is smart (using something like the equivalent of DNS route masks to reduce the frequency with which the packet is parsed). But more superficially I think intuition would lead us to believe that active rounting can't possibly be faster than direct streams. So even if you could remap objectfifo to packet routing, there would be an enormous cost.

On the other hand cascade streams are absolutely something we should explore as they are a very wide pipe that connects directly to vector registers on the cores themselves.

Note, if you're wondering how we can try these things out, the answer is aie-rt 🙂 (which has APIs for configuring everything).