我已经开始编写一个新的 CUDA 应用程序。然而,我一路上绕了一个有趣的弯路。 在变量 x 上调用第一个 cudaMalloc,第一次失败。但是,当我第二次调用它时,它返回 cudaSuccess。最近升级到 CUDA 4.0 SDK,这是一个非常奇怪的错误。
我什至做了一些测试,似乎第一次调用 cudaMalloc 失败了。
最佳答案
对任何 cuda 库函数的第一次调用都会启动一个初始化子例程。初始化失败可能会以某种方式失败,而不是 cudaMalloc 本身。 (CUDA 编程指南,第 3.2.1 节)
不知何故,后来,尽管最初失败了,但它似乎有效。我不知道您的设置和代码,所以我无法为您提供进一步的帮助。查看编程指南!
关于c++ - CUDA cudaMalloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515303/