NVlabs/timeloop

Incorrect assertion for stride or pad greater than 1.

gilbertmike opened this issue · 1 comments

The comment above the code explains it. TL;DR, the sum of the content access and the peer access of a tile can be less than partition size if the stride is greater than one.

assert((tile_nest[cur].content_accesses + tile_nest[cur].peer_accesses) >= tile_nest[cur].partition_size);

We have 3 options:

  1. Disable the assertion.
  2. Gate the assertion based on whether stride > 1.
  3. Come up with an alternative invariant that takes the stride (and dilation?) as a parameter.

Could you take a stab at option 3?