【发布时间】:2020-12-05 16:06:47
【问题描述】:
我正在尝试使用 CUDA 驱动程序 API 启动内核。具体来说,我在打电话
CUresult CUDAAPI cuLaunchKernel(
CUfunction f,
unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ,
unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ,
unsigned int sharedMemBytes,
CUstream hStream,
void **kernelParams,
void **extra);
我只使用kernelParams,并将nullptr 传递给extra。现在,对于我的一个内核,我得到了CUDA_ERROR_INVALID_VALUE。
文档says:
如果同时使用
kernelParams和extra指定内核参数(即kernelParams和extra都不是NULL),则会返回错误CUDA_ERROR_INVALID_VALUE。
好吧,我不这样做,我仍然收到CUDA_ERROR_INVALID_VALUE。为了更加安全,我在启动内核之前同步了流 - 但无济于事。
在尝试启动时获得CUDA_ERROR_INVALID_VALUE 的其他原因是什么?
【问题讨论】:
-
您对文档选定部分的文本式阅读再次妨碍了您。这不是唯一可以返回 CUDA_ERROR_INVALID_VALUE 的条件。除了函数本身,任何不正确的参数也会产生同样的错误
-
@talonmies:包括网格暗淡和块暗淡?共享内存过多?无效的流句柄?
标签: cuda cuda-driver