与scipy.weave.inline的竞争条件

时间:2015-05-07 16:04:14

标签: python parallel-processing scipy race-condition

最近,当使用SyntaxError运行并行神经网络模拟时,我开始接收brian2。当它试图评估缓存文件中的代码行时,调用scipy.weave.inline会引发这些问题。

问题的完整描述和我对其原因的猜测是here

here是我之前提到的相关问题的链接,其中一个错误是完整的堆栈跟踪。我对这个问题的回答只是一个临时解决方案。 (一旦执行一组新的并行运行,就会重新引入语法错误。)

我有一个简单的方法可以避免这种竞争条件吗?

1 个答案:

答案 0 :(得分:1)

这似乎是scipy中的已知错误:请参阅github上的thisthis讨论。这些讨论中提出了一些解决方法:

1)执行一次脚本运行 - 以便填充缓存文件 - 然后并行执行其他运行。并行运行不会尝试重新填充缓存。

2)建立从/tmp~/.python27_compiled的符号链接。 (我不确定为什么会这样。)

3)改为使用cython