JuliaSIMD / JuliaSIMD/LoopVectorization.jl
Boil down vmap! variants, extend to reduce & mapreduce
- Dominant language
- Julia
- Stars
- 789
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Description
There's a whole menagerie of `vmap`-related functions exported, corresponding to mutating/non-mutating, temporal/non-temporal stores, and singlethreaded/multithreaded. Eight versions of the same function are maintainable, but if some other boolean switch is added, that's sixteen, which could get unwieldy. Wrapper types might allow for a more Julian interface - something like
```
map!(Threaded(+), Nontemporal(out), a, b)
```
to replace
```
vmapntt!(+, out, a, b)
```
The introduction of `Threaded(f)` could be extended to `reduce` & `mapreduce` for a simple multithreaded reduction interface.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.