-
Notifications
You must be signed in to change notification settings - Fork 164
"It is illegal to set a Read-After-Write dependency on a memory store op", on unmodified sass #10
Comments
Update: the sass generated by
I'm tentatively convinced it's something to do with the 5.0 thing? |
Oh... I guess that the 5.0 code is interpreted as control codes, and being absorbed into
Fair analysis? Surmountable? Only option is either to rewrite maxas to support 5.0 or get a 5.2 card? |
(by the way, in case useful, I get the following warnings when running maxas:
Maybe it is a perl versioning issue? I'm using:
|
Seems maybe an issue with the regex on line 1521 of MaxAsGrammar.pm? Hack this file to put some prints:
Output:
Repeated displays of |
Oh... I reckon it doesnt like the
|
Adding
to MaxAs.pl, just before
... but same error about STG.E as before:
I'll submit a PR for the braces though |
Mmmmm, this is interesting. There should be one control code followed by three operations right? But for the short example, with the parentheses in hte output, this rule seems to be broken temporarily:
4 contiguous non-control lines, hten a control, then only 2 control-lines. Maybe the parenthesis sort of moves around the contorl codes, so that the control code after the block of 4 actually applies retroactively to the previous line??? |
Hmmm... except that... 0xeedc200000870207 looks not like a control code:
... but if we use the code from the previous line instead, ie
Hypothesis: in the presence of parantheses one operation and a control code can be swapped in the human-readable assembler output, in the center column, but continue in the same 1:3 order as normal, in the code output in the right-hand column. |
To fix this, I was planning on using the output from nvdisasm -raw and pulling the control codes directly from the binary cubin. But in the meantime I'm just using the nvdisasm from cuda 6.5 (cuobjdump calls nvdisasm internally). You can still use cuda 7.5 you just need to overwrite the new version of that file with the old. |
Fixed :-)
|
(Oh, hmmm, might be a slight buggette in the loop definition ) |
(should be ok now though perhaps?) |
using microbench, with .cu modified to be simply:
.cpp is modified slightly, since I'm on a 5.0, so I hacked microbench.cpp to accept this. It could be this is root cause for the issue in this issue?
Then I do:
... however it fails on the
maxas.pl -i
line with:The .sass generated by
maxas.pl -i
looks like:Is this:
maxas.pl -e
(since I cant see the9.0f
constant anywhere in the sass?, I'm immediately suspicious?)neon
repo?The text was updated successfully, but these errors were encountered: