我使用的是 Ubuntu 12.10、AMD 12.11 beta 驱动程序、AMD APP SDK 2.7 和 OpenCL。我插入了三块 amd radeon 7990,每块都是双 7970,所以我总共有六个 gpu。我计划在几天内增加到八个。Windows 甚至无法使用 4 个,但到目前为止,Linux 使用 6 个就可以正常工作。
奇怪的是,OpenCL 仅在 Unity(Ubuntu 默认窗口管理器)中检测到这六个 gpu。如果我切换到 e17、blackbox 或 fluxbox 或其他任何东西,OpenCL 只会检测到一个。我正在使用一个简单的 OpenCL 程序列出要检查的所有设备。
我还检查了 aticonfig --list-adapters、fglxinfo 和 clinfo 的输出。前两个在所有窗口管理器中始终显示 6,而 clinfo 在 unity 中显示 6,但在所有其他窗口管理器中显示 1 gpu。我还使用由 aticonfig --initial -f --adapter=all 生成的 X 配置。我也只使用一个显示器。我还使用 lsmod 检查了 fglrx 模块是否已加载到所有窗口管理器中。
我有两个问题。
- 为什么 OpenCL 仅在 Unity 中看到 6 个 gpu?
- 如何在其他轻量级 Windows 管理器上启用六个 GPU?
基本上,我想知道是什么决定了 OpenCL 运行时可以看到多少个 gpu?
谢谢。