PMAP

pmap 接受一个函数(你指定)并将其应用于数组中的所有元素。这项工作分为可用的工人。pmap 然后返回将该函数的结果放入另一个数组。

addprocs(3)
sqrts = pmap(sqrt, 1:10)

如果你的函数有多个参数,你可以向 pmap 提供多个向量

dots = pmap(dot, 1:10, 11:20)

然而,与 @parallel 一样,如果给 pmap 的函数不在基础 Julia 中(即它是用户定义的或在包中定义的),那么你必须首先确保所有工作者都可以使用该函数:

@everywhere begin
    function rand_det(n)
        det(rand(n,n))
    end
end

determinants = pmap(rand_det, 1:10)

另请参见 SO Q&A。