【发布时间】:2015-04-12 08:56:22
【问题描述】:
我们有一个 opencl 应用程序,而不是在具有 12 GB RAM 的机器上运行单个 nvidia C2075 (6GB Mem)。
我们设置了一台具有 12GB RAM 和 AMD W9100 GPU(16GB 内存)的新机器(并通过运行简单的 opencl 应用程序确保一切正常)。
现在同一个 opencl 应用程序在新机器上崩溃了。我们发现在执行过程中,一些内存分配失败了。将系统内存增加到 24GB 使应用程序正常工作。
(该应用程序在gpu内存>系统内存的所有单gpu机器上工作。所有机器都是suse linux enterprise server 64bit)
你如何总结这个场景? 我认为 GPU 将其整个 16GB 映射到系统 RAM 上,从而导致内存不足。但是通过 /proc/iomem 和 lspci -v,我看不到 16GB 的窗口。 GPU是否真的将其内存映射到系统内存?
感谢您的帮助
【问题讨论】:
-
这不仅仅是应用程序本身根据可用设备内存选择其数据大小,并为自己分配一块系统 RAM 来匹配的问题?