Closed hqjenny closed 1 year ago
Hello @hqjenny, I was wondering if there are examples of different permutation constraints (especially those involving _
) in any timeloop/accelergy exercises?
If I am correct, the permutation constraints are not applied to the innermost (register level)?
@vmiheer Here explains how permutation works: https://timeloop.csail.mit.edu/timeloop/input-formats/mapping.
There is no example with unspecified permutation mapper constraints yet, but it works as I mentioned. If only XYZ
is specified in a problem with dimensions XYZPQN
, then it fixes the permutation of inner loops to XYZ (inner to outer order) and will explore different PQN orders in the outer loops.
If I understand correctly, permutation should work for all memory levels including Register so we can specify the order of data to run on the Register.
Both prefix and suffix (separated by _) are now supported. See commit 96cc39ba7a0e8a667711cd623c4d8b4d934499b2, there is also an example in the commit notes.
For problem with 'ABCXYZN' dimension, we'd like to specify a partial order of XYZ. Currently the following specification implies that the XYZ will be the first three dimensions and the permitted permutation is
XYZ_ _ _ _
.We would like to allow permutations like
X_Y_ _Z_
orX_ _Y_ _Z
. It is helpful for us to eliminate symmetrical mappings in exhaustive mapping search.