How to use GPU with your matlab program?

3 views (last 30 days)
Recently I purchased a laptop (with GPU) so that my matlab programs can run faster. However, I am unaware of the process of utilizing GPU in a program? is that even a thing?
Do I need to used some special functions or acticate GPU in my program so that the GPU is utilized properly?

Accepted Answer

KSSV
KSSV on 24 May 2021
Edited: KSSV on 24 May 2021
To run your code in GPU, you need not to do much. It is very easy and straight forward. You need to place the variable/ data into GPU using the function gpuarray . Read here: https://in.mathworks.com/help/parallel-computing/gpuarray.html
If the variable is of class GPU, it will be placed in GPU and all the operations you do will be on GPU. Most of the functions support gpu calculations. Find it here: https://in.mathworks.com/help/referencelist.html?type=function&capability=gpucodegen
Example:
% Multiplication of matrices in GPU
A = rand(100) ;
B = rand(100) ;
C = A*B ; % runs on CPU
%
A_gpu = gpuarray(A) ;
B_gpu = gpuarray(B) ;
C_gpu = A*B ; % runs on GPU
Running on GPU is easy and straight forward. Read here: https://in.mathworks.com/help/parallel-computing/run-matlab-functions-on-a-gpu.html
  2 Comments
Virtualkeeda
Virtualkeeda on 24 May 2021
oh ok. Thanks, I will update my program accordingly.
I more thing, So if I want to run the program on a server (cluster or a HPC), then again I just need to use this gpuArray and it will work??
Virtualkeeda
Virtualkeeda on 7 Jul 2021
Hello @KSSV,
I have computations on structs in my code with a label identifier and other numerical values. What I could understand is I can use gpuArray only for numerical computations but whenever it encounter a local operation, it doesnt work. Is there a way out of this problem?
Can you please help?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!