5

总体目标是使用NumbaPro在 GPU 上运行一些功能(在 OSX 10.8.3 上)。

在开始之前,我只是想把所有东西都设置好。根据这个页面,我安装了 CUDA,注册为 CUDA 开发人员,下载了 Compiler 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 本身没有目标可以正常工作。

有任何想法吗?

4

1 回答 1

5

为了子孙后代,我询问了 Continuum Support。他们回应:

您似乎正在运行具有计算能力 1.x 的 CUDA GPU。NVVM 只支持 CC2.0 及以上。我们绝对应该有更好的错误报告,并在 NumbaPro 文档中明确说明支持的计算能力。

于 2013-03-26T00:14:38.410 回答