JuliaSIMD / JuliaSIMD/LoopVectorization.jl

Boil down vmap! variants, extend to reduce & mapreduce

Open
#154 3 comments 0 reactions 0 assignees View on GitHub
good first issue
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.