这工作正常:
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];
}
错误:表达式必须有一个常量值
在这两种情况下,大小都是在运行时确定的。那么为什么第一种情况可以,而第二种情况不行呢?