是否可以在运行时将设备属性cudaKernelExecTimeoutEnabled
设置为0?目前它是1,因为我也在运行X服务器。问题是,我的线程超时了。
答案 0 :(得分:2)
在Linux上,您可以通过向X11配置添加选项来禁用超时(对我来说大约6到7秒)。在现代Linux系统上,不再有X11配置,所有内容都是自动检测的,但您可以手动创建:
mkdir -p /etc/X11/xorg.conf.d
touch /etc/X11/xorg.conf.d/20-nvidia.conf
然后将以下内容添加到此文件中:
Section "Device"
Identifier "My GPU"
Driver "nvidia"
Option "Interactive" "0"
EndSection
这里的关键是“互动”选项。即使没有重启X11,这对我也有效。很明显,只要我的OpenCL应用程序启动,就会读取并应用此配置。
“标识符”可以是任意值。在我的情况下,“驱动程序”是“nvidia”,因为我使用专有的Nvidia驱动程序用于Linux(官方Debian软件包存储库的一部分)。
答案 1 :(得分:1)
我假设你在Windows上:
您需要禁用Windows驱动程序超时:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Watchdog\Display\DisableBugCheck
创建一个REG_DWORD并将其设置为1.
答案 2 :(得分:1)
在Linux上,您需要使用nvidia-smi
命令来更改设备的属性。但我想如果你在GPU上运行显示器,你可能无法设置该属性。