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。