You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, some operations take dimensions and some operations take sizes and strides.
For clarity, but also some implementation considerations, I think it would make sense to change to sizes/strides.
Some pros for moving to sizes/strides are:
dimensions requires (at least at the python level) both sizes/strides to be default or both not default. It would be nice for a user to take advantage of default values more easily. If a python wrapper function takes these values separately, then python needs to have hard-coded defaults in order to produced valid dimensions, which is not ideal.
For dma_bds using the task/chain syntax, each dma_db should have at max 3 sizes and at max 4 strides; this is a condition that is not easy to express clearly when using dimensions
Personally, I find it easier to read when they are specified separately (but maybe that's just me)
For dma_bds using the task/chain syntax, each dma_db should have at max 3 sizes and at max 4 strides; this is a condition that is not easy to express clearly when using dimensions
Why only max 3 sizes but 4 strides?
Copying my examples from the review of #1919 on why repeat_count and the higest-dimension size/wrap aren't the same:
Examples
These examples assume a highest-dimension stride of 2.
If the highest-dimension size/wrap is 3, the higest-dimension stride (=iteration step) is 2, and the repeat count is 6, the highest dimension offset added will be
Right now, some operations take
dimensions
and some operations takesizes
andstrides
.For clarity, but also some implementation considerations, I think it would make sense to change to
sizes
/strides
.Some pros for moving to
sizes
/strides
are:dimensions
requires (at least at the python level) bothsizes
/strides
to be default or both not default. It would be nice for a user to take advantage of default values more easily. If a python wrapper function takes these values separately, then python needs to have hard-coded defaults in order to produced validdimensions
, which is not ideal.dma_bd
s using the task/chain syntax, eachdma_db
should have at max 3 sizes and at max 4 strides; this is a condition that is not easy to express clearly when usingdimensions
This came to my attention through comments of @fifield and @andrej in #1919
As this would be a change that touches many things, I'm recording outside of the PR for discussion and so it does not become a blocker to that PR.
The text was updated successfully, but these errors were encountered: