表明在 CUDA 設備上調用的核函數?沒有正確配置線程塊和網格維度。
一般體現在:
????????直接調用 kernel 函數,而不是通過 launch 函數 指定 kernel 函數調用
解決方法(示例):
// kernel function
__global__ void Idtest_kernel(float *a, int N) {int idx = blockIdx.x * blockDim.x + threadIdx.x;if(idx < N){a[idx] = idx;}
}// launch kernel function
void launch_Idtest_kernel(torch::Tensor a) {int N = a.numel();int block_size = 256;int grid_size = (N + block_size - 1) / block_size;Idtest_kernel<<<grid_size, block_size>>>(reinterpret_cast<float *>(a.data_ptr()),N);
}