在Ubuntu amd64

时间:2016-11-18 19:11:41

标签: c++ ubuntu opengl opencl optimus

编辑:这不是完全重复的,因为这个问题适用于特定于Ubuntu 的解决方案,而另一个问题适用于跨平台溶液

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

对于nvidia GPU,此技术被标记为Optimus

然而,由于这些技术的非标准化运作方式,从开发人员的角度管理它们可能是一场噩梦。例如,来自nvidia的this 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代码库。

0 个答案:

没有答案