我正在使用带有 GTX-1081ti 的 Alea GPU,它具有 11GB 的全局内存。
当我使用该Alea Gpu.Default.Allocate
方法在 GPU 上分配内存时,当我接近 3+ GB 时,我收到“内存不足”错误。
我的代码是:
private static int Length = 2147000000;
...
var gpu = Gpu.Default;
gpu.Allocate<int>(Length);
这应该分配大约 8GB 的 GPU RAM,但它给出了 CUDA 内存不足异常。我尝试了较低的长度值,并且根据任务管理器的报告,GPU 专用内存在出现错误之前仅上升到大约 3 GB。
但是,当我对原始 CUDA 代码(在 Alea 之外)执行相同操作时,我的限制是 11 GB 的 80% 多一点,或者几乎是 9 GB(因为 W10 限制了分配)。
有谁知道为什么我在只有 3 GB 时会出现“内存不足”错误?
谢谢。