据我了解,shared_mem_size
下面代码中的变量是要为每个块分配的共享内存量。但是当总共享内存大小 ( BLOCKS_GRID * shared_mem_size
) 超过硬件可用共享内存的总容量时会发生什么?
__global__ void KernelFunction ()
{
extern __shared__ s_data[];
}
int main ()
{
shared_mem_size = THREADS_BLOCK * sizeof(T);
KernelFunction <<<BLOCK_GRID,THREADS_BLOCK,shared_mem_size>>> ();
}