GPU Computing


MATLAB GPU Computing Support for

Perform MATLAB computing on NVIDIA CUDA-enabled GPUs 


MATLAB® enables you to use NVIDIA® GPUs to accelerate AI, deep learning, and other computationally intensive analytics without having to be a CUDA® programmer. Using MATLAB and Parallel Computing Toolbox™, you can:

  • Use NVIDIA GPUs directly from MATLAB with over 500 built-in functions. Many MATLAB toolbox functions can be GPU-enabled by simply setting a flag or preference.
  • Access multiple GPUs on desktop, compute clusters, and cloud using MATLAB workers and MATLAB Distributed Computing Server™.
  • Generate CUDA code directly from MATLAB for deployment to data centers, clouds, and embedded devices using GPU Coder™.
  • Generate NVIDIA TensorRT™ code from MATLAB for low latency and high-throughput inference with GPU Coder.
  • Deploy MATLAB AI applications to NVIDIA-enabled data centers to integrate with enterprise systems using MATLAB Production Server™.

“Our legacy code took up to 40 minutes to analyze a single wind tunnel test; by using MATLAB and a GPU, computation time is now under a minute. It took 30 minutes to get our MATLAB algorithm working on the GPU—no low-level CUDA programming was needed.”

Christopher Bahr, NASA

Using MATLAB for GPU Computing

Develop, Scale, and Deploy Deep Learning Models with MATLAB 

MATLAB allows a single user to implement an end-to-end workflow to develop and train deep learning models using Deep Learning Toolbox™. You can then scale training using cloud and cluster resources using Parallel Computing Toolbox and MATLAB Distributed Computing Server, and deploy to data centers or embedded devices using GPU Coder.

Develop Deep Learning and Other Computationally Intensive Analytics with GPUs

MATLAB is an end-to-end workflow platform for AI and deep learning development. MATLAB provides tools and apps for importing training datasets, visualization and debugging, scaling training CNNs, and deployment.

Scale up to additional compute and GPU resources on desktop, clouds, and clusters with a single line of code.

Test your own CPU and GPU hardware using gpuBench.

Scale MATLAB on GPUs With Minimal Code Changes

Run MATLAB code on NVIDIA GPUs using over 500 CUDA-enabled MATLAB functions. Use GPU-enabled functions in toolboxes for applications such as deep learning, machine learning, computer vision, and signal processing. Parallel Computing Toolbox provides gpuArray, a special array type with associated functions, which lets you perform computations on CUDA-enabled NVIDIA GPUs directly from MATLAB without having to learn low-level GPU computing libraries.

Engineers can use GPU resources without having to write any additional code, so they can focus on their applications rather than performance tuning.

Using parallel language constructs such as parfor and spmd you can perform calculations on multiple GPUs. Training a model on multiple GPUs is a simple matter of changing a training option.

MATLAB also lets you integrate your existing CUDA kernels into MATLAB applications without requiring any additional C programming.

Deploy Generated CUDA Code from MATLAB for Inference Deployment with TensorRT

Use GPU Coder to generate optimized CUDA code from MATLAB code for deep learning, embedded vision, and autonomous systems. The generated code automatically calls optimized NVIDIA CUDA libraries, including TensorRT, cuDNN, and cuBLAS, to run on NVIDIA GPUs with low latency and high-throughput. Integrate the generated code into your project as source code, static libraries, or dynamic libraries, and deploy them to run on GPUs such as the NVIDIA Volta®, NVIDIA Tesla®, NVIDIA Jetson®,and NVIDIA DRIVE®.