jar1
1
Am I doing something wrong?
julia> vmapreduce(==(3), max, [1,2,3])
true
julia> vmapreduce(==(3), max, [1,2,3,4])
ERROR: MethodError: no method matching shufflevector(::VectorizationBase.Mask{4, UInt8}, ::Val{(2, 3)})
Closest candidates are:
shufflevector(::VectorizationBase.VecUnroll, ::Val{I}) where I
@ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:455
shufflevector(::VectorizationBase.MM{W, X}, ::Val{I}) where {W, X, I}
@ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:124
shufflevector(::VectorizationBase.Vec{W, T}, ::Val{I}) where {W, T, I}
@ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:81
Stacktrace:
⋮ internal @ VectorizationBase, LoopVectorization
[7] vmapreduce(::Base.Fix2{typeof(==), Int64}, ::typeof(max), ::Vector{Int64})
@ LoopVectorization ~/.julia/packages/LoopVectorization/7gWfp/src/simdfunctionals/mapreduce.jl:73
[8] top-level scope
Use `err` to retrieve the full stack trace.
(jl_h42kip) pkg> st LoopVectorization
Status `/tmp/jl_h42kip/Project.toml`
[bdcacae8] LoopVectorization v0.12.166
(jl_h42kip) pkg> registry up
Updating registry at `~/.julia/registries/General.toml`
pkg> add LoopVectorization@0.12.168
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LoopVectorization [bdcacae8]:
LoopVectorization [bdcacae8] log:
├─possible versions are: 0.1.0-0.12.166 or uninstalled
└─restricted to versions 0.12.168 by an explicit requirement — no versions left
Can you do:
julia> st -m --outdated
julia> versioninfo()
jar1
3
(@main) pkg> activate --temp
Activating new project at `/tmp/jl_PANEU0`
(jl_PANEU0) pkg> add LoopVectorization
Resolving package versions...
Installed Adapt ─ v4.0.1
Updating `/tmp/jl_PANEU0/Project.toml`
[bdcacae8] + LoopVectorization v0.12.166
Updating `/tmp/jl_PANEU0/Manifest.toml`
[79e6a3ab] + Adapt v4.0.1
[4fba245c] + ArrayInterface v7.7.0
[62783981] + BitTwiddlingConvenienceFunctions v0.1.5
[2a0fbf3d] + CPUSummary v0.2.4
[fb6a15b2] + CloseOpenIntervals v0.1.12
[34da2185] + Compat v4.12.0
[adafc99b] + CpuId v0.3.1
[ffbed154] + DocStringExtensions v0.9.3
[3e5b6fbb] + HostCPUFeatures v0.1.16
[615f187c] + IfElse v0.1.1
[10f19ff3] + LayoutPointers v0.1.15
[bdcacae8] + LoopVectorization v0.12.166
[d125e4d3] + ManualMemory v0.1.8
[6fe1bfb0] + OffsetArrays v1.13.0
[1d0040c9] + PolyesterWeave v0.2.1
[aea7be01] + PrecompileTools v1.2.0
[21216c6a] + Preferences v1.4.1
[ae029012] + Requires v1.3.0
[94e857df] + SIMDTypes v0.1.0
[476501e8] + SLEEFPirates v0.6.42
[aedffcd0] + Static v0.8.8
[0d7ed370] + StaticArrayInterface v1.5.0
[8290d209] + ThreadingUtilities v0.5.2
[3a884ed6] + UnPack v1.0.2
[3d5dd08c] + VectorizationBase v0.21.65
[56f22d72] + Artifacts
[2a0f44e3] + Base64
[ade2ca70] + Dates
[76f85450] + LibGit2
[8f399da3] + Libdl
[37e2e46d] + LinearAlgebra
[d6f4376e] + Markdown
[ca575930] + NetworkOptions v1.2.0
[de0858da] + Printf
[9a3f8284] + Random
[ea8e919c] + SHA v0.7.0
[9e88b42a] + Serialization
[2f01184e] + SparseArrays v1.10.0
[4607b0f0] + SuiteSparse
[fa267f1f] + TOML v1.0.3
[cf7118a7] + UUIDs
[4ec0a83e] + Unicode
[e66e0078] + CompilerSupportLibraries_jll v1.0.5+1
[e37daf67] + LibGit2_jll v1.6.4+0
[29816b5a] + LibSSH2_jll v1.11.0+1
[c8ffd9c3] + MbedTLS_jll v2.28.2+1
[4536629a] + OpenBLAS_jll v0.3.23+2
[bea87d4a] + SuiteSparse_jll v7.2.1+1
[8e850b90] + libblastrampoline_jll v5.8.0+1
Precompiling project...
2 dependencies successfully precompiled in 1 seconds. 30 already precompiled.
julia> using LoopVectorization
(jl_PANEU0) pkg> st
Status `/tmp/jl_PANEU0/Project.toml`
[bdcacae8] LoopVectorization v0.12.166
(jl_PANEU0) pkg> add LoopVectorization@0.12.168
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LoopVectorization [bdcacae8]:
LoopVectorization [bdcacae8] log:
├─possible versions are: 0.1.0-0.12.166 or uninstalled
└─restricted to versions 0.12.168 by an explicit requirement — no versions left
(jl_PANEU0) pkg> st -m --outdated
Status `/tmp/jl_PANEU0/Manifest.toml`
julia> versioninfo()
Julia Version 1.10.0
Commit 3120989f39b (2023-12-25 18:01 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 24 × AMD Ryzen 9 3900XT 12-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, znver2)
Threads: 17 on 24 virtual cores
Environment:
JULIA_NUM_THREADS = 12
JULIA_PKG_PRESERVE_TIERED_INSTALLED =
And after installing LV from GitHub
julia> vmapreduce(==(3), max, [1,2,3])
true
julia> vmapreduce(==(3), max, [1,2,3,4])
ERROR: MethodError: no method matching shufflevector(::VectorizationBase.Mask{4, UInt8}, ::Val{(2, 3)})
Closest candidates are:
shufflevector(::VectorizationBase.VecUnroll, ::Val{I}) where I
@ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:455
shufflevector(::VectorizationBase.MM{W, X}, ::Val{I}) where {W, X, I}
@ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:124
shufflevector(::VectorizationBase.Vec{W, T}, ::Val{I}) where {W, T, I}
@ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:81
Stacktrace:
⋮ internal @ VectorizationBase, LoopVectorization
[7] vmapreduce(::Base.Fix2{typeof(==), Int64}, ::typeof(max), ::Vector{Int64})
@ LoopVectorization ~/.julia/packages/LoopVectorization/4Y9RY/src/simdfunctionals/mapreduce.jl:73
Use `err` to retrieve the full stack trace.
(jl_flrFiI) pkg> st
Status `/tmp/jl_flrFiI/Project.toml`
[bdcacae8] LoopVectorization v0.12.168 `https://github.com/JuliaSIMD/LoopVectorization.jl#main`
(jl_flrFiI) pkg> st -m --outdated
Status `/tmp/jl_flrFiI/Manifest.toml`