我正在尝试在Julia中实现并行for循环。我熟悉MATLAB编码,但不熟悉Julia。我注意到MATLAB需要单元类型数据结构才能使并行代码运行得更快。我有以下疑问:
朱莉娅的“parfor”的替代方案是什么?是否需要这样做?
我们可以在Julia中使用“cell”吗? (分配内存分配,以便可以独立访问每个内存位置。)
任何参考资料也会有所帮助。
答案 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"]
(现在你可以在那里添加一个数字。