ROBs in Streamer for MemPool integration#64
Conversation
|
Ciao @mbertuletti thanks for the PR! I see it already passes CI tests flawlessly, and code-wise I have no particular comment. I am interested in understanding a bit better the loopback feature however, it's not super clear to me. |
Ciao @FrancescoConti, sure! I give you a motivation and overview. In TensorPool multiple RedMulE can fetch at the same time from the TCDM. According to the parallelization scheme W is shared, meaning that the RedMulEs will all start fetching the same column of W, creating contentions in the interconnect. Therefore, I added the option to specify that you want to compute starting from another column (let's say index i out of P total columns). Then you need to compute up to column P-1 and "loopback" to column 0 to complete the computation up to column (i-1). In practice, this is implemented in the Tiler, by adding a loopback state. The details are in this paper: https://arxiv.org/abs/2604.02291 |
|
Ok - interesting. It makes sense to me. I would add two points (one may actually be already there):
|
955eb03 to
20b8c67
Compare
20b8c67 to
93d6e17
Compare
|
Ciao @FrancescoConti I added tests. The W-column-offset feature can be used also when reordering is not enable. This feature is not guarded by any parameter, but it won't be activated if the corresponding register is not set by the software API. |
FrancescoConti
left a comment
There was a problem hiding this comment.
All good, asking only for a super small change here ;)
| ARCH ?= rv | ||
| XLEN ?= 32 | ||
|
|
||
| QUESTA ?= questa-2023.4 |
There was a problem hiding this comment.
please restore the ifneq (,$(wildcard /etc/iis.version)), otherwise this won't work by default on non-IIS machines
93d6e17 to
cc37599
Compare
This PR adds to RedMulE's streaming the reordering logic needed for the integration in MemPool.
Additionally a tiler feature is added, to start computing from any column in W and loop-back once over.