我知道我可以在没有GUI的情况下使用cuda-gdb在linux上调试CUDA,但这并不是很方便。我也知道如果X服务器在其他GPU上运行,可以使用Nsight Eclipse版本调试CUDA。 所以我有双GPU笔记本电脑(geforce 525m和Intel 3000),我想知道如果我的CUDA代码在我的nvidia卡上运行,我是否可以在Intel卡上运行X服务器?
答案 0 :(得分:2)
如果您想尝试在笔记本电脑上运行此功能,首先应确保您的xorg.conf
文件仅引用英特尔集成GPU。
然后,当您在Linux下运行时,您需要尝试确定笔记本电脑是否正在为Intel集成GPU和NVIDIA独立GPU供电。对于此测试,我将首先运行lspci
如果该命令同时显示了intel图形和NVIDIA GPU,那么您可以尝试在此时安装CUDA工具包。当它询问您是否要更新xorg.conf
文件时,请务必回答“否”。
之后它可能会起作用。如果它不起作用,您可能需要检查SBIOS机器配置选项,看看是否有一种方法可以强制启用NVIDIA GPU和Intel图形。
如果您能够获得由Intel图形托管的显示器,并且CUDA工具包已加载且功能正常,那么您应该可以在该NVIDIA GPU上进行调试。
答案 1 :(得分:0)
我正在回答因为我还不能发表评论。
我不确定,但我认为这不是Debian的问题。 2个月前我使用的是Debian而不是Ubuntu(CUDA 5.0)并且能够使用X服务器并使用cuda-gdb(我不确定是否可以调试内核函数,但我认为是这样)。
当使用CUDA 5.5更改为Ubuntu时,我需要在文本模式下启动Ubuntu来调试内核函数。
所以,如果你可以尝试,我建议尝试使用Debian。 :)
答案 2 :(得分:0)
在我看来这个解决方案并不好,但它可以在笔记本电脑华硕B400V的Ubuntu 16.04上运行。
sudo prime-select intel
;您需要注销并登录)。sudo prime-select nvidia
,不注销。sudo tee /proc/acpi/bbswitch <<< ON
执行此步骤后,我可以调试我的CUDA程序。
在重新启动或注销之前,您需要运行命令sudo prime-select intel
。