我知道在Linux上可以使用cuda-gdb进行CUDA调试,但是这并不太方便。我也知道如果X服务器在其他GPU上运行,可以使用Nsight Eclipse版进行CUDA调试。 因此,我有一台双GPU笔记本电脑(Geforce 525m和Intel 3000),我想知道是否可以在我的Intel显卡上运行X服务器,而我的CUDA代码则在我的NVIDIA显卡上运行?
xorg.conf
文件只引用了 Intel 集成 GPU。接着你需要尝试确认当你在 Linux 下运行时,笔记本是否同时启用了 Intel 集成 GPU 和 NVIDIA 独立 GPU。为此,我建议你可以首先运行 lspci
命令进行测试。如果该命令显示出了集成显卡和 NVIDIA GPU,则可以尝试在此时安装 CUDA 工具包。请确保在询问是否要更新 xorg.conf
文件时回答 "no"。我回答是因为我还不能发表评论。
我不确定,但我认为这在Debian上不是问题。两个月前,我使用Debian而不是Ubuntu(CUDA 5.0),能够使用X服务器并使用cuda-gdb(我不确定是否可以在内核函数中调试,但我认为是可以的)。
当更改为CUDA 5.5的Ubuntu时,我需要以文本模式启动Ubuntu才能调试内核函数。
因此,如果您可以尝试,请尝试使用Debian。:)
在我看来,这个解决方案并不好,但它可以在ASUS B400V笔记本电脑上的Ubuntu 16.04上运行。
sudo prime-select intel
命令;您需要注销并重新登录)。sudo prime-select nvidia
,无需注销。sudo tee /proc/acpi/bbswitch <<< ON
执行完这些步骤后,我可以调试我的CUDA程序。在重新启动或注销之前,您需要运行命令sudo prime-select intel
。
xorg.conf
文件。 在您的笔记本电脑上也可能是可能的,但这取决于系统BIOS如何管理GPU硬件。 在我看来,您笔记本电脑的配置细节不在StackOverflow的讨论范围之内。 - Robert Crovella