[請益] 關於CUDA的bank conflict
近來閱讀了版上a大關於cuda的文章
因此想把自己的程式改寫成可利用GPU執行
但bank conflict卻始終困擾著我
舉例來說
int k=threadIdx.x
num1=data1[k]
num2=data2[k]
sum[k]=num1+num2;
若把num1 num2的記憶體配置在shared memory時
會因為不同執行緒存取到同一塊記憶體產生bank conflict的問題
但因為計算複雜 所需記憶體大的關係 也無法配置到暫存器上
想請教cuda有類似openMp中 for private()的指令嗎
還是就只能完全利用陣列運算 如把num1改變成陣列num1[k]等
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.152.194
推
06/18 17:14, , 1F
06/18 17:14, 1F
→
06/18 17:16, , 2F
06/18 17:16, 2F
→
06/18 17:20, , 3F
06/18 17:20, 3F
→
06/18 17:22, , 4F
06/18 17:22, 4F
※ 編輯: rick209 來自: 140.113.152.194 (06/18 17:29)
→
06/18 17:30, , 5F
06/18 17:30, 5F
推
06/18 17:33, , 6F
06/18 17:33, 6F
→
06/18 17:33, , 7F
06/18 17:33, 7F
→
06/18 17:35, , 8F
06/18 17:35, 8F
※ 編輯: rick209 來自: 140.113.152.194 (06/18 17:40)
→
06/18 17:40, , 9F
06/18 17:40, 9F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
VideoCard 近期熱門文章
PTT數位生活區 即時熱門文章