Anaconda 加速 / NumbaPro CUDA 链接错误 OSX
我的总体目标是使用 NumbaPro 在GPU上运行一些函数(我用的是OSX 10.8.3)。
在开始之前,我想先把所有东西都设置好。根据 这个页面 的说明,我安装了CUDA,注册成为CUDA开发者,下载了编译器SDK,并设置了环境变量 NUMBAPRO_NVVM=/path/to/libnvvm.dylib。
但是,运行这个基本的测试函数时:
from numbapro import autojit
@autojit(target='gpu')
def my_function(x):
if x == 0.0:
return 1.0
else:
return x*x*x
print my_function(4.4)
exit()
出现了这个错误:
File ".../anaconda/lib/python2.7/site-packages/numba/decorators.py", line 207, in compile_function
compiled_function = dec(f)
File "...lib/python2.7/site-packages/numbapro/cudapipeline/decorators.py", line 35, in _jit_decorator
File "...lib/python2.7/site-packages/numbapro/cudapipeline/decorators.py", line 128, in __init__
File "...lib/python2.7/site-packages/numbapro/cudapipeline/environment.py", line 31, in generate_ptx
File "...lib/python2.7/site-packages/numbapro/cudapipeline/environment.py", line 186, in _link_llvm_math_intrinsics
KeyError: 1
我试过用 @vectorize 替代 autojit,结果还是同样的错误。单独使用 @autojit 而不指定目标是可以正常工作的。
有没有什么想法?
1 个回答
5
为了以后能查到,我问了Continuum的支持团队。他们回复说:
看起来你正在使用一个计算能力为1.x的CUDA显卡。而NVVM只支持计算能力2.0及以上的显卡。我们确实应该改进错误报告,并在NumbaPro的文档中明确说明支持的计算能力。