问题标签 [optimus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1418 浏览

android-studio - Android Studio / AVD with bumblebee / nvidia optimus

在使用带有 linux 和 nvidia Optimus 显卡的计算机进行 Android 开发时,是否可以告诉 Intellij / Android Studio 启动带有 bumblebee 的 Android 虚拟设备?

0 投票
1 回答
485 浏览

c++ - Per-monitor DPI-Aware:NVIDIA Optimus 出现黑窗故障

我想做一个 Per-Monitor DPI-Aware Direct2D 应用程序。我已经扩展了 Microsoft 的“第一个 Direct2D 程序”示例以按照Kenny Kerr 的 MSDN 文章WM_DPICHANGED中的说明进行处理。这在两台显示器都使用一个视频卡时有效,但在使用我的笔记本电脑的 NVIDIA Optimus 设置时会出现故障。

我可以通过以下步骤运行Per-Monitor Aware WPF 示例来重现相同的故障:

  • 每个显示器上的不同 DPI 比例因子。
  • 启用 Optimus(集成显卡上的笔记本电脑显示器,Quadro 卡上的外接显示器)
  • 该应用程序在主显示器上启动 - 右侧的外接显示器。
  • 将其拖到左侧,它会正确处理 DPI 更改。
  • 将其拖回右侧。当它处理 DPI 更改时,右侧监视器上的窗口部分变为黑色。左侧的部分仍然正确绘制。

(请参阅此错误的视频

我只在上面的示例应用程序中看到了这个错误,当我尝试将 Kerr 的 WM_DPICHANGED 处理程序添加到一个更简单的示例时。可疑的是,我已经看到其他应用程序(Chrome、Visual Studio 本身)显示类似的黑色窗口,但只是暂时的,如果我在监视器之间拖动并快速最大化它们。

那么 - 有人熟悉这个故障吗?这是我的显示驱动程序中的一些错误吗?或者是否有其他应用程序可以纠正它,而示例代码没有?

0 投票
1 回答
736 浏览

gpu - 采用 nvidia Optimus 技术的戴尔 7559 上的 Caffe 和 Tensorflow

我买了一台戴尔 7559 笔记本电脑进行深度学习。我在上面安装了 ubuntu 16.04,但是在上面安装 caffe 和 tensorflow 时遇到了麻烦。笔记本电脑使用 Nvidia Optimus 技术在 gpu 和 cpu 之间切换以节省电池使用量。我检查了bios,看看是否可以将其设置为仅使用gpu,但没有选项。使用 bumblebee 或 nvidia-prime 也不起作用。我现在有 ubuntu 16 和 mate 桌面环境,它可以防止黑屏,但对 cuda 问题没有帮助。我能够安装驱动程序和 cuda,但是当我构建 caffe 和 tensorflow 时,他们说它没有检测到 gpu 失败。而且我无法安装opengl。我尝试使用多个版本的 nvidia 驱动程序,但没有帮助。任何帮助都会很棒。谢谢。

0 投票
0 回答
295 浏览

opengl - 以跨平台方式启用/禁用 Optimus/Enduro

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

对于两家主要的 GPU 供应商,这项技术被称为nvidia OptimusAMD Enduro 。

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

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

但是,这只适用于 Windows 平台上的 nvidia GPU。在 OSX/Linux 和 AMD 硬件上,AMD/Intel 的等价物是什么?

所以更详细地说,我的问题是,我怎么能

  1. 以编程方式检测 Optimus/Enduro 以及可能的其他动态 = 切换 GPU 架构的存在?
  2. 选择应该以编程方式启用哪些 GPU?
  3. 以在所有相关平台上跨平台的方式这样做?
  4. 以一种与所有可能使用 GPU 的技术(例如 DX/OpenGL/Vulkan/OpenCL/CUDA/Qt)协同工作的方式来执行此操作?

我正在使用 nVidia 硬件在 Ubuntu 16.04-amd64 下使用 C++14/Qt5.7 代码库。

0 投票
0 回答
219 浏览

c++ - 在 Ubuntu amd64 下使用 C++ 以编程方式启用/禁用 nvidia Optimus

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

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

该技术被称为Optimus for nvidia GPU。

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

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

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

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

0 投票
1 回答
1731 浏览

tensorflow - tensorflow 不使用 gpu,但 cuda 使用

tensorflow 看不到我的 GPU。我正在使用 optimus 设置。

nvidia-smi 显示我的卡

cuda 看到 gpu。这是 deviceQuery 输出

但是tensorflow不使用gpu

输出似乎表明,只使用了 CPU

那么,我该怎么办,那个 tensorflow 看到了我的 gpu?我正在使用archlinux,我假设我拥有最新版本的所有内容。有什么我可以检查的吗?

0 投票
1 回答
895 浏览

laravel - Laravel 5.4 集合映射返回值

我在使用返回值的集合映射上创建函数时遇到问题。

如您所见,返回 fieldNames[0] 正在被硬编码。我不知道它会收到多少个 fieldNames。我需要返回那些带有混淆 ID 的字段名。所以基本上唯一改变的是Id。这是屏幕截图。

在此处输入图像描述

如您所见,fieldNames 只是 2,但如果变为 5 或 6 会怎样。我真的不知道他们将在参数中传递多少个 fieldNames。我该如何退货。谢谢。

0 投票
1 回答
1315 浏览

c# - 带有 C# 的 Optimus 无头浏览器

有人可以告诉我如何使用带有 C# 的 Optimus(无头浏览器)nuget 包从 URL 获取响应。我还希望页面上的 javascript 像 phantomjs 一样自动执行。

0 投票
1 回答
92 浏览

c++ - 在 VC++ 中从 DLLMAIN 内部调用 D3D 的 CREATEDEVICE 时,它会创建死锁(loaderlock?)。有没有办法克服这个问题?内线终结球

不久前,我发表了一篇关于创建 dll 的帖子,目的是为了注入,这将导致主机应用程序触发 Nvidia Optimus 笔记本电脑以“唤醒”dGpu。这是必要的,因为此处创建的可悲系统 nvidia 导致许多应用程序无法识别电源 dGpu 的存在,而是使用集成的英特尔 gpu。(特别是一些视频处理应用程序使用英特尔的时间比使用英伟达的时间长)。那个帖子在这里

可以说,我搬到南极工作并放弃了这个项目。几年后我才把它捡回来,并决定学习(足够的)C++ 来在这里编程。我已经创建了 DLL,如果我将 DX 代码放在一个函数中,然后从主机“调用者”程序中调用该函数。它可以工作!!!但是,如果我将该代码放在 DLLMAIN 中,然后简单地从我的“调用者”程序中加载该 dll(而不实际调用特定函数)......该过程将执行!!!但是,当它到达运行 CREATEDEVICE 的代码部分时,它会崩溃。从那以后,我了解到这是由于一个称为死锁或加载器锁的问题造成的。我不确定是哪个问题。我理解这个概念,但没有任何地方接近 C++ 的理解来开发解决方法。

所以基本上..我可以使用一些解决方法在 DLLMAIN 中运行我的程序吗?也许以某种方式产生一个独立的线程(所以 DLLMAIN 可以完成执行到它的返回?)感谢您提供任何信息。我将在此处包含 vcproject 源代码.. 但这是我在网上找到的科学怪人.. 所以不要追求优雅——我对 C++ 编程几乎一无所知!http://s000.tinyupload.com/index.php?file_id=07876333208461296171

0 投票
1 回答
930 浏览

linux - 如何处理大黄蜂表现不佳?

我正在使用 Archlinux,内核 4.12,bumblebee 3.2.1,nvidia 驱动程序 382。

当我运行optirun glxgearsandvblank_mode=0 primusrun glxgears时,最大 FPS 接近 3400。

但是当我glxgears直接使用 NVIDIA Driver 运行时,最大 FPS 接近 20000。

我不知道怎么了。有没有比大黄蜂更好的解决方案或解决这个问题的方法?