cython:prange中的私有变量

时间:2013-08-17 02:21:01

标签: openmp cython

我试图在cython中重写一个使用openmp的fortran子程序。我发现在cython中重写fortran子程序没有任何困难。非openmp版本工作正常。但是,我不知道如何处理openmp指令......

!$omp parallel do private(x, y, z)

在cython中,我知道你使用cython.parallel.prange获得了openmp parallel。但是,我没有看到如何为循环声明私有变量。

这甚至可能吗?

感谢您提供的任何见解。

1 个答案:

答案 0 :(得分:1)

是的,有可能。 The docs说:

  

如果分配给prange块中的变量,它将变为lastprivate,这意味着变量将包含上次迭代的值。 .....与块并行分配的变量将是私有的,并且在块之后不可用,因为没有顺序最后一个值的概念。