Closed IveanEx closed 1 month ago
Thank you, looks good!
So to program this, I need to disable all but the first channel, and then enable the broadcast extension? Is that right?
Something that's not very elegant is there is a lot of specific gemmx-streamer code in the general streamer code. Could we make this a bit more generic in the future? I feel like if we specify the enabled extensions for every streamer separately in the
cfg/*.hjson
file instead of for the entire accelerator, this would make much more sense.
You have to enable the first eight channels in the system, as the first eight channels represent the first "wide" channel (although only 256bits are used). This block is connected to the wide port.
The design of extension interface is very generic (as it was originally designed for xdma), but the utilization of the extension interface in streamer is gemm-specific right now...
This PR introduces the new DataPath extension: by using this extension, C channel of streamer can reduce the unnecessary fetches from the reader.
In this PR, we also add the broadcast C extension flag, especially for the gemm C32 readers. With this extension enabled, every output channel can share one bias. More specifically, we add: