-
Notifications
You must be signed in to change notification settings - Fork 67
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
ERROR: LoadError: KeyError: key :zeroB not found #15
Comments
I get a different error with a slightly different function:
Update: I am aware that the following function works; is it obvious why it works and the two above do not?
|
Thanks for the bug report! The key difference between the two versions that did not work and the version that did is that in the former, dependencies go through memory locations, while in the latter they go through variable assignment. To be brief, it wasn't recognizing that this: B[i,j] = zero(eltype(B)) effected the results of: B[i,j] += A[i,k] * A[k,j] through changing memory, rather than updating variables. This resulted in a variety of problems. I now added some basic tracking based on indices, so that your examples work and appear to be optimized correctly, with the store->load also getting CSE-ed. I'll add your |
Thanks! |
Using LoopVectorization.jl#master, I get the following error. I'm not certain how to describe the error, so I put part of the error message in the issue name. I tried a few small variants, with the same result. Is it somehow obvious that I should not put
B[i,j]
inside thek
loop? It works fine without the@avx
macro.The text was updated successfully, but these errors were encountered: