2012-07-25 99 views
7

我有一台运行Ubuntu Precise的戴尔Precision Rack,并配备了两个特斯拉C2075和一台Quadro 600显示设备。我最近在桌面计算机上完成了一些测试,现在尝试将东西移植到工作站。CUDA SDK示例在多GPU系统中抛出各种错误

由于CUDA不存在,我根据this guide进行了安装,并根据this suggestions修改了SDK Makefiles。

我现在面临的是,没有一个样本(我测试了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. 

,你可以SE Ë大部分错误都朝着与cudaGetDeviceCount调用,它会返回错误代码10.按照手册中的问题,一个问题是指向:

cudaErrorInvalidDevice: This indicates that the device ordinal supplied by the user does not correspond to a valid CUDA device. 

不幸的是,唯一的解决办法我能找到建议检查设备电源插头。我做到了,没有错。重启工作站也无济于事。

我很乐意提供有关我的配置的更多详细信息。请留下评论!

+1

这是StackOveflow的主题。我会建议检查你是否有'/ dev/nvidia *'设备文件。如果你不这样做,那么请阅读Linux入门指南中关于手动创建它们的说明。 – talonmies 2012-07-25 11:55:31

+0

@talonmies在我的开发中有'nvidia0'和'nvidiactl'。那里应该有多少文件? – 2012-07-25 12:47:28

+1

每个GPU应该有一个,所以你的系统有三个。 – talonmies 2012-07-25 13:18:33

回答

2

由于对我原来的问题的意见,我能够find一个解决方案。我跟着this guide学习如何正确设置rc.local(不要忘记chmod你的脚本)。