1

我已经安装了LLVM 3.2numba的所有依赖项(Meta 除外):

  • LLVM 3.1 或 3.2
  • llvmpy(来自 llvmpy/llvmpy fork)
  • llvm数学
  • numpy(1.6 或更高版本)
  • Meta(来自 numba/Meta fork(可选))
  • Cython(仅构建依赖项)
  • 鼻子(用于单元测试)
  • argparse(用于 pycc)

我根据此页面https://github.com/llvmpy/llvmpy上的说明安装了 LLVM 3.2 和 llvmpy 。所有其他 python 模块都是使用pip安装的:

sudo pip install --upgrade module_name

接下来,我尝试了此页面上的 numba 示例:http: //jakevdp.github.io/blog/2012/08/24/numba-vs-cython/。我将两者都存储pairwise_pythonpairwise_numba一个名为performance.py. 然后当我跑

from performance import *

在 IPython 中,我收到以下错误:

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-4-c7c496c26b18> in <module>()
----> 1 import performance

/home/carlos/Workspace/Freestyle/Numba/performance.py in <module>()
     14             D[i, j] = np.sqrt(d)
     15 
---> 16 @jit(arg_types=[double[:,:], double[:,:]])
     17 def pairwise_numba(X, D):
     18     M = X.shape[0]

/usr/local/lib/python2.7/dist-packages/numba/decorators.pyc in _jit_decorator(func)
    209             argtys = restype.args
    210         elif argtys is None:
--> 211             assert func.__code__.co_argcount == 0, func
    212             return_type = None
    213             argtys = []

AssertionError: <function pairwise_numba at 0x4b61a28>

而且我无法使用pairwise_python 或pairwise_numba。我怎样才能让它工作?

系统信息

  • Linux Mint 13 KDE,64 位
  • 默认 gcc 编译器版本:4.8
  • Python 2.7.3(使用 gcc 4.6.3 编译)
  • LLVM 3.2(使用 gcc 4.8 编译)
  • llvmpy 0.11.2
  • llvmth 0.1.1
  • numpy 1.7.1
  • 赛通 0.19.1
  • 鼻子 1.3.0
  • 参数解析 1.2.1
4

1 回答 1

1

似乎您将错误的参数传递给@jit,请尝试使用:

@autojit
def yourfunction(...):
    ...

如果您提供有关您的功能的更多详细信息,我们可以告诉您您的@jit陈述有什么问题。

于 2013-08-24T06:08:56.830 回答