1
我們正在試驗CUDA CFD代碼,其中3D字段被分解爲1D或2D線程塊(來自3D字段的水平切片)。在許多情況下,一個塊內的所有線程共享一個僅取決於高度的循環計算,即它對於線程塊內的所有線程都是相似的。優化這種情況的最佳方式是什麼(特別是如果重複計算是整個內核中最昂貴的計算)?是否有可能讓一個線程進行計算,並與其餘線程共享結果?cuda:線程塊之間共享'常量'
由於我有限的CUDA知識,我能想到的最好的東西是這樣的:if(threadIdx x和y是0)計算循環值,放入共享內存(?),所有線程都使用共享內存中的此值在他們的計算中。那會很有效率,還是有更好的方法?