我的机器上有两张NVidia卡,并且都支持CUDA。当我运行示例脚本以开始使用PyCUDA时,请参见此处:http ://documen.tician.de/pycuda/我得到了错误
nvcc fatal : Value 'sm_30' is not defined for option 'gpu-architecture'
我的计算GPU是计算能力3.0,因此sm_30应该是nvcc编译器的正确选项。我的图形GPU仅为CC 1.2,所以我想可能就是问题所在。我已经安装了适用于Linux的CUDA 5.0版本,没有任何错误,以及所有编译器组件和python组件。
有没有办法明确告诉PyCUDA使用哪个GPU?
nvcc
不会根据您已安装的特定GPU进行投诉。它将针对您要求编译的任何GPU类型进行编译。问题是您在指定sm_30
选项--gpu-architecture
时指定了哪个无效选项--gpu-code
。
你应该compute_30
为之--gpu-architecture
而sm_30
为--gpu-code
另外,请确保您使用的是正确的nvcc
,并且不会无意中使用某些旧版本的CUDA工具包。
解决了编译问题后,CUDA_DEVICE
pycuda将观察到一个环境变量,以选择特定的已安装GPU。
从这里:
CUDA_DEVICE=2 python my-script.py
顺便说一下,其他人遇到了您的问题。您确定您没有使用PyCUDA使用的CUDA工具包的旧版本吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句