# Parallel reductions

**URL:** https://discourse.julialang.org/t/parallel-reductions/30180
**Category:** Julia at Scale
**Created:** [October 22, 2019, 4:49pm UTC](https://discourse.julialang.org/t/parallel-reductions/30180 "2019-10-22T16:49:41Z")
**Posts on this page:** 4
**Page:** 2

<div class="post-metadata">

### Author: ![stillyslalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stillyslalom/32/45687_2.png) [@stillyslalom](https://discourse.julialang.org/u/stillyslalom)
#### Post date: [June 17, 2022, 3:04pm UTC](https://discourse.julialang.org/t/parallel-reductions/30180/22 "2022-06-17T15:04:50Z")

</div>

If you’re running on a single machine, I typically use `reduce` from [ThreadsX.jl](https://github.com/tkf/ThreadsX.jl). For multi-node parallel reductions, take a look at Base Julia’s [`@distributed`](https://docs.julialang.org/en/v1/stdlib/Distributed/#Distributed.@distributed) macro or [Dagger.jl](https://github.com/JuliaParallel/Dagger.jl).

---

<div class="post-metadata">

### Author: ![cscherrer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cscherrer/32/7631_2.png) [@cscherrer](https://discourse.julialang.org/u/cscherrer)
#### Post date: [June 17, 2022, 3:32pm UTC](https://discourse.julialang.org/t/parallel-reductions/30180/23 "2022-06-17T15:32:38Z")

</div>

My incomplete view of the thread-parallel ecosystem is that there’s the JuliaSIMD universe (lots of @Elrod 's work) and the JuliaFolds universe (lots of @tkf ). [LoopVectorization](https://github.com/JuliaSIMD/LoopVectorization.jl) is very tough to beat for raw speed, but [Transducers](https://github.com/JuliaFolds/Transducers.jl) is great for composability.

ThreadsX is based on Transducers. For a nice high-level API for LoopVectorization, check out @mcabbott 's [Tullio.jl](https://github.com/mcabbott/Tullio.jl).

---

<div class="post-metadata">

### Author: ![Jeffrey\_Pollock](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffrey_pollock/32/37233_2.png) [@Jeffrey\_Pollock](https://discourse.julialang.org/u/Jeffrey_Pollock)
#### Post date: [June 17, 2022, 5:14pm UTC](https://discourse.julialang.org/t/parallel-reductions/30180/24 "2022-06-17T17:14:40Z")

</div>

@stillyslalom @cscherrer that’s really interesting, thanks for sharing.

---

<div class="post-metadata">

### Author: ![AndrewRadcliffe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andrewradcliffe/32/36412_2.png) [@AndrewRadcliffe](https://discourse.julialang.org/u/AndrewRadcliffe)
#### Post date: [June 19, 2022, 2:43am UTC](https://discourse.julialang.org/t/parallel-reductions/30180/25 "2022-06-19T02:43:50Z")

</div>

[This](https://github.com/andrewjradcliffe/VectorizedReduction.jl), alas, is nothing but a shameless plug, but having happened upon this thread the other day, I feel like it’s slightly less shameless.

[Previous page](https://discourse.julialang.org/t/parallel-reductions/30180.md?page=1)
