看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) linux cuda 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) cuda 問題(Question): 每個thread都會執行這個 for(j=0 ; j<64.0f ; j=j+1.0f) { if(mag[i]<(j+0.5f)/63) { counts[(int)j]++; } } 但是有可能會寫到同一個count[j]中 count[64] 是宣告有64個element 因為會開不只一個block所以無法使用__syncthreads() 不知道有什麼其他的function可以解決這種只需要write的synchronization問題呢? 還有cuda中允許我寫(int)j這種東西把float轉成int的事情嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.64.10
akasan:atomicAdd, 但最好先local做完最後在加過去atomic 很貴的 09/22 04:16
guanrulee:OK~~~3Q 09/28 10:51