大家好,
基本上我有这个:
@sync @parallel for i in 1:100;
V[i] = i
end
我真的没有任何问题。我正在使用julia 0.6.4,但我注意到新版本中不存在功能@parallel
。所以我的问题是:还有一种更有效的方法来并行运行该简单任务吗?也许在朱莉娅的其他版本中。函数@distributed
执行相同的操作吗?
谢谢。
答案 0 :(得分:1)
如果要将代码从0.6更新到1.0,请先逐步执行0.7。它与 1.0完全相同,但是带有友好的警告,告诉您如何更新代码!是的,在这种情况下,它将告诉您使用@distributed
而不是@parallel
并加载分布式标准库。
julia> @sync @parallel for i in 1:100;
V[i] = i
end
WARNING: Base.@parallel is deprecated: it has been moved to the standard library package `Distributed`.
Add `using Distributed` to your imports.
in module Main
┌ Warning: `@parallel` is deprecated, use `@distributed` instead.
│ caller = eval(::Module, ::Any) at boot.jl:319
└ @ Core ./boot.jl:319
这只是一个重命名,并且有一个很好的理由是一个重命名:并行的形式很多,“并行”的“最有效”形式取决于您正在执行的任务(尤其是其运行时和IO) )和可用的硬件。