-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Allow negative stride(A,2)
in gemv!
#42054
Conversation
Since #41513 is now marked for backport, this PR (which I prefer over #42012) should be backported as well (as discussed on discourse). Closing and re-opening to run the tests against current master. |
LGTM, the only (little) improvement I can found is simplify the pointer calculation of |
Thanks for the speedy response. Since this PR is supposed to be backported, I don't think we should mix things here, but keep it as is, backport, and develop further on master/v1.8 in your PR. |
I believe the test failures are nothing but internet connection failure at the time. I'll rerun and merge once tests (essentially) pass. |
I just rebased onto the current master. The |
(cherry picked from commit 33a71b7)
This causes a bunch of packages to fail on 1.6: https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_hash/c7daef8_vs_7be0dcd/report.html. So I will drop this from the 1.6 backports. |
Backporting #41513 but not either this or #42012 might also break things (see #41513 (comment)). I will investigate what happens here. Maybe we could backport #42012 instead? |
This replaces #42012 as another attempt at fixing #41513 (comment). It implements the idea from #41513 (comment).
Instead of just allowing
stride(A,2) < 1
in trivial cases, the requirementstride(A,2) ≥ max(1, size(A,1))
is relaxed toabs(stride(A,2)) ≥ size(A,1) || size(A,2) ≤ 1
.We could also think about relaxing the requirement
stride(A,1) == 1
toabs(stride(A,1)) == 1
.Closes #42012.