【问题标题】:Can I somehow run X11 on the Intel integrated graphics in my optimus laptop and debug CUDA code on the NVIDIA GPU?我能否以某种方式在我的 Optimus 笔记本电脑的英特尔集成显卡上运行 X11 并在 NVIDIA GPU 上调试 CUDA 代码?
【发布时间】:2013-11-01 09:52:08
【问题描述】:

我知道我可以在没有 GUI 的情况下使用 cuda-gdb 在 linux 上调试 CUDA,但这并不方便。我也知道如果 X 服务器在其他 GPU 上运行,可以使用 Nsight Eclipse 版本调试 CUDA。 所以我有双 GPU 笔记本电脑(geforce 525m 和 Intel 3000),我想知道我是否可以在 Intel 卡上运行 X 服务器,而我的 CUDA 代码在我的 nvidia 卡上运行?

【问题讨论】:

  • 这在 Windows 中不是问题,该平台支持单 GPU 调试...我正在寻找在 Ubuntu 上提供 GUI 调试的可能解决方法...
  • 当然,如果我们谈论的是例如具有单独 NVIDIA GPU(和英特尔集成显卡)的桌面系统,那么它是可能的并且非常简单,只需要一个适当的 xorg.conf 文件。这可能在您的笔记本电脑上是可能的,但这取决于系统 BIOS 如何管理 GPU 硬件。在我看来,您的笔记本电脑的配置细节与 StackOverflow 无关。
  • 这不仅仅是我的笔记本电脑特定配置。许多笔记本电脑将 nvidia optimus GPU 与 Intel 独立卡结合使用。如果您知道如何为我的笔记本电脑设置 xorg.conf,这很可能也适用于其他笔记本电脑。
  • 并非所有 Optimus 笔记本电脑都相同,即使在图形区域也是如此。例如,有些提供让用户手动控制启动 dGPU 的选项。有些没有。我再次相信完成所有这些工作是题外话。我的意见。

标签: ubuntu cuda nsight


【解决方案1】:

我正在回答,因为我还不能发布 cmets。

我不确定,但我认为这在 Debian 上不是问题。 2 个月前,我使用 Debian 而不是 Ubuntu(CUDA 5.0),并且能够使用 X 服务器和 cuda-gdb(我不确定是否可以在内核函数内部进行调试,但我认为是这样)。

当使用 CUDA 5.5 更改为 Ubuntu 时,我需要以文本模式启动 Ubuntu 以调试内核功能。

所以,如果可以尝试,我建议尝试使用 Debian。 :)

【讨论】:

  • 您有多个 GPU 吗?您是使用命令行 cuda-gdb 调试,还是使用 Nsight Eclipse 调试器进行调试?
  • @OgnjenKocic,我只有一个 GPU (GTX 480)。为了调试,我使用了 cuda-gdb,但我能够在同一个会话中运行分析器 Nvidia Visual Profiler 并调试程序(通过 cuda-gdb)。
  • 是的,您可以分析您的 CUDA 代码以获得更好的性能,但您不能将 Nsight Eclipse GUI 调试器与计算能力低于 3.5(只有少数 GPU 具有)的单 GPU 一起使用。 stackoverflow.com/questions/13662491/… 已经回答了这个问题...
  • 哇,感谢您的链接。我只是想帮忙看看,而不是教一些东西,我学到了一些东西。哈哈。谢谢。
【解决方案2】:

如果您想尝试在笔记本电脑上使用此功能,首先应确保您的 xorg.conf 文件仅引用 Intel 集成 GPU。

然后您需要尝试确定当您在 linux 下运行时笔记本电脑是否同时为 Intel 集成 GPU 和 NVIDIA 独立 GPU 供电。对于这个测试,我将从运行lspci 开始。如果该命令同时显示英特尔显卡和 NVIDIA GPU,那么您可以尝试在此时安装 CUDA 工具包。当它询问您是否要更新 xorg.conf 文件时,请务必回答“否”。

之后它可能会起作用。如果它不起作用,您可能需要检查您的 SBIOS 机器配置选项,看看是否有一种方法可以强制启用 NVIDIA GPU 和 Intel 显卡。

如果您能够获得由 Intel 显卡托管的显示器,并且 CUDA 工具包已加载并正常运行,那么您在该 NVIDIA GPU 上进行调试应该没有问题。

【讨论】:

  • 感谢您的所有建议。还有一件事。当我想启动 CUDA 应用程序时,我需要使用 optirun 命令启动它。所以在最新的 bumblebee (3.2.1) 中有 --no-xorg 选项可以确保 optirun 不会启动另一个 X 服务器。这个选项将是我的下一步行动。我已经迁移到 Kubuntu 13.10,我会努力让它工作。
【解决方案3】:

在我看来,这个解决方案并不好,但它可以在笔记本 ASUS B400V 的 Ubuntu 16.04 上运行。

  1. 使用 Intel 显卡启动 XServer(Nvidia XServer 设置或sudo prime-select intel;您需要注销并登录)。
  2. 运行命令sudo prime-select nvidia 并且不注销。
  3. 运行命令sudo tee /proc/acpi/bbswitch <<< ON

执行此步骤后,我可以调试我的 CUDA 程序。 在重新启动或注销之前,您需要运行命令sudo prime-select intel

【讨论】:

    猜你喜欢
    • 2011-01-18
    • 2019-12-24
    • 1970-01-01
    • 2017-05-11
    • 2012-01-01
    • 1970-01-01
    • 2014-09-12
    • 2021-11-01
    相关资源
    最近更新 更多