像我自己常在做的流體模擬,如果改成用GPU算的話果就會怪怪的,跟CPU算的整個不一樣(但整個飛快欲罷不能)
不過TITAN的介紹中有提到精確度浮點運算跟雙精確度浮點運算這兩個東西可以做科學運算
意思是用TITAN的話就可以得到跟CPU一樣的結果嗎?

x225089x wrote:
這裡說的誤差是電腦上數字表達的誤差,不是樓主所提供的公式中的誤差
簡單而言,電腦沒辦法準確表達0.1這個數值(很有名的就是0.1連加10次不等於1)
這是需要額外去校正的,也就是文中提到的ECC校正
CPU的運算通常會有(記憶體要特別挑一下,或是使用的程式語言自己會去較正)
rgly wrote:
ECC是用來防止記憶...(恕刪)
x225089x wrote:
另外 我想表達的就是rounding mode 這可能存在於code裡面
不過是軟體面的 應該跟硬體無關 這裡我又錯了
All compute devices follow the IEEE 754-2008 standard for binary floating-point arithmetic with the following deviations:
● There is no dynamically configurable rounding mode; however, most of the
operations support multiple IEEE rounding modes, exposed via device
intrinsics;
● There is no mechanism for detecting that a floating-point exception has
occurred and all operations behave as if the IEEE-754 exceptions are always
masked, and deliver the masked response as defined by IEEE-754 if there is an
exceptional event; for the same reason, while SNaN encodings are supported,
they are not signaling and are handled as quiet;
x225089x wrote:
像是
power(sqrt(3.45), 2)←開根號後平方
跟
sqrt(3.45) * sqrt(3.45)←根號後相乘 答案不相同
x225089x wrote:
像是matlab之類的,或許跟語言對浮點數的處理也有關吧
我所想表達的情況
類似這篇當中的 - 誤差的產生及傳播:截尾及離散化誤差 這部分的情況
x225089x wrote:
round-off error跟rounding mode不同 我錯看
所以我的跟你看的rounding mode認知真的不一樣
x225089x wrote:
另外就是單精度捨入誤差的值會比起雙精度要多的
這樣計算的結果 肯定會差距更大
而我想表達的校正就是在這幾點上面
請問這東西的有辦法校正嗎?
guardxd wrote:
應該不用TITAN就可以開倍精度浮點運算了(在GTX480時我就看過測試軟體測試這方面的能力)
更前面的GTX200系列就沒支援
你的問題應該是軟體沒啟動或支援這方面的功能
如果可以詢問軟體開發商或是看說明書會比較清楚