GPU vs. CPU efficiency

5 次查看(过去 30 天)
Hossein
Hossein 2015-2-26
回答: Matt J 2015-2-26
I have a GPU on my computer that is "nvidia geforce gtx titan" (which is supposed to be powerful) but I'm not getting any improvements when I run the following code on GPU compared to CPU. It takes ~1.3 sec on both CPU and GPU to run. I was thinking maybe my Matlab does not recognize my GPU so I ran the "gpuDevice" command and it shows that it does recognize it. I was wondering if there is anything that I'm missing?
PS: My CPU is i5 3.2 GHz
clear; clc;
tic
A=gpuArray(rand(1000));
B=eig(A);
t1=toc
clear;
tic
A=rand(1000);
B=eig(A);
t2=toc

回答(1 个)

Matt J
Matt J 2015-2-26
You should time just the eig() calculation. Creation of data and transfering it to the GPU, as in
A=gpuArray(rand(1000));
is always fraught with overhead. You should also use gputimeit instead of tic/toc. Finally, you should try with different/larger matrix sizes so that you know the GPU is doing a meaningful level of work.

类别

Help CenterFile Exchange 中查找有关 GPU Computing in MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by