在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参数的正确方法?
答案 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)