Parallel Computing Toolbox


Parallel Computing Toolbox

Perform parallel computations on multicore computers, GPUs, and clusters

Get Started:

Scale Up MATLAB Applications

Parallel Computing Toolbox allows your applications to take advantage of computers equipped with multicore processors and GPUs.

Speed Up MATLAB with Multicore Computers

Use parallel for loops (parfor) to run independent iterations in parallel on multicore CPUs, for problems such as parameter sweeps, optimizations, and Monte Carlo simulations. parfor automates the creation of parallel pools and manages file dependencies, so that you can focus on your work. Key functions in several MATLAB and Simulink products have parallel enabled functions. With Parallel Computing Toolbox, these functions can distribute computations across available parallel computing resources. You can execute parallel applications interactively and in batch.

Use Parallel Computing Toolbox to speed up MATLAB and Simulink with additional CPU and GPU resources.

Accelerate MATLAB with GPUs

Parallel Computing Toolbox enables you to use NVIDIA® GPUs directly from MATLAB using gpuArray. More than 500 MATLAB functions run automatically on NVIDIA GPUs, including fft, element-wise operations, and several linear algebra operations such as lu and mldivide, also known as the backslash operator (\). Key functions in several MATLAB and Simulink products, such as Deep Learning Toolbox, have GPU enabled functions. You can use GPUs without having to write any additional code, so you can focus on your applications rather than performance tuning. Advanced developers can call their own CUDA code directly from MATLAB. You can utilize multiple GPUs on desktop, compute clusters, and cloud environments.

Use gpuArray and GPU-enabled MATLAB functions to help speed up MATLAB operations without low-level CUDA programming.

Process Big Data

Parallel Computing Toolbox extends the tall arrays and mapreduce capabilities built into MATLAB so that you can run on local workers for improved performance. You can then scale tall arrays and mapreduce up to additional resources with MATLAB Parallel Server on traditional clusters or Apache Spark™ and Hadoop® clusters. You can also prototype distributed arrays on the desktop and then scale up to additional resources with MATLAB Parallel Server.

Analyze big data sets in parallel using MATLAB tall arrays.

Speed Up Simulink Simulations

With Parallel Computing Toolbox, you can easily run many Simulink simulations at the same time on multiple CPU cores. Easily run the same model with different inputs or parameter settings in Monte Carlo analyses, parameter sweeps, model testing, experiment design, and model optimization.

Run Multiple Simulations in Parallel

Use the parsim function to run your simulations in parallel. The function distributes multiple simulations to multicore CPUs to speed up overall simulation time. parsim also automates the creation of parallel pools, identifies file dependencies, and manages build artifacts, so that you can focus on your design work. You can execute parallel simulations interactively or in batch.

Use the parsim function to run multiple simulations in parallel.

Simulation Manager

Simulation manager is integrated with parsim and can be used to monitor and visualize multiple simulations in one window. You can select an individual simulation and view its specifications, as well as use the Simulation Data Inspector to examine simulation results. You can also conveniently run diagnostic tasks or abort simulations.

Monitor multiple simulations in one window with Simulation Manager.

Leverage Parallel-Enabled Simulink Functionality

In addition to using parsim and batchsim functions to run Simulink simulations, there are a number of Simulink products, including Simulink Design Optimization™, Reinforcement Learning Toolbox™, Simulink Test™, and Simulink Coverage™ that provide parallel capability, so you can run simulations in parallel without writing any code.

Parallel simulations can be enabled by a preference or flag setting.

Parallel Computing in Clusters and Clouds

Prototype and debug applications on the desktop or virtual desktop and scale to clusters or clouds without recoding. Develop interactively and move to production with batch workflows.

Run a MATLAB Desktop in Public and Private Clouds

Speed up analysis and simulations by taking advantage of multiple on-demand, high-performance CPU and GPU machines. Run MATLAB and Simulink directly on virtual machines in the Amazon Web Services® (AWS) environment or in Microsoft Azure®.

You can also speed up your deep learning applications by training neural networks in the MATLAB Deep Learning Container on NVIDIA GPU Cloud or on NVIDIA DGX.

Run MATLAB and Simulink directly on EC2 instances in the Amazon Web Services (AWS) environment.

Scale to Clusters with MATLAB Parallel Server

Develop a prototype on your desktop, and scale to a compute cluster or clouds without recoding. Access different execution environments from your desktop just by changing your cluster profile. 

Easily scale up your applications using additional cluster and cloud resources without changing your code.

See Parallel Computing Toolbox in Action