Distributed Arrays
Parallel Computing Toolbox™ supports distributed arrays to partition large arrays across
multiple MATLAB® workers. You operate on the entire array as a single entity,
however, workers operate only on their part of the array, and automatically
transfer data between themselves when necessary. Simultaneous execution is
supported by the single program multiple data (spmd
)
language construct to facilitate communication between workers. Use
distributed-enabled matrix operations and functions to work directly with these
arrays without further modification. You can use distributed arrays in
Parallel Computing Toolbox to run big data applications using the combined memory of your
cluster.
Functions
Classes
Examples and How To
- Create and Use Distributed Arrays
When your data array is too big to fit into the memory of a single machine, you can create a
distributed
array. - Run MATLAB Functions with Distributed Arrays
MATLAB functions that operate on distributed arrays.
- Distributing Arrays to Parallel Workers
Use
datastore
ordistributed
to create distributed arrays and partition the data among your workers. - Run Single Programs on Multiple Data Sets
Use
spmd
statements to run the same code on multiple datasets and control codistributed arrays. - Access Worker Variables with Composites
Composite objects in the MATLAB client session let you directly access data values on the workers.
- Train Network in Parallel with Custom Training Loop (Deep Learning Toolbox)
This example shows how to set up a custom training loop to train a network in parallel.
- Use spmdReduce to Achieve MPI_Allreduce Functionality
In this example, we look at the
spmdReduce
function and the functions that build on it:spmdPlus
andspmdCat
. - Numerical Estimation of Pi Using Message Passing
This example shows the basics of working with spmd statements, and how they provide an interactive means of performing parallel computations.
- Choose Between spmd, parfor, and parfeval
Compare and contrast
spmd
against other parallel computing functionality such asparfor
andparfeval
.
Concepts
- Nondistributed Versus Distributed Arrays
Describes the various types of arrays used in communicating jobs.
- Working with Codistributed Arrays
Describes how to use codistributed arrays for calculation.
- Looping Over a Distributed Range (for-drange)
Describes how to program a
for
-loop with codistributed arrays. - Work with Remote Data
Work with remote data in Amazon S3™, Azure® Blob Storage, or HDFS™.