[英]“invalid configuration argument” error when calling CUDA kernel
我有GeForce 620M,我的代碼是:
int threadsPerBlock = 256;
int blocksPerGrid = Number_AA_GPU / threadsPerBlock;
for(it=0;it<Number_repeatGPU;it++)
{
Kernel_Update<<<blocksPerGrid,threadsPerBlock>>>(A, B, C, D, rand(), rand());
}
我得到:
無效的配置參數。
可能是什么原因?
內核配置參數是<<<...>>>
符號之間的參數。
GeForce 620M是具有計算能力的2.1設備。
當您為每個網格參數的塊傳遞一維參數時,計算能力2.1設備限於65535 (所傳遞的兩個參數中的第一個)。
由於您要傳遞的另一個參數(256, threadsPerBlock
)肯定是入界的,因此我得出結論,您的第一個參數超出范圍:
int blocksPerGrid = Number_AA_GPU / threadsPerBlock;
即Number_AA_GPU
大於65535 * 256(大於或等於65536 * 256會觸發失敗),或者為零(實際上Number_AA_GPU
小於256將由於整數除法而失敗),或者為負數。
將來,如果您提供完整的示例,則可以編寫更容易理解的問題。 在這種情況下,告訴我們什么是Number_AA_GPU
可以使我的答案更加明確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.