在pmap()中设置batch_size Julia

时间:2016-11-28 09:15:00

标签: julia pmap

在Julia Lang中,文档说明您可以使用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参数的正确方法?

1 个答案:

答案 0 :(得分:0)

批量大小意味着将您的列表分开,这意味着如果您有一个1:100的列表,并且您选择批量大小10,则每次工作进程"进行一轮#" 34;使用map函数它需要fx [1,2,3,4,5,6,7,8,9,10]而不是1或2,如果您映射的函数很简单,这是可取的,这使得调度程序(进程1)更容易安排

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

即不要使用分号

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)