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

我正在调用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会更好。

关于c++ - cudaMallocPitch 'Invalid Arguments'尽管有复制指南?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15868944/

10-12 23:53