我有一个运行Ubuntu Precise的Dell Precision机架,配有两个特斯拉C2075和一个Quadro 600作为显示设备。我最近在我的台式电脑上完成了一些测试,现在试着把东西移植到工作站上。
由于CUDA不存在,我根据本指南安装了它,并根据此建议调整了SDK Makefile。
我现在面临的是,没有一个样本(我测试了10个不同的样本)在运行。这些是我得到的错误:
[deviceQuery] starting...
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 10
-> invalid device ordinal
[deviceQuery] test results...
FAILED
> exiting in 3 seconds: 3...2...1...done!
[MonteCarloMultiGPU] starting...
CUDA error at MonteCarloMultiGPU.cpp:235 code=23510 (cudaErrorInvalidDevice) "cudaGetDeviceCount(&GPU_N)"MonteCarloMultiGPU
==================
Parallelization method = threaded
Problem scaling = weak
Number of GPUs = 0
Total number of options = 0
Number of paths = 262144
main(): generating input data...
main(): starting 0 host threads...
Floating point exception (core dumped)
[reduction] starting...
reduction.cpp(124) : cudaSafeCallNoSync() Runtime API error 10 : invalid device ordinal.
[simplePrintf] starting...
simplePrintf.cu(193) : CUDA Runtime API error 10: invalid device ordinal.
正如您所看到的,大多数错误都指向cudaGetDeviceCount调用的问题,该调用返回错误代码10。根据手册,问题是:
cudaErrorInvalidDevice: This indicates that the device ordinal supplied by the user does not correspond to a valid CUDA device.
不幸的是,我能找到的唯一解决方案是检查设备的电源插头。我这样做了,没有任何问题。重新启动工作站也没有帮助。
我很乐意提供更多关于我的配置的细节。请留下评论!
由于对我最初问题的评论,我找到了解决方案。我遵循本指南学习如何正确设置rc.local
(不要忘记chmod
您的脚本)。