问题描述
我有一组要由R中的用户定义函数运行的元素。要依次运行这些元素需要很长时间。然后,我使用foreach()
,%dopar%
,makecluster()
和registerdoparallel()
进行并行计算。我想知道这些元素如何分配到集群。假设我有100个元素,并注册了5个簇,元素1〜20被分配给簇1,依此类推,依此类推,或者它们是随机分配的。谢谢
解决方法
先准备好,先服务:
library(doParallel)
registerDoParallel(cl <- makeCluster(3))
foreach(i = 1:20,.combine = 'c') %dopar% {
Sys.getpid()
}
[1] 13004 5924 6600 13004 5924 13004 6600 5924 13004 5924 13004 5924 13004
[14] 5924 6600 13004 5924 6600 13004 5924
stopCluster(cl)