[問題] CUDA穩定性很差
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++ 2008
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
CUDA 4.1
問題(Question):
CUDA 穩定性很差
有時候對有時候會錯
case 1:
當我定義 dim3 b(32,32,1);
我使用逐步執行會發現
b.x = 64
b.y = xxxxxxx <---每次run都不太一樣 但都5還6位數(位數忘記了 反正很大)
b.z = xxx
就覺得很扯
所以我改用
dim3 b;
b.x = 32;
b.y = 32;
b.z = 1;
逐步執行 發現內容結果一樣是錯的
不然就是有的時候會發現監看式說 b不存在
逐步執行的時候 個別指定法 (分別給x,y,z) 會直接跳過...
可是最扯是
假設我是 dim b, c;
然後 b和c都分成x,y,z個別給值
只是 c.x = num/b.x;
c.y = num/b.y;
c.z = 1;
結果上面的c 逐步執行不會跳過 但是b的會直接跳過
最後解決方法是
只要寫 printf("%d %d",b.x, b.y);
就是顯示出來
逐步執行就不會跳過 且正常
case 2:
我有寫2個矩陣相乘
一個用gobal memory的寫法
一個用share memory
我是寫在副程式
及 main -> 呼叫 副程式 -> 呼叫kernal
如果我只使用一個kernal 2種寫法的結果都OK
可是如果我 呼叫kernal 執行結束回到 副程式 在run另一個kernal
出現結果是 gobal(第一個kernal)的會錯 share(第二個kernal)是正確的
就很奇怪.....
補充說明(Supplement):
我有想到是 可能我沒安裝好(但run 版上a大的教學文章中的陣列相加是正確的)
另一種就是CUDA和VS2008 結合性不夠好 被最佳化掉了....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.190.114
→
07/31 22:32, , 1F
07/31 22:32, 1F
→
07/31 22:34, , 2F
07/31 22:34, 2F
→
07/31 22:44, , 3F
07/31 22:44, 3F
→
07/31 23:36, , 4F
07/31 23:36, 4F
→
08/01 09:14, , 5F
08/01 09:14, 5F
推
08/01 21:38, , 6F
08/01 21:38, 6F
推
08/01 22:01, , 7F
08/01 22:01, 7F
推
08/01 22:05, , 8F
08/01 22:05, 8F
→
08/01 22:05, , 9F
08/01 22:05, 9F
推
08/01 22:42, , 10F
08/01 22:42, 10F
→
08/02 14:49, , 11F
08/02 14:49, 11F
→
08/03 22:32, , 12F
08/03 22:32, 12F
→
08/03 22:33, , 13F
08/03 22:33, 13F
→
08/03 22:34, , 14F
08/03 22:34, 14F
→
08/03 22:35, , 15F
08/03 22:35, 15F
→
08/03 23:14, , 16F
08/03 23:14, 16F