草庐IT

python - Cython 的 prange 没有提高性能

我正在尝试使用Cython的prange提高某些度量计算的性能。这是我的代码:defshausdorff(float64_t[:,::1]XAnotNone,float64_t[:,:,::1]XBnotNone):cdef:Py_ssize_tiPy_ssize_tn=XB.shape[2]float64_t[::1]hdist=np.zeros(n)#arrangementtofixcontiguityXB=np.asanyarray([np.ascontiguousarray(XB[:,:,i])foriinrange(n)])foriinrange(n):hdist[i]=_h

python - cython.parallel.prange 中的 cython 共享内存 - block

我有一个函数foo,它将指向内存的指针作为参数,并写入和读取该内存:cdefvoidfoo(double*data):data[some_index_int]=some_value_doubledo_something_dependent_on(data)我像这样分配给data:cdefintN=some_intcdefdouble*data=malloc(N*sizeof(double))cdefintiforiincython.parallel.prange(N,nogil=True):foo(data)readout(data)我现在的问题是:不同的线程如何处理这个问题?我的猜测