Channels are a key abstraction of mlir-air, but there are few examples for how to use them. This issue is a place to discuss which examples are needed to show how channels work, and which of those examples are implemented.
[x] Create basic example with two segments (something evens simpler that doesn't use channels, because this is largely untested) (https://github.com/Xilinx/mlir-air/pull/663)
Some trouble creating multiple launches, so this may be a little early in terms of creating a launch2launch channel communication (see issue https://github.com/Xilinx/mlir-air/issues/627)
What information would you need to scheduling launches in order to do this?
Synchronous vs Asynchronous
Might one day be good to have some examples where the user explicitly sets async tokens on channel operations, but this capability isn't implemented yet in the air dependency pass.
Placement
An example doing something specific with channels based on placement of resources?
What is the best way to implement a sliding window of data with channels?
Channels are a key abstraction of mlir-air, but there are few examples for how to use them. This issue is a place to discuss which examples are needed to show how channels work, and which of those examples are implemented.
Functional Examples
Failing Examples
Not-Yet Implemented Examples
Discussion Topics
Is Launch2Launch Desirable?
Synchronous vs Asynchronous
Placement
What is the best way to implement a sliding window of data with channels?
peek()
functionality?