Gpu I的作品是一款带有6gb VRAM的特斯拉C2075。操作系统是Ubuntu 64位,带有cuda工具包5.5。我需要做什么才能允许大于2gb的全局__device__
静态阵列?我在谷歌或StackOverflow中找不到很多相关的主题。
我经常看到程序分配(至少动态)超过2GB的数据。因此,理论上静态地分配__device__
数组应该是可能的。为了尝试解决这个问题,以下是我的建议:
- 将图形驱动程序更新到最新版本(新驱动程序在K20上支持高达6GB的大容量分配,它也应该在您的卡上支持)
- 将您的CUDA工具包更新到6.5(这可能没有必要,但CUDA 6.5可能会更好地与最新的驱动程序配合使用)
如果这不起作用,我会尝试分配页面锁定内存(固定)查看此处了解更多信息。分配后,为了使其在设备上可见,您需要映射它。这可以实现DMA传输,可能是一个更快的解决方案。我在分配高达5GB设备内存的程序中看到了这种方法-请参阅此处的。