gpt4 book ai didi

r - 如何为 llply 的并行模式设置 preschedule=FALSE?

转载 作者:行者123 更新时间:2023-12-01 23:58:16 25 4
gpt4 key购买 nike

我想使用 llply 使用多核 doParallel 后端(即 doParallel::registerDoParallel(cores=8))执行一些并行计算,但每次计算都需要不同的时间,所以我想为此计算将多核预调度选项设置为 false。但是,我不确定如何将此选项传递给 llply,后者会将其传递给 foreach,后者会将其传递给 doParallel,后者最终会通过它到 mclapply。任何人都可以举一个这样做的例子吗?

换句话说,我将如何在以下代码中禁用预安排?

library(plyr)
library(doParallel)
registerDoParallel(cores=2)
x <- llply(1:10, sqrt, .parallel=TRUE)

最佳答案

您可以使用 llply ".paropts"选项来做到这一点:

opts <- list(.options.multicore=list(preschedule=FALSE))
x <- llply(1:10, sqrt, .parallel=TRUE, .paropts=opts)

正如您所猜到的,“.paropts”选项将“.options.multicore”选项传递给 foreach,后者将其传播到 doParallel,后者使用 mc.preschedule=FALSE 调用 mclapply。

关于r - 如何为 llply 的并行模式设置 preschedule=FALSE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com