→ goodzey: 抱歉, 資料形式: 800列600行的隨機數 05/18 23:41
→ goodzey: 目的: 把每一列的數據加起來 05/18 23:44
→ goodzey: int bdx = blockIdx.x; int tdx = threadIdx.x; 05/18 23:48
推 ManOfSteel: 每一行600個數據,對嗎? 05/19 00:07
推 ManOfSteel: 然後600個數據相加? 05/19 00:10
→ ManOfSteel: 喔,我懂了,是800個數據相加XD 05/19 00:14
→ ManOfSteel: data[600*(j + bdx) +tdx] access資料會超出邊界吧? 05/19 00:21
→ ManOfSteel: blockidx最大不是可以到39? 05/19 00:22
推 celestialgod: 要不要考慮用cuda blas可能比較快 05/19 00:43
推 celestialgod: cublasSgemv 05/19 00:46
→ celestialgod: 具體例子可以問chatGPT 05/19 00:46
推 etgood1478: 為什麼不用reduction 05/19 02:33
推 johnjohnlin: atomic add 05/19 19:13
→ goodzey: 實驗結果: main func中用cublasSdot作很慢(時間需100倍) 05/23 22:05
→ goodzey: 在__global__ 中用cublasSdot難編譯 (makefile需修正) 05/23 22:07
→ goodzey: 在我用的.cu程式(ubuntu環境)好像沒辦法用std::函式 05/23 22:09
推 mikemike1021: 錯誤的原因應該是 race condition,有敘述在論壇內 05/25 04:58
→ mikemike1021: 歡迎大家多多利用來交流 05/25 04:59
→ amike: threads從600改成15 05/25 13:38
→ goodzey: thanks!! 05/26 23:10