cudaMallocPitch 'Invalid Arguments'尽管复制指南?

cudaMallocPitch 'Invalid Arguments' despite copying guide?

本文关键字:复制 Arguments Invalid cudaMallocPitch      更新时间:2023-10-16

我已经很高兴地忽略了这一段时间,但它现在已经成为一个相当大的问题-我希望你们能帮助我。

我正在调用cudaMallocPitch,但无论我尝试什么,它一直给我红色下划线和"无效参数"错误。即使当我从Nvidia CUDA C编程指南中复制源代码时,它仍然会给我错误。我对CUDA很陌生,所以请不要犹豫,指出任何你认为很明显可能导致问题的地方。

这里是我所指的确切代码:

int width = 64, height = 64;
    float* devPtr;
    size_t pitch;
    cudaMallocPitch(&devPtr, pitch,
                    width * sizeof(float), height);

第二个参数应该是size_t*,但是您传递的是size_t。试试这个:

cudaMallocPitch(&devPtr, &pitch, width * sizeof(float), height);

最后一个参数类型也是size_t。也许height作为size_t会更好。