这很好用:
a_size=FindSizeAtrunTime();
Kernel<<< gridDim, blockDim, a_size >>>(count)
但这显示错误
__global__ void Kernel(int count_a, int count_b)
{
a_size=FindSizeAtrunTime();
__shared__ int a[a_size];
}
错误:表达式必须具有常量值
在这两种情况下,大小都是在运行时确定的。那么为什么第一种情况没问题,而不是第二种情况呢?
答案 0 :(得分:4)
第二个是两个级别的非法。