Parallel Computing Toolbox


Parallel Computing Toolbox

Perform parallel computations on multicore computers, GPUs, and clusters

Parallel Computing Toolbox™ lets you solve computationally and data-intensive problems using multicore processors, GPUs, and computer clusters. High-level constructs such as parallel for-loops, special array types, and parallelized numerical algorithms enable you to parallelize MATLAB® applications without CUDA or MPI programming. The toolbox lets you use parallel-enabled functions in MATLAB and other toolboxes. You can use the toolbox with Simulink® to run multiple simulations of a model in parallel. Programs and models can run in both interactive and batch modes.

The toolbox lets you use the full processing power of multicore desktops by executing applications on workers (MATLAB computational engines) that run locally. Without changing the code, you can run the same applications on clusters or clouds (using MATLAB Parallel Server™). You can also use the toolbox with MATLAB Parallel Server to execute matrix calculations that are too large to fit into the memory of a single machine.

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

利用 Parallel Computing Toolbox™,可以使用多核处理器、GPU 和计算机集群来解决 计算问题和数据密集型问题。利用并行 for 循环、特殊数组类型和并行化数值算法等高级别构造,可以对 MATLAB® 应用程序进行并行化,而无需进行 CUDA 或 MPI 编程。您可以将该工具箱与 Simulink® 配合使用,并行运行一个模型的多个仿真。

该工具箱通过在本地运行的 worker(MATLAB 计算引擎)上执行应用程序,允许您充分利用多核台式机的处理能力。无需更改代码,即可在计算机集群或网格计算服务上运行同一个应用程序(使用 MATLAB Distributed Computing Server™)。可以采用交互方式或批处理方式运行并行应用程序。

探索 MATLAB 和 Simulink 产品系列对并行计算的支持

学习在 MATLAB 云端进行并行计算

Get a Free Trial

30 days of exploration at your fingertips.

Download now

Ready to Buy?

Get pricing information and explore related products.

Are You a Student?

Get MATLAB and Simulink student software.

Learn more