在 pmap() Julia 中设置 batch_size

setting batch_size in pmap() Julia

在 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:100 并且您选择批量大小 10,每次工作进程 "goes a round"它采用 fx [1,2,3,4,5,6,7,8,9,10] 而不是 1 或 2 的 map 函数,如果您要映射的函数很简单,这是首选,所以它使调度器(进程 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)