2014-01-25 24 views
2

我從這裏測試PRANGE例如:Numba普蘭奇例不起作用

http://numba.pydata.org/numba-doc/0.11/prange.html

我有numba版本0.11.1

不幸的是,它給了我這個錯誤:

Traceback (most recent call last): 
    File "C:\Anaconda\envs\p33\lib\site-packages\IPython\core\interactiveshell.py", line 2732, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-1-d9c777b2b461>", line 1, in <module> 
    execfile('C:\\Users\\Jon\\workspace\\Examples\\numba\\parallel_numba.py') 
    File "C:\eclipse_kepler\plugins\org.python.pydev_2.7.5.2013052819\pysrc\_pydev_execfile.py", line 38, in execfile 
    exec(compile(contents+"\n", file, 'exec'), glob, loc) #execute the script 
    File "C:\Users\Jon\workspace\Examples\numba\parallel_numba.py", line 19, in <module> 
    s0 = parallel_sum(B) 
    File "numbawrapper.pyx", line 192, in numba.numbawrapper._NumbaSpecializingWrapper.__call__ (numba\numbawrapper.c:3768) 
SystemError: NULL result without error in PyObject_Call 

這是我正在使用的代碼:

from numba import autojit, prange 
import numpy as np 

@autojit 
def parallel_sum(A): 
    sum = 0.0 
    for i in prange(A.shape[0]): 
     sum += A[i] 

    return sum 

B = np.array([1,2,3]) 
s0 = parallel_sum(B) 

回答

1

出於某種原因,如果命名numba模塊,明確,示例工程:

import numba 

@numba.autojit 
def parallel_sum(A): 
    sum = 0.0 
    for i in numba.prange(A.shape[0]): 
     sum += A[i] 

    return sum 

另外,我使用python 2.7和numba 0.11.1通過暢達。我得到了與原始代碼相同的錯誤。

+0

不錯。謝謝。也適用於我。 – Ginger