forked from pytorch/pytorch
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent rfactor #1692
Labels
Comments
Assign myself to take a look |
This was referenced May 13, 2022
zasdfgbnm
added a commit
that referenced
this issue
May 19, 2022
I feel that this could be helpful for debugging. Using the example that breaks our system in #1692 Before ``` TransformPrinter : T0_g[ iS0{i1}, iS1{i2} ] root domain : (iS0{i1},iS1{i2}) T2_l[ iS11{( ceilDiv(i1, 3) )}, iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf, rS14{4}rf ] root domain : (iS9{i1},iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf,rS14{4}rf) Split: iS9{i1} by factor 3 -> iS11{( ceilDiv(i1, 3) )}, iS12{3}, start offset: 0, stop offset: 0 T1_g[ rS17{( ceilDiv(i1, 3) )}, rS19{( 3 * ( ceilDiv(i2, 4) ) )} ] root domain : (rS16{i1},rS19{( 3 * ( ceilDiv(i2, 4) ) )}) Split: rS16{i1} by factor 3 -> rS17{( ceilDiv(i1, 3) )}, rS18{3}, start offset: 0, stop offset: 0 } ``` After: ``` TransformPrinter : T0_g[ iS0{i1}, iS1{i2} ] root domain : (iS0{i1},iS1{i2}) T2_l[ iS11{( ceilDiv(i1, 3) )}, iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf, rS14{4}rf ] root domain : (iS9{i1},rS10{i2}rf) Split: iS9{i1} by factor 3 -> iS11{( ceilDiv(i1, 3) )}, iS12{3}, start offset: 0, stop offset: 0 Split: rS10{i2}rf by factor 4 -> iS13{( ceilDiv(i2, 4) )}rf, rS14{4}rf, start offset: 0, stop offset: 0 Merge: iS12{3} and iS13{( ceilDiv(i2, 4) )}rf -> iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf rfactor domain : (iS9{i1},iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf,rS14{4}rf) Split: iS9{i1} by factor 3 -> iS11{( ceilDiv(i1, 3) )}, iS12{3}, start offset: 0, stop offset: 0 T1_g[ rS17{( ceilDiv(i1, 3) )}, rS19{( 3 * ( ceilDiv(i2, 4) ) )} ] root domain : (rS16{i1},rS19{( 3 * ( ceilDiv(i2, 4) ) )}) Split: rS16{i1} by factor 3 -> rS17{( ceilDiv(i1, 3) )}, rS18{3}, start offset: 0, stop offset: 0 } ```
jjsjann123
pushed a commit
to jjsjann123/nvfuser
that referenced
this issue
Nov 10, 2022
I feel that this could be helpful for debugging. Using the example that breaks our system in csarofeen/pytorch#1692 Before ``` TransformPrinter : T0_g[ iS0{i1}, iS1{i2} ] root domain : (iS0{i1},iS1{i2}) T2_l[ iS11{( ceilDiv(i1, 3) )}, iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf, rS14{4}rf ] root domain : (iS9{i1},iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf,rS14{4}rf) Split: iS9{i1} by factor 3 -> iS11{( ceilDiv(i1, 3) )}, iS12{3}, start offset: 0, stop offset: 0 T1_g[ rS17{( ceilDiv(i1, 3) )}, rS19{( 3 * ( ceilDiv(i2, 4) ) )} ] root domain : (rS16{i1},rS19{( 3 * ( ceilDiv(i2, 4) ) )}) Split: rS16{i1} by factor 3 -> rS17{( ceilDiv(i1, 3) )}, rS18{3}, start offset: 0, stop offset: 0 } ``` After: ``` TransformPrinter : T0_g[ iS0{i1}, iS1{i2} ] root domain : (iS0{i1},iS1{i2}) T2_l[ iS11{( ceilDiv(i1, 3) )}, iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf, rS14{4}rf ] root domain : (iS9{i1},rS10{i2}rf) Split: iS9{i1} by factor 3 -> iS11{( ceilDiv(i1, 3) )}, iS12{3}, start offset: 0, stop offset: 0 Split: rS10{i2}rf by factor 4 -> iS13{( ceilDiv(i2, 4) )}rf, rS14{4}rf, start offset: 0, stop offset: 0 Merge: iS12{3} and iS13{( ceilDiv(i2, 4) )}rf -> iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf rfactor domain : (iS9{i1},iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf,rS14{4}rf) Split: iS9{i1} by factor 3 -> iS11{( ceilDiv(i1, 3) )}, iS12{3}, start offset: 0, stop offset: 0 T1_g[ rS17{( ceilDiv(i1, 3) )}, rS19{( 3 * ( ceilDiv(i2, 4) ) )} ] root domain : (rS16{i1},rS19{( 3 * ( ceilDiv(i2, 4) ) )}) Split: rS16{i1} by factor 3 -> rS17{( ceilDiv(i1, 3) )}, rS18{3}, start offset: 0, stop offset: 0 } ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In this fusion, the rfactor tensor gets an inconsistent rfactor domain.
The rfactor domain of tensor
rf
:iS9{i1} iS15{( 3 * ( ceilDiv(i2, 4) ) )}rf rS14{4}rf
. Specifically,3
comes fromi1
, but it's also included in the second ID.Not sure if that's the root cause, but the fusion results in an error when building the computeAt map:
The text was updated successfully, but these errors were encountered: