JuliaSIMD / JuliaSIMD/LoopVectorization.jl
Support vectorizing `rand`?
- Langage dominant
- Julia
- Étoiles
- 789
- Forks
- 73
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I have no idea if it is possible to vectorize `rand`.
I hope for a usage like below:
```julia
julia> using LoopVectorization
julia> m = zeros(Float32, 4,4)
4×4 Matrix{Float32}:
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
julia> a = rand(Float32, 4,4)
4×4 Matrix{Float32}:
0.251334 0.409923 0.591477 0.04535
0.4116 0.52253 0.34138 0.870923
0.24401 0.116969 0.583924 0.0549548
0.528378 0.898528 0.519574 0.172627
julia> b = rand(Float32, 4,4)
4×4 Matrix{Float32}:
0.874233 0.263186 0.000970364 0.411874
0.0680491 0.951124 0.803958 0.197752
0.669292 0.996646 0.0915098 0.652465
0.395592 0.875268 0.601194 0.518282
julia> @avxt for i in eachindex(m)
m[i] = rand(a[i]:1.0f3:b[i])
end
```
I have tried `VectorizedRNG` but I did not find out how to set boundries.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par la boucle @avxt et l’approche VectorizedRNG mentionnées dans l’issue, puis examinez comment LoopVectorization gère les appels à rand et les bornes. Clarifiez le comportement attendu des bornes pour chaque élément des tableaux a et b. Le travail est terminé lorsque la boucle présentée peut générer des valeurs aléatoires bornées grâce à la vectorisation, avec des tests couvrant l’utilisation prise en charge.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- julia
- Domaine
- performance
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 30/100