看板 MATLAB 關於我們 聯絡資訊
最近開始在玩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
WPC001:建議都先換成2012b... 條件一致後再來比較 02/13 12:21
iHakka:1.先試著把不同維度矩陣相乘對時間的圖做出來再看看 02/13 18:45
iHakka:2.有gpumat的套件可以掛在matlab上使用GPU運算可以用看看 02/13 18:46