Parallel Computing Toolbox
Distributed arrays in Parallel Computing Toolbox are special arrays that hold several times the amount of data that your desktop computer’s memory (RAM) can hold. Distributed arrays apportion the data across several MATLAB worker processes running on a computer cluster (using MATLAB Distributed Computing Server). As a result, with distributed arrays you can overcome the memory limits of your desktop computer and solve problems that require manipulating very large matrices.
With over 150 functions available for working with distributed arrays, you can interact with these arrays as you would with MATLAB arrays and manipulate data available remotely on workers without low-level MPI programming. Available functions include linear algebra routines based on ScaLAPACK, such as
mldivide, also known as the backslash operator (\),
chol, and functions for moving distributed data to and from MAT-files.
For fine-grained control over your parallelization scheme, the toolbox provides the single program multiple data
(spmd) construct and several message-passing routines based on an MPI standard library (MPICH2). The
spmd construct lets you designate sections of your code to run concurrently across workers participating in a parallel computation. During program execution,
spmd automatically transfers data and code used within its body to the workers and, once the execution is complete, brings results back to the MATLAB client session. Message-passing functions for send, receive, broadcast, barrier, and probe operations are available.