NVlabs/timeloop

Query on setting multicast on a 2D mesh NoC

matthew-mx opened this issue · 4 comments

Hello,
I am tring to instancing a 2D mesh architecture such that a column of PEs could multicast to another column. I have refered to the Simple_PIM and the XY_NoC example, and I think the lattern might match my need. My problem now is how to set such network inside the layer of RF, as the examples only show a way to set a network between 2 adjacent layers. Besides, what is the use of DummyBuffer (in the former example)?
Thanks!

Timeloop's network abstraction is that all the nodes at a storage level have ports into a network, and the parent level also has a port on that same network. So the network is used both for parent<->child communication as well as for peer-to-peer communication between children.

DummyBuffer is just a wrapper used to create a spatial level without instantiating a real buffer at that level. This exposes a complete additional set of mapping dimensions.

In a network MUST peers have a same parent node?
I am working on a chip similar to Tesla's Dojo, using multi-channel memory (every channel is individual and corresponds to a PE). In my primary design there is a 4-layer architecture, root=> channel, channel=>RF, RF=>mac, and the RFs compose a 2D mesh. Another tentative idea is to abstract the multi-channel feature into the network between memory and PE.
Does Timeloop theoretically support them?

Besides, why does the eyeriss_like example (in both baseline_design and timeloop tutorial) use legacy network instead of XY_NoC mentioned in acclergy tutorial?
XY_NoC.yaml.txt
eyeriss_like.yaml.txt

The eyeriss_like example is according to the 1st version, and it is the 1D muticast type in the graph. Is this right? Thanks
eyeriss