-
Notifications
You must be signed in to change notification settings - Fork 165
Description
Me and a set of colleagues are looking at utilizing the NPUs for more complex control flow algorithm acceleration, coming from an FPGA background. In the process, behavior which we need is the ability to control packet switching at runtime from within the compute tiles.
A minimal example would be a chain of two compute tiles, each sending a packet back and forth, incrementing the value stored within until one of tiles detects that the packet's payload has increment up to some threshold value, at which point the tile would update the packet's header id to point to the shim tile such that the tile is routed back to the host, finishing the program's execution.
For this example to work, we need an ability to manipulate packet headers from within the CPP/Python APIs. Is there something preventing support of this feature?
Alternatively, we would use the Vitis AIE kernel APIs, however it is not clear if it is possible to target the Ryzen NPU tiles using that compiler. From our understanding, the Ryzen AI Software 1.3 suite ships with 'Vitis AIE Essentials' which may provide these APIs to target the NPUs with xchesscc?
Any clarification on this would be extremely helpful!