内部使用Cython内存视图的并行执行Python函数

时间:2017-01-31 10:16:32

标签: python parallel-processing multiprocessing buffer cython

我正在尝试使用JoblibParallel来并行化例程,但它不起作用,因为其中一个底层函数使用Cython的内存视图,导致buffer source array is read-only(相同)问题已经讨论here)。

我想理解它为什么会发生(我对Joblib的低级机制的了解有限),以及我可以做些什么来解决它。

我知道使用Numpy缓冲区可以避免这个问题(如here所述),但这不是一个真正的解决方案。有问题的函数在并行prange循环中切片数组:使用Numpy缓冲区意味着我不能在没有GIL的情况下对数组进行切片,因此我无法使用prange并行化循环。

0 个答案:

没有答案