Re: CUDA Matlab plug-in: AccelerEyes' Jacket已回收

看板MATLAB作者 (MSA-0011[Bst]PLAN303E)時間16年前 (2009/05/21 22:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串9/10 (看更多)
※ 引述《Leon (Achilles)》之銘言: : ※ 引述《yeahbo (MSA-0011[Bst]PLAN303E)》之銘言: : : 請問,這些浮點數運算的問題 : : 是"MATLAB"所造成的? : : 還是浮點數這個格式本身就存在的問題? : 我想你不理解這個地方. 之前有板友指出過了. : 浮點運算有個理論值的誤差, 而你在 matlab 裡面作, : 出來的 average error 和理論值得 average error 可能會比較好, 也可能比較差. : 看底層的 lib 怎麼去作. 這是第一篇 Error 圖的其中幾個點的數據 err = sum[ abs( C_gpu_single - C_cpu_double )] / 方陣element數 err2 = sum[ abs( C_cpu_single - C_cpu_double )] / 方陣element數 matrix size 1024 x 1024 2048 x 2048 + speedup 230.001025115325 807.875393612236 err 2.69950233735080e-08 2.70079006851640e-08 err2 2.69950233735080e-08 2.70079006851640e-08 - speedup 201.862226277372 794.954083885210 err 1.63486460329460e-08 1.63590421248179e-08 err2 1.63486460329460e-08 1.63590421248179e-08 .* speedup 206.288025889968 912.828164717844 err 8.39837221019776e-09 8.39004862273216e-09 err2 8.39837221019776e-09 8.39004862273216e-09 ./ speedup 392.213462425081 1520.92131294964 err 3.53978372516435e-07 3.69586609469284e-07 err2 2.71261440349499e-07 3.21505812516392e-07 * speedup 250.567826364507 355.102791628147 err 8.77210173358937e-05 0.000246091041690116 err2 4.48887751916693e-05 0.000127769304296952 可以看到 + - .* 運算中,gpu 和 cpu 所算出來的 error 值"完全一樣" 我是認為,因為電路硬體有實做加法器和乘法器 所以這三個運算的準確與否跟軟體無關 除了大數運算等特殊需要,MATLAB並沒有必要對其多所著墨 這三個運算的測試結果,應該可以解讀成 gpu 的準確性可以相信 而除法似乎沒有除法器 所以除法的精確度就跟軟體有關 : : 這只是浮點數的"加減乘除"耶... : : 如果只因為所謂的 Matlab 的 lib 就會得到不同的結果 : : 為什麼我們還要用這個程式? : 因為 MATLAB 很方便. : 順道告訴你, 有時候把同個程式換到不同的版本上面跑, : 出來的數值會有一點點的差異.. 這可以理解 不過,要如何決定要相信哪一個答案... 唉唉... 話說回來,不管是 10^-7 還是 10^-8 都不夠我用啊... 還是要靠 double ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.170.218
文章代碼(AID): #1A5MJfQi (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1A5MJfQi (MATLAB)