LoopVectorization for sparse matrix operation : @turbo, LoopVectorization.check_args

I’m beginning programming in julia. I’m trying to vectorize a loop that generate V, a vector that describes data of a sparse matrix which support indices are defined by Vector{Int64} I and J.

u, K, v are contiguous f64 arrays

V = Vector{Float64}(undef, length(I))
@turbo for k in 1:(length(I))
            i, j = I[k], J[k]
            V[k] = u[i] * K[i,j] * v[j] 
 end

I get the message :

`LoopVectorization.check_args` on your inputs failed; running fallback `@inbounds @fastmath` loop instead.
│ Use `warn_check_args=false`, e.g. `@turbo warn_check_args=false ...`, to disable this warning.

I’m thinking that the problem is I browse u, K, v along I and J values which might be not supported by LoopVectorization.jl. I don’t have any knowledge on LLVM, maybe what I attempt is just impossible and vectorizing a loop that call getindex with indices depending on values of other arrays does’nt make any sense.

yeah you can’t SIMD this