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

Add tests for LoopVectorization #53

Merged
merged 14 commits into from
Dec 6, 2020
Merged

Add tests for LoopVectorization #53

merged 14 commits into from
Dec 6, 2020

Conversation

mcabbott
Copy link
Owner

@mcabbott mcabbott commented Dec 4, 2020

Closes #51 , closes #38 .

Lines with avx=false in test/parsing.jl produce errors (LoopVectorization v0.9.1, Tullio 0.2.10), although many more don't work with LV (either caught by try/catch during expansion, or else never called by dispatch).

Tullio.onlyone is part of the vectorised gradient for reductions over max, not sure it's sufficiently tested. now tested, but gradients still seem problematic. But I don't think this is a regression.

7896059 and 90f32e3 (on master before this branch) are what's needed for LoopVectorization v0.9. first attempts.

@chriselrod
Copy link
Contributor

chriselrod commented Dec 4, 2020

Glad there was at least something that worked with LV.

    @test_broken [3,7] == let s = [1 2;3 4], zero=one # left because of #50
-       @tullio x[i] := s[i,j]
+       @tullio x[i] := s[i,j]  avx=false # Unexpected Pass with LV
    end

Feel free to file issues for all of them that didn't.
I'd be inclined to at least fix all of them related to VectorizationBase (seems to be a few, like type error with AbstractSIMD or method errors, and probably the stack overflows as well?), aiming for the others after the rewrite.

@tullio A[i] := (1:10)[i]^2  verbose=1 avx=false # @error: rejected by LoopVectorization's check_arg

That happened unintentionally when reimplementing check_arg.

@mcabbott
Copy link
Owner Author

mcabbott commented Dec 4, 2020

Clearly your macro has better hygiene than mine :)

But sure, I will gather up a list of these & make an issue, once things are a little tidier.

@chriselrod
Copy link
Contributor

But sure, I will gather up a list of these & make an issue, once things are a little tidier.

Okay. I could try running tests myself too, I guess, but for now I did add a trunc(::Type{<:Integer}, ::AbstractSIMD) method for the trunc test.

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

Successfully merging this pull request may close these issues.

Error requiring LoopVectorization from Tullio error on julia 1.6 with LoopVectorization on MacOS
2 participants