0

In Julia Lang, the documentation states you can set the number of worker processes using 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

But I can't seem to find a working example of how to pass the parameters.

I tried: pmap(f,x;true,10) and pmap(f,x;distributed=true,batch_size=10) abut both methods didn't work. Does anyone know the correct way to pass the argument for batch_size?

4

1 回答 1

0

批量大小旨在拆分您要映射的列表,这意味着如果您有一个 1:100 的列表并且您选择批量大小 10,则每次工作进程使用 map 函数“进行一轮”时,它需要 fx [ 1,2,3,4,5,6,7,8,9,10] 而不是 1 或 2,如果您要映射的函数很简单,这是首选,因此它使调度程序更容易(过程 1) 调度

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

即不要使用分号

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

为了更好地理解我的意思,请尝试创建以下方法

function foo(x)
    myid()
end

并测试调用

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

pmap(foo, 1:100, batch_size = 10)
于 2016-11-28T10:01:00.807 回答