PRODUCTS
Products Overview
Mathematica
Mathematica Student Edition
Mathematica Home Edition
Wolfram
CDF Player
(free download)
Computable Document Format (CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
Add-Ons
Wolfram|Alpha Products
SOLUTIONS
Solutions Overview
Engineering
Aerospace Engineering & Defense
Chemical Engineering
Control Systems
Electrical Engineering
Image Processing
Industrial Engineering
Materials Science
Mechanical Engineering
Operations Research
Optics
Petroleum Engineering
Biotechnology & Medicine
Bioinformatics
Medical Imaging
Finance, Statistics & Business Analysis
Actuarial Sciences
Data Analysis & Mining
Econometrics
Economics
Financial Engineering & Mathematics
Financial Risk Management
Statistics
Software Engineering & Content Delivery
Authoring & Publishing
Interface Development
Software Engineering
Web Development
Science
Astronomy
Biological Sciences
Chemistry
Environmental Sciences
Geosciences
Social & Behavioral Sciences
Design, Arts & Entertainment
Game Design, Special Effects & Generative Art
Education
STEM Education Initiative
Higher Education
Community & Technical College Education
Primary & Secondary Education
Students
Technology
Computable Document Format (CDF)
High-Performance & Parallel Computing (HPC)
See Also: Technology Guide
PURCHASE
Online Store
Other Ways to Buy
Volume & Site Licensing
Contact Sales
Software
Service
Upgrades
Training
Books
Merchandise
SUPPORT
Support Overview
Mathematica
Documentation
Knowledge Base
Learning Center
Technical Services
Community & Forums
Training
Does My Site Have a License?
Wolfram User Portal
COMPANY
About Wolfram Research
News
Events
Wolfram Blog
Partnerships
Employment Opportunities
History of
Mathematica
Stephen Wolfram's Home Page
Contact Us
OUR SITES
All Sites
Wolfram|Alpha
Demonstrations Project
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
Systems Interfaces & Deployment
>
Parallel Computing
>
Concurrency
>
ParallelSubmit
>
Mathematica
>
Core Language
>
Tuning & Debugging
>
Parallel Computing
>
Concurrency
>
ParallelSubmit
>
BUILT-IN MATHEMATICA SYMBOL
WaitAll
WaitNext
DistributeDefinitions
EvaluationObject
AbortKernels
See Also »
|
Concurrency
Parallel Computing
Summary of New Features in 7.0
New in 7.0: Alphabetical Listing
New in 7.0: Core Language
New in 7.0: Systems Interfaces & Deployment
More About »
ParallelSubmit
ParallelSubmit
[
expr
]
submits
expr
for evaluation on the next available parallel kernel and returns an
EvaluationObject
expression representing the submitted evaluation.
ParallelSubmit
builds a closure for the variables given before submitting
expr
.
MORE INFORMATION
ParallelSubmit
substitutes the current values of the
into
expr
before submitting it for evaluation.
ParallelSubmit
has attribute
HoldAllComplete
.
EXAMPLES
CLOSE ALL
Basic Examples
(3)
Schedule a range of evaluations concurrently:
Start the calculations and wait for all results:
Functions used need to be distributed first:
In[1]:=
Out[1]=
In[2]:=
Out[2]=
Schedule a range of evaluations concurrently:
In[1]:=
Out[1]=
Start the calculations and wait for all results:
In[2]:=
Out[2]=
Functions used need to be distributed first:
In[1]:=
In[2]:=
Out[2]=
In[3]:=
Out[3]=
Scope
(3)
Use
Table
to submit evaluations:
Use a function to generate evaluations:
Schedule the same expression on each available kernel:
Applications
(4)
Run a search for a random prime on each parallel kernel:
Watch the scheduling of the evaluations while they are running:
Stop all evaluations as soon as one result has been found using a shared variable:
Write a command that evaluates the arguments of a list in parallel:
Use
ParallelCombine
for the same purpose:
Submit evaluations for searching adjacent ranges:
Use
Parallelize
for the same purpose:
Properties & Relations
(2)
The
Method
setting schedules each item as a single evaluation:
Internally it works similarly to
WaitAll
:
Scheduling larger evaluations first usually leads to better load balancing:
Possible Issues
(3)
ParallelSubmit
does not evaluate its arguments on the master kernel:
Use a closure to insert the values of local variables into the expressions to be evaluated:
Use
With
to insert the values of local variables:
Side effects are local to each evaluation:
Use a shared variable to support global side effects:
There is a considerable overhead for scheduling trivial calculations:
The overhead is smaller for generating fewer, but larger, evaluation units:
A sequential evaluation avoids all communication overhead:
Neat Examples
(2)
Parallelize a functional operation by functional composition with
ParallelSubmit
:
Watch the scheduling of evaluations taking vastly varying amounts of time:
SEE ALSO
WaitAll
WaitNext
DistributeDefinitions
EvaluationObject
AbortKernels
MORE ABOUT
Concurrency
Parallel Computing
Summary of New Features in 7.0
New in 7.0: Alphabetical Listing
New in 7.0: Core Language
New in 7.0: Systems Interfaces & Deployment
New in 7