R - parLapply - 将任务吐入自己的部分

时间:2018-01-22 10:59:37

标签: r lapply workload

我有这样的功能:

parLapply(cl, 1:400, function(exponent) 2^exponent)

R现在将任务分成每个核心的偶数部分。

我怎样才能改变它,让我们说:

100 - Core_0 50 - Core_1 ...

1 个答案:

答案 0 :(得分:0)

您可以将矢量从1到400包装到列表中,如下所示:

library(parallel)

cl <- makeCluster(getOption("cl.cores", 2))

library(microbenchmark)

microbenchmark(
  even = {
    res1 <- unlist(parLapply(cl, 1:4000, function(x) {
      2^x
    }))
  },
  odd = {
    res2 <- unlist(parLapply(cl, list(1:3000, 3001:4000), function(x) {
      2^x
    }))
  },
  times = 5
)