1
我想將以下函數轉換爲CUDA。如何爲此編寫CUDA全局函數?
void fun()
{
for(i = 0; i < terrainGridLength; i++)
{
for(j = 0; j < terrainGridWidth; j++)
{
//CODE of function
}
}
}
我寫的函數是這樣的:
__global__ void fun()
{
int i = blockIdx.x * blockDim.x + threadIdx.x;
int j = blockIdx.y * blockDim.y + threadIdx.y;
if((i < terrainGridLength)&&(j<terrainGridWidth))
{
//CODE of function
}
}
我宣佈雙方terrainGridLength和terrainGridWidth爲常數和分配值120到兩個。和我打電話的功能就像
樂趣< < < 30,500 >>>()
,但我沒有得到正確的輸出。
我寫的代碼是否正確?我對代碼的執行沒有太多的瞭解。請解釋一下代碼是如何工作的,如果我犯了什麼錯誤,我會糾正錯誤。