# Allreduce

From Mesham

Jump to navigationJump to search## Syntax

allreduce[operation]

## Semantics

Similar to the reduce type, but the reduction will be performed on each process and the result is also available to all.

## Example

function void main() { var x:Int::allocated[multiple[]]; var p; par p from 0 to 3 { (x::allreduce["min"]):=p; }; };

In this case all processes will perform the reduction on *p* and all processes will have the minimum value of *p* placed into their copy of *x*.

*Since: Version 0.41b*

## Supported operations

Operator | Description |
---|---|

max | Identify the maximum value |

min | Identify the minimum value |

sum | Sum all the values together |

prod | Generate product of all values |