作者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