Skip to content
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

Simple vmap throws error #57

Closed
baggepinnen opened this issue Feb 22, 2020 · 3 comments
Closed

Simple vmap throws error #57

baggepinnen opened this issue Feb 22, 2020 · 3 comments

Comments

@baggepinnen
Copy link
Contributor

baggepinnen commented Feb 22, 2020

vmap! has suddenly stopped working for me

julia> vmap!(sin, zeros(4), zeros(4))
ERROR: UndefVarError: vectorizable not defined
Stacktrace:
 [1] macro expansion at /home/fredrikb/.julia/packages/LoopVectorization/T2QRW/src/map.jl:25 [inlined]
 [2] vmap!(::typeof(sin), ::Array{Float64,1}, ::Array{Float64,1}) at /home/fredrikb/.julia/packages/LoopVectorization/T2QRW/src/map.jl:25
 [3] top-level scope at none:0

(v1.3) pkg> st LoopVectorization
    Status `~/.julia/environments/v1.3/Project.toml`
  [bdcacae8] LoopVectorization v0.6.12
  [d96e819e] Parameters v0.12.0
  [476501e8] SLEEFPirates v0.3.6

On PkgEval (julia 1.5), the error is also there but different
https://github.com/JuliaCI/NanosoldierReports/blob/7e2afe28cfedbd45fcaec2baf2343ca04ce64a5b/pkgeval/by_date/2020-02/20/logs/LowLevelParticleFilters/1.5.0-DEV-6a9a92683d.log#L222

@baggepinnen
Copy link
Contributor Author

I had to do the following to get it to work

(v1.3) pkg> add VectorizationBase@0.2.5
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
  Updating `~/.julia/environments/v1.3/Project.toml`
  [3d5dd08c] + VectorizationBase v0.2.5
  Updating `~/.julia/environments/v1.3/Manifest.toml`
  [21efa798]  SIMDPirates v0.3.15  v0.3.9
  [3d5dd08c]  VectorizationBase v0.3.1  v0.2.5

@chriselrod
Copy link
Member

Hi, thanks for the report.
I updated LoopVectorization a few days ago to reflect that change, but while I increased VectorizationBase's version to 0.4.0 to reflect that change, I made the mistake of having too open an upper bound and also did not tag a new version of LoopVectorization with that update, meaning the package manager could break people's code.

I'll release a new version of LoopVectorization soon. I'm rerunning benchmarks now. Once those finished, assuming I don't see any regressions, I'll tag new versions (one after the other) of SIMDPirates, SLEEFPirates, and then LoopVectorization with updated compat bounds and Manifest files.

@chriselrod
Copy link
Member

I was using relatively open bounds because of the following issue:
JuliaSIMD/SLEEFPirates.jl#1
Using open bounds did not actually address it, but I mistakenly thought it helped and didn't notice because of the stochastic nature of the package server falling out of sync with the general registry. The issue seems to have been resolved:
JuliaLang/Pkg.jl#1694 (comment)
By being strict on the compats, problems like this should not come up again.

But please let me know if you run into any more issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants