我是CUDA的新手,需要幫助理解一些事情。我需要幫助將這兩個for循環並行化。特別是如何設置dimBlock和dimGrid以使其運行更快。我知道這看起來像sdk中的矢量添加示例,但該示例僅適用於矩形矩陣,並且當我嘗試修改該128 x 1024矩陣的代碼時,它無法正常工作。CUDA如何獲得網格,塊,線程大小和並行化非方矩陣計算
__global__ void mAdd(float* A, float* B, float* C)
{
for(int i = 0; i < 128; i++)
{
for(int i = 0; i < 1024; i++)
{
C[i * 1024 + j] = A[i * 1024 + j] + B[i * 1024 + j];
}
}
}
此代碼是一個大循環的一部分,是代碼的最簡單的部分,所以我決定嘗試paralleize硫雜,並在同一時間學習CUDA。我已閱讀指南,但仍不明白如何獲得正確的答案。的網格/塊/線程去並有效地使用它們。
在[pycuda](http://mathema.tician.de/software/pycuda)它僅僅是'C [I] = A [1] + B [i]於'[demo.py](HTTPS:/ /gist.github.com/916835) – jfs 2011-04-13 02:06:22
(題外話)您現在有我的兩個循環索引(你忘了J) – 2017-04-04 12:45:50