作者nafspf (啧啧啧)
看板MATLAB
标题[问题]令人摸不透的CUDA@MATLAB
时间Thu Feb 7 20:08:52 2013
最近开始在玩MATLAB的parallel computing box,
因为对GPU加速有点兴趣,所以做了一些简单的测试。
---------------实验一分隔线----------------
第一个是在R2012a Win7x64的环境下跑的,RAM 32GB
CPU和GPU分别是i5-3470@ 3.2GHz和GTX660
下面的矩阵相乘测试,怎麽跑GPU都比CPU慢.....
dim = 4000;
A = rand(dim);
B = rand(dim);
tic;
A*B;
toc;
gpuA = gpuArray(rand(dim));
gpuB = gpuArray(rand(dim));
tic;
gpuA*gpuB;
toc;
reset(gpuDevice());
可是跑Help中Parallel computing box的
Running MATLAB® Functions on the GPU的example code GPU确实比较快
---------------实验二分隔线----------------
第二个是在R2012b Win7x64的环境下跑的 RAM 16GB
CPU和GPU分别是i7-3770@ 3.5GHz和GTX650
在同样的测试中,GPU非常明显的比CPU快,但是有一个有趣的问题
如果将gpuArray(rand(dim))改成用gpuArray.rand(dim)去initial的话,
在相乘时的速度会变慢!!!但还是比CPU快
请问有哪位大大知道问题在哪吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.146.71
1F:→ WPC001:建议都先换成2012b... 条件一致後再来比较 02/13 12:21
2F:推 iHakka:1.先试着把不同维度矩阵相乘对时间的图做出来再看看 02/13 18:45
3F:→ iHakka:2.有gpumat的套件可以挂在matlab上使用GPU运算可以用看看 02/13 18:46