Chris Elrod
Chris Elrod
> I'm intrigued to see how much of a difference removing the type instability makes to performance - will give it a go. I saw basically no difference (you can't...
```julia julia> tsptr2(x::Ptr{T}) where {T} = ccall(:jl_value_ptr, Ref{TestMutableStruct}, (Ptr{Cvoid},), x) tsptr2 (generic function with 1 method) julia> tsptr2(p) TestMutableStruct("a") ``` You need to specify `Ref{M}`, where `M` is the mutable...
Hmm, vectors seem to work ```julia julia> using StrideArraysCore julia> x = ["a", "b", "hello", "world"] 4-element Vector{String}: "a" "b" "hello" "world" julia> StrideArray(x) 4-element StrideArray{Tuple{Int64}, (true,), String, 1, 1,...
```julia julia> x 5×10 Matrix{BigFloat}: 0.650397 0.228057 0.295901 0.961686 0.658904 0.234168 0.00907257 0.115974 0.221669 0.016437 0.170399 0.947094 0.010932 0.707836 0.738352 0.890069 0.295456 0.859759 0.31087 0.771494 0.861343 0.729251 0.181878 0.247554 0.0752045...
It should work given VectorizationBase 0.19.26, with the caveat that it won't null-initialize or null-check on `getindex`.
Making a couple more fixes, but --- --- what's the behavior you want here? Always check for a null reference on load? Or perhaps only when bounds checking is enabled...
Related: https://sciml.ai/small_grants/#update_loopvectorization_to_support_changes_in_julia_v112_200 We could explicitly mention `ThreadingUtilities` instead of leaving it under > and the rest of the JuliaSIMD ecosystem
Maybe we should consider cacheless forward mode AD. The idea is, if you don't need to mutate `x` and want derivatives with respect to `x`, you can add a lazy...
> This is indeed my situation and I'm very interested in this potential solution! I'm parsing `compute_jacobian_ad.jl` atm; if you can point me to the right place I'm down to...
It works by passing `AbstractSIMD` objects to your functions. If your signature only accepts `::Float64` or `::AbstractFloat`, this will throw a `MethodError`. Hence, `check_args` fails. This is a limitation of...