2016-11-28 128 views
0

在朱莉娅郎,文档指出您可以使用设置的batch_size工作进程的数量:在PMAP的batch_size设置()朱莉娅

pmap([::AbstractWorkerPool, ]f, c...; distributed=true, batch_size=1, on_error=nothing, retry_n=0, retry_max_delay=DEFAULT_RETRY_MAX_DELAY, retry_on=DEFAULT_RETRY_ON) → collection 

但我似乎无法找到如何通过工作示例参数。

我试过: pmap(f,x; true,10)和pmap(f,x; distributed = true,batch_size = 10)紧靠两种方法都不起作用。有没有人知道传递batch_size参数的正确方法?

回答

0

批处理大小是为了将你的映射分割出来,这意味着如果你有一个列表1:100,并且你选择了批处理大小10,每次工作进程都通过映射函数“轮到”它需要fx [1,2,3,4,5,6,7,8,9,10]而不是1或2,如果你映射的函数很简单,这是可取的,所以它更容易对于调度程序(进程1)安排

无论如何...对命名参数的使用...你已经证实了我对分号的怀疑,我想知道如果人们可能认为他们应该键入它.. 。你不应该输入它,分号在那里,所以你知道什么是命名参数

即NT使用分号

pmap(f, c..., batch_size=10) 

更好地理解了我的意思尝试创建folliwing方法

function foo(x) 
    myid() 
end 

和测试调用

pmap(foo, 1:100, batch_size = 1) 

pmap(foo, 1:100, batch_size = 10) 
+0

感谢,这解决了问题。 – JJTO