對 threadfence的一點理解

2021-05-22 01:10:31 字數 733 閱讀 6518

一直沒搞清楚,cuda 2.2版增加的__threadfence到底有何作用,直到今天看到sdk 3.0手冊

中的下面例子才恍然大悟.(中文為我的理解,嘿嘿)

乙個求和的例子:

__device__ unsigned int count = 0;// 統計有幾個block結束的變數

__shared__ bool islastblockdone;  // 第一輪(多block)計算是否結束

__global__ void sum(const float* array, unsigned int n, float* result)

// synchronize to make sure that each thread reads

// the correct value of islastblockdone

__syncthreads();

// 因為不確定是哪個block會獲得第二輪計算權,因此,block中非0的其它執行緒要

// 在這裡同步等待執行緒0的競爭結果。

if(islastblockdone)

}// 其它的block就直接結束了

}個人感覺,__threadfence一般用於block間有競爭且競爭成功後要用到其它block的前面的

全域性寫的結果的場合比較合適(當然,也可以用拆kernel的方法)。而block內還是直接用

__syncthreads更直觀些。。。。

一句話總結,有些雞肋的味道。

對需求的一點看法

需求是什麼,如何來做好需求,在cmmi 模型裡都給予了說明。模型將需求分為兩個部分,乙個是二級的需求管理,另乙個是 的需求開發 之後又看了rup 對需求的描述,它沒有明確對需求管理與開發進行劃分,它的工作流包括了以下幾個部分 問題分析,理解涉眾需要,定義系統,管理專案規模,改進系統定義,管理需求變更...

對寫書的一點感想

python科學計算 的作者寫過一篇對寫這本書的感想 寥寥數語,卻能體會到作者寫書過程的艱辛和快樂,以及從中而來的成就感。歷時23個月,622頁,262千字,19章,266幅插圖,360個例項程式,393份問卷調查。個人感覺寫書是一次心靈和身體的苦旅,就像一路跪拜到布達拉宮,個中酸甜苦辣只有自己知道...

對暴庫的一點認識

去年的時候曾經有一段時間研究過ie雙解碼,所以對暴庫有一定的認識,前些天終於收到黑客的雜誌,裡面看了一篇臨的文章,下面我也談談個人對那篇文章的認識,這裡要說的是,大家如果再深入點研 究下去,就會發現,暴庫的利用不只是這麼簡單,還會有更多可以用的東東。暴庫的方式有多種多樣,我知道的就有3種以上,常見的...