4
我有一些代碼要編入cuda內核。看哪:CUDA:嵌入式循環內核
for (r = Y; r < Y + H; r+=2)
{
ch1RowSum = ch2RowSum = ch3RowSum = 0;
for (c = X; c < X + W; c+=2)
{
chan1Value = //some calc'd value
chan3Value = //some calc'd value
chan2Value = //some calc'd value
ch2RowSum += chan2Value;
ch3RowSum += chan3Value;
ch1RowSum += chan1Value;
}
ch1Mean += ch1RowSum/W;
ch2Mean += ch2RowSum/W;
ch3Mean += ch3RowSum/W;
}
如果有這樣的分成兩個內核,一個計算RowSums和一個計算方式,我應該如何處理的事實,我的循環指數不以零開始,在N個結束?
嘗試選擇一個問題,它很難選擇正確的答案。但是,至於你的第二個問題......很難專門回答,但我認爲一旦你開發內核的時候你會看到更遠。 – jmilloy 2011-01-22 23:24:14
你應該用每塊H塊和W線程的配置啓動你的內核。然後,您將從內核中的blockIdx和threadIdx值計算r和c。計算r和c然而你想...我試圖把這個在我的答案下面... – jmilloy 2011-01-22 23:26:18