[問題]令人摸不透的CUDA@MATLAB

看板MATLAB作者 (嘖嘖嘖)時間11年前 (2013/02/07 20:08), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
最近開始在玩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

02/13 12:21, , 1F
建議都先換成2012b... 條件一致後再來比較
02/13 12:21, 1F

02/13 18:45, , 2F
1.先試著把不同維度矩陣相乘對時間的圖做出來再看看
02/13 18:45, 2F

02/13 18:46, , 3F
2.有gpumat的套件可以掛在matlab上使用GPU運算可以用看看
02/13 18:46, 3F
文章代碼(AID): #1H4vbM68 (MATLAB)