在Julia中实现“parfor”类型循环

时间:2018-01-05 15:56:03

标签: matlab parallel-processing julia

我正在尝试在Julia中实现并行for循环。我熟悉MATLAB编码,但不熟悉Julia。我注意到MATLAB需要单元类型数据结构才能使并行代码运行得更快。我有以下疑问:

  1. 朱莉娅的“parfor”的替代方案是什么?是否需要这样做?

  2. 我们可以在Julia中使用“cell”吗? (分配内存分配,以便可以独立访问每个内存位置。)

  3. 任何参考资料也会有所帮助。

1 个答案:

答案 0 :(得分:6)

1)Julia内置了pmap@parallel。请参阅https://docs.julialang.org/en/stable/manual/parallel-computing

2)只需在Julia中使用Array{Any},而不是单元格。所以Array{Any}(n,m)是一个大小为n x m的矩阵,你可以放入任何东西。显然,它完全没有优化,所以你应该避免这种情况。相反,您应尽可能严格键入数组。在Julia中,您可以严格地将其键入任何内容以使其有效,因此例如字符串数组为Array{String}(...)。它的简写就像["a","b","c"]一样,如果你想让它Any,只需把它放在前面:Any["a","b","c"](现在你可以在那里添加一个数字。