Skip to content

Packet header modification from within tile kernel code #2761

@lstasytis

Description

@lstasytis

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions