Alea GPU内存分配限制

时间:2018-09-30 09:32:24

标签: c# aleagpu

我正在使用具有GTX-1081ti的Alea GPU,该显卡具有11GB的全局内存。

当我使用Alea Gpu.Default.Allocate方法在GPU上分配内存时,当我的内存接近3GB以上时,会出现“内存不足”错误。

我的代码是:

private static int Length = 2147000000;
...
var gpu = Gpu.Default;    
gpu.Allocate<int>(Length);

这应该分配大约8GB的GPU RAM,但是它给出了CUDA内存不足异常。我尝试使用较低的Length值,并且根据任务管理器的报告,GPU专用内存在出现错误之前最多只能上升到3 GB。

但是,当我对原始CUDA代码(在Alea之外)进行同样的操作时,我的限制有点超过11 GB的80%,或几乎9 GB(因为W10限制了分配)。

有人知道为什么只有3 GB时出现“内存不足”错误吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

(回答一下,因为它似乎已经解决了您的问题)

听起来您可能正在以32位模式进行编译。确保您使用的是64位操作系统并以64位模式进行编译。您不会是第一个意外地在32位模式下编译的人:)