-
Notifications
You must be signed in to change notification settings - Fork 1
Segfaults on Julia 1.11 #8
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
Comments
No choice but to deprecate this package on 1.11, as it is little more than codegen piped to LoopVectorization. I'll update the README and semver constraints accordingly. |
I believe issue here is that when reducing over an empty collection, code like the following is generated: A = Float64[]
out = zero(eltype(A))
@turbo for i in eachindex(A)
out += A[i]
end LoopVectorization warns users not iterate over an empty collection. Changing to |
Thanks for the debugging, Paul. That is indeed the general form of the cause of the segfaults on Julia 1.11. It was not much more effort than a find and replace (easy with projectile), so I went ahead and applied it. LoopVectorization is the major source of performance, but the code generation for involving multiple multidimensional arrays is identical to the optimal loop structure one would write by hand, hence, it can still be quite convenient to use the functions. However, the interface leaves something to be desired ( |
FWIW, all of LoopVectorization's tests pass on 1.11 beta, so I wouldn't bother transitioning off until you have a reason. https://github.com/JuliaSIMD/LoopVectorization.jl/actions/runs/8946228352 Maybe |
It is now the default in the latest release of this package. I should have set it as the default 2 years ago -_-;;
I noticed that. Furthermore, the test suite for this package (which forces LoopVectorization to compile a wide variety of code) passes on Julia
Completely agree. |
LoopVectorization's own test failures on master are from checking that nothing printed to |
This package segfaults on upcoming Julia 1.11 (https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_hash/0520b80_vs_997b49f/VectorizedReduction.primary.log) with
Note that the LoopVectorization + VectorizationBase ecosystem is deprecated on 1.11 (due to issues like this) so it might be best to avoid them for now
The text was updated successfully, but these errors were encountered: