小编use*_*017的帖子

当常量不是数组时,cudaMemcpyToSymbol 失败

所有发布的代码示例中的 CUDA 常量内存似乎都是数组,但我在文档中找不到它作为要求。那么为什么 cudaMemcpyToSymbol 在以下情况中会因 cudaErrorInvalidSymbol 而失败:

    __constant__ int dev;

int main()
{
    int host = 2;
    cudaError_t error = cudaMemcpyToSymbol(&dev, &host, sizeof(host));
    printf(cudaGetErrorString(error));
}
Run Code Online (Sandbox Code Playgroud)

而以下成功?

    __constant__ int dev[1];

int main()
{
    int host = 2;
    cudaError_t error = cudaMemcpyToSymbol(dev, &host, sizeof(host));
    printf(cudaGetErrorString(error));
}
Run Code Online (Sandbox Code Playgroud)

cuda

1
推荐指数
1
解决办法
1087
查看次数

标签 统计

cuda ×1