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。