ParallelTable
✖
ParallelTable
generates in parallel a list of the values of expr when i runs from 1 to imax.
gives a nested list. The list associated with i is outermost.
Details and Options


- ParallelTable is a parallel version of Table that automatically distributes different evaluations of expr among different kernels and processors.
- ParallelTable will give the same results as Table, except for side effects during the computation.
- Parallelize[Table[expr,iter, …]] is equivalent to ParallelTable[expr,iter,…].
- If an instance of ParallelTable cannot be parallelized, it is evaluated using Table.
- The following options can be given:
-
Method Automatic granularity of parallelization DistributedContexts $DistributedContexts contexts used to distribute symbols to parallel computations ProgressReporting $ProgressReporting whether to report the progress of the computation - The Method option specifies the parallelization method to use. Possible settings include:
-
"CoarsestGrained" break the computation into as many pieces as there are available kernels "FinestGrained" break the computation into the smallest possible subunits "EvaluationsPerKernel"->e break the computation into at most e pieces per kernel "ItemsPerEvaluation"->m break the computation into evaluations of at most m subunits each Automatic compromise between overhead and load balancing - Method->"CoarsestGrained" is suitable for computations involving many subunits, all of which take the same amount of time. It minimizes overhead, but does not provide any load balancing.
- Method->"FinestGrained" is suitable for computations involving few subunits whose evaluations take different amounts of time. It leads to higher overhead, but maximizes load balancing.
- By default, a nested table is parallelized at the innermost level. With Method->"CoarsestGrained", it is parallelized at the outermost level. With Method->"FinestGrained", it is parallelized at the innermost level.
- The DistributedContexts option specifies which symbols appearing in expr have their definitions automatically distributed to all available kernels before the computation.
- The default value is DistributedContexts:>$DistributedContexts with $DistributedContexts:=$Context, which distributes definitions of all symbols in the current context but does not distribute definitions of symbols from packages.
- The ProgressReporting option specifies whether to report the progress of the parallel computation.
- The default value is ProgressReporting:>$ProgressReporting.
Examples
open allclose allBasic Examples (6)Summary of the most common use cases
ParallelTable works like Table, but in parallel:

https://wolfram.com/xid/05fj27bfsi-c8yhm9


https://wolfram.com/xid/05fj27bfsi-dy5k2k

A table of the first 10 squares:

https://wolfram.com/xid/05fj27bfsi-czhm8t

A table with i running from 0 to 20 in steps of 2:

https://wolfram.com/xid/05fj27bfsi-bd0


https://wolfram.com/xid/05fj27bfsi-uth


https://wolfram.com/xid/05fj27bfsi-nux


https://wolfram.com/xid/05fj27bfsi-nd9

Longer computations display information about their progress and estimated time to completion:

https://wolfram.com/xid/05fj27bfsi-o6k425
![]() |
Scope (5)Survey of the scope of standard use cases
The index in the table can run backward:

https://wolfram.com/xid/05fj27bfsi-b2n


https://wolfram.com/xid/05fj27bfsi-eu6


https://wolfram.com/xid/05fj27bfsi-fpi

Make a 3x2x4 array, or tensor:

https://wolfram.com/xid/05fj27bfsi-n5r

Iterate over an existing list:

https://wolfram.com/xid/05fj27bfsi-ragly9

Make an array from existing lists:

https://wolfram.com/xid/05fj27bfsi-cdobrh

Generalizations & Extensions (1)Generalized and extended use cases
Options (14)Common values & functionality for each option
Method (7)
Break the computation into the smallest possible subunits:

https://wolfram.com/xid/05fj27bfsi-beyh5x

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

https://wolfram.com/xid/05fj27bfsi-fhgfoq

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

https://wolfram.com/xid/05fj27bfsi-b4y3d3

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

https://wolfram.com/xid/05fj27bfsi-4yvup

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

https://wolfram.com/xid/05fj27bfsi-d7os7j

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

https://wolfram.com/xid/05fj27bfsi-b82tnj

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

https://wolfram.com/xid/05fj27bfsi-bq3f3v

By default, a nested table is parallelized fully at the innermost level:

https://wolfram.com/xid/05fj27bfsi-v0d7bg

To parallelize only at the first level, use Method"CoarsestGrained":

https://wolfram.com/xid/05fj27bfsi-r3ft49

DistributedContexts (5)
By default, definitions in the current context are distributed automatically:

https://wolfram.com/xid/05fj27bfsi-g9gh34

https://wolfram.com/xid/05fj27bfsi-clbr3t

Do not distribute any definitions of functions:

https://wolfram.com/xid/05fj27bfsi-6xao0

https://wolfram.com/xid/05fj27bfsi-kx0x4h

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

https://wolfram.com/xid/05fj27bfsi-hu6d1y

https://wolfram.com/xid/05fj27bfsi-s80e6

Distribute only definitions in the given contexts:

https://wolfram.com/xid/05fj27bfsi-yht7o

https://wolfram.com/xid/05fj27bfsi-n7ym7a

Restore the value of the DistributedContexts option to its default:

https://wolfram.com/xid/05fj27bfsi-qkhgjy

ProgressReporting (2)
Do not show a temporary progress report:

https://wolfram.com/xid/05fj27bfsi-o979po
Use Method"FinestGrained" for the most accurate progress report:

https://wolfram.com/xid/05fj27bfsi-qudjj1
![]() |
Applications (5)Sample problems that can be solved with this function
Solve and plot a differential equation for many initial conditions and animate the results:

https://wolfram.com/xid/05fj27bfsi-bzgxyc

https://wolfram.com/xid/05fj27bfsi-cjjelr

https://wolfram.com/xid/05fj27bfsi-d3d27n

Explore different parameter values for the sine-Gordon equation in two spatial dimensions:

https://wolfram.com/xid/05fj27bfsi-iigb3v

https://wolfram.com/xid/05fj27bfsi-k3zpm

Apply different algorithms to the same set of data:

https://wolfram.com/xid/05fj27bfsi-j8nl8b
Apply a list of different filters to the same image and display the result:

https://wolfram.com/xid/05fj27bfsi-n4vcc

https://wolfram.com/xid/05fj27bfsi-b6p34h


https://wolfram.com/xid/05fj27bfsi-e8jsec

Generate 10 frames from an animation and save them to individual files:

https://wolfram.com/xid/05fj27bfsi-gd75cv
Run several batches in parallel:

https://wolfram.com/xid/05fj27bfsi-cqbeg4
Each run returns one frame which can be used for checking the correctness:

https://wolfram.com/xid/05fj27bfsi-gruglc


https://wolfram.com/xid/05fj27bfsi-edgezz
Quickly show the evaluation of several nontrivial cellular automata:

https://wolfram.com/xid/05fj27bfsi-cltzbu

https://wolfram.com/xid/05fj27bfsi-padz90

Properties & Relations (10)Properties of the function, and connections to other functions
Parallelization happens along the outermost (first) index:

https://wolfram.com/xid/05fj27bfsi-plrwbc

Using multiple iteration specifications is equivalent to nesting Table functions:

https://wolfram.com/xid/05fj27bfsi-rxa


https://wolfram.com/xid/05fj27bfsi-g7s

ParallelDo evaluates the same sequence of expressions as ParallelTable:

https://wolfram.com/xid/05fj27bfsi-x10

https://wolfram.com/xid/05fj27bfsi-ugy

ParallelSum effectively applies Plus to results from ParallelTable:

https://wolfram.com/xid/05fj27bfsi-ec


https://wolfram.com/xid/05fj27bfsi-ic5

ParallelArray iterates over successive integers:

https://wolfram.com/xid/05fj27bfsi-wzj


https://wolfram.com/xid/05fj27bfsi-mww


https://wolfram.com/xid/05fj27bfsi-uvj

Map applies a function to successive elements in a list:

https://wolfram.com/xid/05fj27bfsi-k99str


https://wolfram.com/xid/05fj27bfsi-cfm7sr

Table can substitute successive elements in a list into an expression:

https://wolfram.com/xid/05fj27bfsi-ep4419

ParallelTable iterating over a given list is equivalent to ParallelCombine:

https://wolfram.com/xid/05fj27bfsi-b2mt3a


https://wolfram.com/xid/05fj27bfsi-ihewfu


https://wolfram.com/xid/05fj27bfsi-mg1atl

ParallelTable can be implemented with WaitAll and ParallelSubmit:

https://wolfram.com/xid/05fj27bfsi-cjkz0c

Parallelization at the innermost level of a multidimensional table:

https://wolfram.com/xid/05fj27bfsi-fu7mkd

Functions defined interactively are automatically distributed to all kernels when needed:

https://wolfram.com/xid/05fj27bfsi-ysr612

https://wolfram.com/xid/05fj27bfsi-9aj3zp

Distribute definitions manually and disable automatic distribution:

https://wolfram.com/xid/05fj27bfsi-4luuf0

https://wolfram.com/xid/05fj27bfsi-x3m4oa

https://wolfram.com/xid/05fj27bfsi-psl1j3

For functions from a package, use ParallelNeeds rather than DistributeDefinitions:

https://wolfram.com/xid/05fj27bfsi-164rkx

https://wolfram.com/xid/05fj27bfsi-37jd03


https://wolfram.com/xid/05fj27bfsi-tm6e7u

https://wolfram.com/xid/05fj27bfsi-kd2hrg

Possible Issues (3)Common pitfalls and unexpected behavior
A function used that is not known on the parallel kernels may lead to sequential evaluation:

https://wolfram.com/xid/05fj27bfsi-dodxy4

https://wolfram.com/xid/05fj27bfsi-juzxie

Define the function on all parallel kernels:

https://wolfram.com/xid/05fj27bfsi-m3hzn

The function is now evaluated on the parallel kernels:

https://wolfram.com/xid/05fj27bfsi-bdurj6

Definitions of functions in the current context are distributed automatically:

https://wolfram.com/xid/05fj27bfsi-buqs89

https://wolfram.com/xid/05fj27bfsi-djmh91

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

https://wolfram.com/xid/05fj27bfsi-x4grox

https://wolfram.com/xid/05fj27bfsi-zr74pb

Use DistributeDefinitions to distribute such definitions:

https://wolfram.com/xid/05fj27bfsi-p6tavy

https://wolfram.com/xid/05fj27bfsi-lav8l3

Alternatively, set the DistributedContexts option to include all contexts:

https://wolfram.com/xid/05fj27bfsi-4fcrwb

https://wolfram.com/xid/05fj27bfsi-1ubyaq

Trivial operations may take longer when parallelized:

https://wolfram.com/xid/05fj27bfsi-g3n24y


https://wolfram.com/xid/05fj27bfsi-cwkgcx

Neat Examples (2)Surprising or curious use cases

https://wolfram.com/xid/05fj27bfsi-z1uud

https://wolfram.com/xid/05fj27bfsi-fhf0e2

https://wolfram.com/xid/05fj27bfsi-e2udvb

Calculate and display the Feigenbaum (or bifurcation) diagram of the logistics map:

https://wolfram.com/xid/05fj27bfsi-kastjg

https://wolfram.com/xid/05fj27bfsi-dzu8n8

Wolfram Research (2008), ParallelTable, Wolfram Language function, https://reference.wolfram.com/language/ref/ParallelTable.html (updated 2021).
Text
Wolfram Research (2008), ParallelTable, Wolfram Language function, https://reference.wolfram.com/language/ref/ParallelTable.html (updated 2021).
Wolfram Research (2008), ParallelTable, Wolfram Language function, https://reference.wolfram.com/language/ref/ParallelTable.html (updated 2021).
CMS
Wolfram Language. 2008. "ParallelTable." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/ParallelTable.html.
Wolfram Language. 2008. "ParallelTable." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/ParallelTable.html.
APA
Wolfram Language. (2008). ParallelTable. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ParallelTable.html
Wolfram Language. (2008). ParallelTable. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ParallelTable.html
BibTeX
@misc{reference.wolfram_2025_paralleltable, author="Wolfram Research", title="{ParallelTable}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/ParallelTable.html}", note=[Accessed: 15-April-2025
]}
BibLaTeX
@online{reference.wolfram_2025_paralleltable, organization={Wolfram Research}, title={ParallelTable}, year={2021}, url={https://reference.wolfram.com/language/ref/ParallelTable.html}, note=[Accessed: 15-April-2025
]}