使用@parallel时,共享数组值不会更新

时间:2018-06-05 08:51:51

标签: julia

我正在尝试使用@parallel创建并行for循环,以便计算SharedArray的累积和。我正在运行的一个简单测试如下:

p = SharedArray{Float64}(10,10);

@parallel for i = 1 : 5
    p = p .+ 1
end

p

然而,当打印p时,我只得到一系列零,好像for循环从未发生过。我已经通过在每个循环上打印代码来测试代码实际进入for循环。

我意识到这个问题可能对许多人有一个直截了当的答案,但是遵循Julia手册并在线寻找答案并没有让我找到解决方案。

提前致谢,

SIMOS

1 个答案:

答案 0 :(得分:0)

更改=运算符.=是否具有所需的结果?

@parallel for i = 1 : 5
    p .= p .+ 1
end

编辑:格式化。