Parallel Computing Toolbox
Parallel Computing Toolbox lets you solve compute- and data-intensive problems using multicore processors, GPUs, and computer clusters. High-level constructs—parallel for-loops, special array types, and parallelized numerical algorithms—enable you to scale MATLAB applications without CUDA or MPI programming. Parallel Computing Toolbox also lets you use parallel-enabled functions in MATLAB and other toolboxes and run multiple Simulink simulations in parallel. Programs and models can run in both interactive and batch modes.
The toolbox lets you use the full processing power of multicore and GPU-enabled desktops by executing applications on thread and process 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.
Speed Up MATLAB with Multicore Computers
Use parfor and other features to execute parallel MATLAB threads or processes for tasks such as parameter sweeps, optimizations, and Monte Carlo simulations. Let MATLAB language features (with Parallel Computing Toolbox) handle resources, file dependencies, and other details—enabling you to focus on your work.
Accelerate MATLAB with GPUs
You can use NVIDIA® GPUs without having to write any additional code, so you can focus on your applications rather than performance tuning. Key functions in MATLAB, Simulink, and several add-on products, such as Deep Learning Toolbox, have GPU enabled functions. Advanced developers can also create MEX functions containing CUDA code. Use multiple GPUs on desktop, compute clusters, and cloud environments.
Additional Parallel-Enabled MATLAB Functionality
Many features in MATLAB and add-on products have automatic parallel support, and many apps have enabled parallel features. Parallel Computing Toolbox includes an extensive parallel language covering execution models from parallel function execution to data parallelism without needing to recode your algorithm.
Run Multiple Simulink 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.
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.
Use Parallel-Enabled Simulink Functionality
In addition to using parsim and batchsim functions to run Simulink simulations, there are many add-on products for Simulink, including Simulink Design Optimization, Reinforcement Learning Toolbox, Simulink Test, and Simulink Coverage that provide parallel capability for running simulations in parallel without writing any code.
Run a MATLAB Desktop in Public and Private Clouds
Speed up analysis and simulations by taking advantage of on-demand, high-performance CPU and GPU machines available in the cloud. Run MATLAB and Simulink directly on virtual machines in the Amazon Web Services® (AWS) environment or in Microsoft Azure®.
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.
Use Distributed Arrays on MATLAB Parallel Server
Execute calculations that will not fit in the memory of a single machine without needing to recode your algorithm. Use the many functions that can run automatically as distributed computations when called with a distributed array input. Prototype on your desktop and scale up to additional resources using MATLAB Parallel Server for full-scale execution.