Main Content
GPU Computing in MATLAB
Accelerate your code by running MATLAB® functions on a GPU
If all the functions that you want to use are supported on the GPU, you can simply use
gpuArray
to transfer input data to the GPU. To get started with GPU computing, see
Run MATLAB Functions on a GPU.
For deep learning, MATLAB provides automatic parallel support for multiple GPUs. See Deep Learning with MATLAB on Multiple GPUs (Deep Learning Toolbox).
You can use the gpuDevice
function inspect and select your GPU
and use the gpuDeviceTable
functions to inspect multiple GPUs.
Functions
Topics
Run MATLAB Code on GPU
- Run MATLAB Functions on a GPU
Supply agpuArray
argument to automatically run functions on a GPU. - Identify and Select a GPU Device
This example shows how to usegpuDevice
to identify and select which device you want to use. - GPU Computing Requirements
Support for NVIDIA® GPU architectures. - Establish Arrays on a GPU
UsegpuArray
objects to store data on the GPU and perform calculation on the GPU. - Run MATLAB Functions on Multiple GPUs
This example shows how to run MATLAB® code on multiple GPUs in parallel, first on your local machine, then scaling up to a cluster. - Work with Remote GPUs
This example shows how to run MATLAB® code on multiple remote GPUs in a cluster. (Since R2024a) - Run MATLAB using GPUs in the Cloud
Take advantage of powerful GPUs in the cloud to accelerate your code. - Train Network Using Automatic Multi-GPU Support (Deep Learning Toolbox)
This example shows how to use multiple GPUs on your local machine for deep learning training using automatic parallel support. - Work with Sparse Arrays on a GPU
Learn about the conditions for working with sparse arrays on a GPU. - Work with Complex Numbers on a GPU
Learn about the conditions for applying functions that might return complex values on a GPU.
Improve Performance on GPU
- Measure and Improve GPU Performance
Time code running on your GPU and explore options for improving performance. - Improve Performance Using a GPU and Vectorized Calculations
This example shows you how to improve performance by running a function on the GPU instead of the CPU, and by vectorizing the calculations. - Improve Performance of Element-Wise MATLAB Functions on the GPU Using arrayfun
This example shows how to improve the performance of your code by running MATLAB® functions on the GPU usingarrayfun
. - Improve Performance of Small Matrix Problems on the GPU Using pagefun
This example shows how to usepagefun
to improve the performance of independent operations applied to multiple matrices arranged in a multidimensional array. - Benchmarking A\b on the GPU
This example looks at how we can benchmark the solving of a linear system on the GPU.
Learn More
- Profile Your Code to Improve Performance
Use the Profiler to measure the time it takes to run your code and identify which lines of code consume the most time or which lines do not run. - Vectorization
Revise loop-based, scalar-oriented code to use MATLAB matrix and vector operations. - Random Number Streams on a GPU
Control the random number streams on a GPU to generate the same sequences of random numbers as on the CPU. - Generating Random Numbers on a GPU
This example shows how to switch between the different random number generators that are supported on the GPU. - Stencil Operations on a GPU
This example uses Conway's "Game of Life" to demonstrate how stencil operations can be performed using a GPU. - Compute the Mandelbrot Set Using GPU-Enabled Functions
This example shows how to use GPU-enabled MATLAB® functions to compute a well-known mathematical construction: the Mandelbrot set.