Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading Cython prange失败,出现致命的Python错误:PyThreadState\u Get:没有当前线程_Multithreading_Parallel Processing_Cython - Fatal编程技术网

Multithreading Cython prange失败,出现致命的Python错误:PyThreadState\u Get:没有当前线程

Multithreading Cython prange失败,出现致命的Python错误:PyThreadState\u Get:没有当前线程,multithreading,parallel-processing,cython,Multithreading,Parallel Processing,Cython,我正在尝试将一个循环与prange并行: cdef fun(double [::1] someData)) nogil: #direct call to a external c function C_function(&someData[0]) #.... def parallelEvaluate(np.ndarray[np.double_t] largerArray): #.... cdef np.ndarray[np.double_t] array

我正在尝试将一个循环与prange并行:

cdef fun(double [::1] someData)) nogil:
    #direct call to a external c function
    C_function(&someData[0])

#....
def parallelEvaluate(np.ndarray[np.double_t] largerArray):
    #....
    cdef np.ndarray[np.double_t] array
    cdef np.ndarray[np.int] arbitraryIndices
    for n in prange(loopLength, nogil=true):
        with gil:
            arbitraryIndices = # ... indices dependent on n
            array = np.copy( largerArray[ arbitraryIndices]  ) # copy of a non cont. array to the cont. 'array'
        fun(array)
但是,这在以下情况下失败: 致命的Python错误:PyThreadState\u Get:没有当前线程

这种行为的原因是什么

谢谢大家!

好吧,我想出来了:


np.ndarray的隐式转换不起作用;我用一个额外的memoryview片段解决了这个问题。

有几个问题有类似的错误(例如),它们意味着您可能已经针对一个不同的Python库与您使用的Python库进行了链接。