总体目标是使用NumbaPro在GPU上运行某些功能(在OSX 10.8.3上)。
在开始之前,我只想设置好所有内容。根据{{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'ing而不是autojit,同样的错误。 @autojit本身没有目标可以正常工作。
有什么想法吗?
答案 0 :(得分:5)
为了后人的缘故,我问Continuum Support。他们回答说:
您似乎正在运行具有计算能力1.x的CUDA GPU。 NVVM仅支持CC2.0及更高版本。我们肯定应该有一个更好的错误报告,并在NumbaPro文档中明确支持的计算能力。