JuliaSIMD / JuliaSIMD/LoopVectorization.jl
"Reduction not found." error with `ifelse`
- Langage dominant
- Julia
- Étoiles
- 789
- Forks
- 73
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
```julia
julia> using LoopVectorization
julia> m = [1,2,3,4,5,6,7,8]
8-element Array{Int64,1}:
1
2
3
4
5
6
7
8
julia> s = -Inf
-Inf
julia> @avx for i in eachindex(m)
s = ifelse(m[i]>=s, m[i], s)
end
ERROR: LoadError: "Reduction not found."
Stacktrace:
[1] reduction_zero at C:\Users\89639\.julia\packages\LoopVectorization\O8WW6\src\modeling\costs.jl:469 [inlined]
[2] add_reduction_update_parent!(::Array{LoopVectorization.Operation,1}, ::Array{Symbol,1}, ::Array{Symbol,1}, ::LoopVectorization.LoopSet, ::LoopVectorization.Operation, ::LoopVectorization.Instruction, ::Int64, ::Int64) at C:\Users\89639\.julia\packages\LoopVectorization\O8WW6\src\parse\add_compute.jl:188
in expression starting at REPL[4]:1
```
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Reproduisez l’exemple du REPL Julia avec LoopVectorization et examinez les emplacements de la trace de pile dans src/modeling/costs.jl et src/parse/add_compute.jl, en particulier reduction_zero et add_reduction_update_parent!. Le travail est considéré comme terminé lorsque la boucle @avx utilisant ifelse ne déclenche plus "Reduction not found." et que le comportement est couvert par un test de régression approprié.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- julia
- Domaine
- performance, tooling
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100