ParallelArray

ParallelArray[f,n]

generates in parallel a list of length n, with elements f[i], evaluated.

ParallelArray[f,{n1,n2,}]

generates in parallel an array of nested lists, with elements f[i1,i2,].

ParallelArray[f,{n1,n2,},{r1,r2,}]

generates in parallel a list using the index origins ri (default 1).

ParallelArray[f,dims,origin,h]

uses head h, rather than List, for each level of the array.

Details and Options

Examples

open allclose all

Basic Examples  (3)

ParallelArray works like Array, but in parallel:

Generate a array:

Generate a array:

Use index origin 0 instead of 1:

Start with indices 0 and 4 instead of 1:

Options  (11)

Method  (6)

Break the computation into the smallest possible subunits:

Break the computation into as many pieces as there are available kernels:

Break the computation into at most 2 evaluations per kernel for the entire job:

Break the computation into evaluations of at most 5 elements each:

The default option setting balances evaluation size and number of evaluations:

Calculations with vastly differing runtimes should be parallelized as finely as possible:

A large number of simple calculations should be distributed into as few batches as possible:

DistributedContexts  (5)

By default, definitions in the current context are distributed automatically:

Do not distribute any definitions of functions:

Distribute definitions for all symbols in all contexts appearing in a parallel computation:

Distribute only definitions in the given contexts:

Restore the value of the DistributedContexts option to its default:

Possible Issues  (2)

A function used that is not known on the parallel kernels may lead to sequential evaluation:

Define the function on all parallel kernels:

The function is now evaluated on the parallel kernels:

Definitions of functions in the current context are distributed automatically:

Definitions from contexts other than the default context are not distributed automatically:

Use DistributeDefinitions to distribute such definitions:

Alternatively, set the DistributedContexts option to include all contexts:

Introduced in 2008
 (7.0)
 |
Updated in 2010
 (8.0)