cudaMalloc 总是内存不足

Sle*_*eme 5 cuda out-of-memory

我面临一个简单的问题,我对 cudaMalloc 的所有调用都失败了,给我一个内存不足错误,即使它只是我分配的一个字节。

cuda 设备可用,并且还有大量可用内存(机器人通过相应的调用进行检查)。

知道可能是什么问题吗?

Sle*_*eme 2

谢谢大家的帮助。

问题并不在于 cudaMalloc 本身,但它掩盖了真正的问题,这是由于 cuda 的初始化似乎失败了。

因为对 cuda 的第一次调用是在单独的线程中,所以我没有可用的 GLContext,从而导致失败。我需要确保在初始化上下文后在主线程中通过虚拟 malloc 初始化了 cuda。