3

编辑:这不是 imo 完全重复,因为这个问题是针对Ubuntu的解决方案,而另一个是针对跨平台解决方案

为了节省功耗,在最近的图形架构中通常会在离散的高性能和集成的低性能 GPU 之间动态切换,其中高性能 GPU 仅在需要额外性能时才启用。

该技术被称为Optimus for nvidia GPU。

然而,由于这些技术工作的非标准化方式,从开发人员的角度管理它们可能是一场噩梦。例如,在这个来自 nvidia 的 PDF中,他们解释了作为开发人员在一个平台上管理 nvidia Optimus 时必须担心的许多复杂性、限制和陷阱。

例如,在上面链接的 PDF 中,以下是在 Windows 上选择 GPU 的提示:

extern "C" {
 _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}

但是,这只适用于 Windows 平台。在 Ubuntu 下等价物是什么?

我对如何使用 OpenCL 和 OpenGL(互操作)可靠地进行这项工作特别感兴趣,因为这是我项目的预期目标。我正在使用 nvidia 硬件(闭源驱动程序 v367)在 Ubuntu 16.04-amd64 下使用 C++14/Qt5.7/OpenCL/OpenGL 代码库。

4

0 回答 0