# ANN: SPMD mode in DistributedArrays.jl

**URL:** <https://discourse.julialang.org/t/ann-spmd-mode-in-distributedarrays-jl/866>\
**Category:** Community\
**Tags:** announcement\
**Created:** [December 11, 2016, 4:52pm UTC](https://discourse.julialang.org/t/ann-spmd-mode-in-distributedarrays-jl/866 "2016-12-11T16:52:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![amit.murthy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amit.murthy/32/47_2.png) [@amit.murthy](https://discourse.julialang.org/u/amit.murthy)\
**Post date:** [December 11, 2016, 4:52pm UTC](https://discourse.julialang.org/t/ann-spmd-mode-in-distributedarrays-jl/866/1 "2016-12-11T16:52:39Z")

</div>

Hi all,

DistributedArrays.jl now has a basic SPMD mode for running Julia functions MPI style over distributed data. Would love to hear any feedback about the feature.

Please see [https://github.com/JuliaParallel/DistributedArrays.jl#spmd-mode-an-mpi-style-spmd-mode-with-mpi-like-primitives](https://github.com/JuliaParallel/DistributedArrays.jl#spmd-mode-an-mpi-style-spmd-mode-with-mpi-like-primitives)

Amit

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 11, 2016, 10:52pm UTC](https://discourse.julialang.org/t/ann-spmd-mode-in-distributedarrays-jl/866/2 "2016-12-11T22:52:34Z")

</div>

What is an SPMD mode?

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [December 11, 2016, 11:40pm UTC](https://discourse.julialang.org/t/ann-spmd-mode-in-distributedarrays-jl/866/3 "2016-12-11T23:40:43Z")

</div>

Very nice! Couldn’t `recvfrom_any` be a method of `recvfrom`?

---

<div class="post-metadata">

**Author:** ![amit.murthy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amit.murthy/32/47_2.png) [@amit.murthy](https://discourse.julialang.org/u/amit.murthy)\
**Post date:** [December 12, 2016, 3:07am UTC](https://discourse.julialang.org/t/ann-spmd-mode-in-distributedarrays-jl/866/4 "2016-12-12T03:07:19Z")

</div>

> What is an SPMD mode?

Single Program Multiple Data. In this case the same function is executed in parallel on all participating nodes. This is the typical style of MPI programs where the same program is executed on all processors. A very basic subset of MPI-like primitives have been implemented which can be expanded in due course. As a programming model it should appeal to folks coming from an MPI background as its something they are familiar with.

---

<div class="post-metadata">

**Author:** ![amit.murthy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amit.murthy/32/47_2.png) [@amit.murthy](https://discourse.julialang.org/u/amit.murthy)\
**Post date:** [December 12, 2016, 3:07am UTC](https://discourse.julialang.org/t/ann-spmd-mode-in-distributedarrays-jl/866/5 "2016-12-12T03:07:57Z")

</div>

> [@StefanKarpinski](#):
>
> Very nice! Couldn’t recvfrom\_any be a method of recvfrom?

Yes, it can. Good suggestion.

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 12, 2016, 4:16am UTC](https://discourse.julialang.org/t/ann-spmd-mode-in-distributedarrays-jl/866/6 "2016-12-12T04:16:36Z")

</div>

Thanks. It would be good to include this paragraph or similar explanation in the readme. In particular, unexplained acronyms should be banned in general!
