2011-06-28 98 views
1

我有一個執行有限差分計算的CUDA代碼。該代碼在Tesla M2090處理器上運行良好,沒有錯誤。相同的代碼導致Tesla T10處理器出現大量錯誤。我的結果中有很多零。NVidia CUDA:Tesla T10處理器和Tesla M2090處理器的區別

不要任何人知道這兩個架構和解決方案,如何解決這個問題

回答

5

特斯拉C1060(基於特斯拉T10)之間的差值計算能力的1.3 特斯拉M2090是非常新的架構,基於Fermi( 2.0或2.1) 可能有兩個問題:

您是否重新編譯了2.0或2.1架構的源代碼?如果您爲1.3架構編譯,它將不適用於> = 2.0。

CUDA編程指南3.1.2二進制兼容性:

二進制兼容性是從一個小版本到下一個 保證 ,而不是從一個次要修訂 前一個或各主要 修訂。

此外,費米的行爲略有不同。一些不安全的代碼可能在舊體系結構上正常工作,而在費米它捕捉到這個錯誤。如果您懷疑這一點,您可以查看「費米兼容性指南」(可以在CUDA工具包中找到),從程序員的角度瞭解這些架構之間的主要差異。