evaluates f[h[e1,e2,]] in parallel by distributing parts of the computation to all parallel kernels and combining the partial results with comb.

ParallelCombine[f,h[e1,e2, ]]

is equivalent to ParallelCombine[f,h[e1,e2,],h] if h has attribute Flat, and ParallelCombine[f,h[e1,e2,],Join] otherwise.

Details and Options

  • ParallelCombine[f,h[e1,,en],comb] forms expressions f[h[e1,,ek]], f[h[ek+1,]], , f[h[,en]], evaluates these on all available kernels, and combines the results ri with comb[r1,r2,].
  • The default combiner Join is appropriate for functions f such that the result of f[h[e1,,ek]] has head h. This includes all functions with attribute Listable.
  • For heads h with attribute Flat the default combiner h effectively implements the associative law h[e1,,en] = h[h[e1,,ek],h[ek+1,],,h[,en]].
  • With a compatible choice of comb, ParallelCombine[f,h[e1,e2,],comb] is equivalent to f[h[e1,e2,]].
  • If no kernels are available, ParallelCombine evaluates f[h[e1,e2,]] normally.
  • ParallelCombine takes the same Method option as Parallelize.
  • ParallelCombine takes the same DistributedContexts option as Parallelize; the default value is DistributedContexts:>$DistributedContexts.


open all close all

Basic Examples  (2)

Apply f in parallel to chunks of a list (with 4 parallel kernels available):

Click for copyable input

Show where each computation takes place:

Click for copyable input

By default Join is used as a combiner function:

Click for copyable input

Do a parallel filtering operation:

Click for copyable input

Scope  (9)

Generalizations & Extensions  (1)

Options  (11)

Applications  (3)

Properties & Relations  (5)

Possible Issues  (2)

Introduced in 2008
Updated in 2010