Re: CUDA Matlab plug-in: AccelerEyes' Jacket已回收
看板MATLAB作者yeahbo (MSA-0011[Bst]PLAN303E)時間16年前 (2009/05/21 22:27)推噓0(0推 0噓 0→)留言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
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章