ParallelCombine
This feature is not supported on the Wolfram Cloud.

ParallelCombine[f,h[e1,e2,],comb]
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 OptionsDetails 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.

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

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

In[1]:=
Click for copyable input
Out[1]=

Show where each computation takes place:

In[2]:=
Click for copyable input
Out[2]=

By default Join is used as a combiner function:

In[1]:=
Click for copyable input
Out[1]=

Do a parallel filtering operation:

In[2]:=
Click for copyable input
Out[2]=
Introduced in 2008
(7.0)
| Updated in 2010
(8.0)