我的机器中有两张 NVidia 卡,并且都支持 CUDA。当我运行示例脚本以开始使用此处所示的 PyCUDA 时:http://documen.tician.de/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
when a --gpu-code
还指定了选项。
你应该会通过compute_30
for --gpu-architecture
and sm_30
for --gpu-code
还要确保您拥有正确的nvcc
在使用中并没有无意中使用一些旧版本的CUDA工具包。
解决了编译问题后,就有了一个环境变量CUDA_DEVICE
pycuda 将观察并选择特定安装的 GPU。
From here http://lists.tiker.net/pipermail/pycuda/2010-September/002542.html:
CUDA_DEVICE=2 python my-script.py
顺便一提其他人 http://pycuda.2962900.n2.nabble.com/PyCuda-Ubuntu-12-04-issues-td7575064.html有你的问题。
您确定您没有 PyCUDA 正在使用的旧版本 CUDA 工具包吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)