我注意到 R 并没有使用我所有的 CPU,我想大幅增加它(高达 100%)。我不希望它只是并行化几个函数;我希望 R 使用更多的 CPU 资源。我正在尝试使用 lp() 函数运行纯 IP 设置打包程序。目前,我运行 Windows,我的计算机上有 4 个核心。
我尝试过使用 Snow、doParallel 和 foreach 进行实验(尽管我不知道我到底在用它们做什么)。
在我的代码中我有这个...
library(foreach)
library(doParallel)
library(snowfall)
cl <- makeCluster(4)
registerDoParallel(cl)
sfInit(parallel = TRUE, cpus = 4)
#code that is taking a while to run but does not involve simulations/iterations
lp (......, all.int = TRUE)
sfStop()
R 被卡住并运行 lp() 很长时间。我的 CPU 大约是 25%,但是我怎样才能提高它呢?
如果您尝试并行运行 4 个不同的 LP,请按以下步骤操作snowfall
.
sfInit(parallel=TRUE, cpus=4)
sfSource(code.R) #if you have your function in a separate file
sfExport(list=c("variable1","variable2",
"functionname1")) #export your variables and function to cluster
results<-sfClusterApplyLB(parameters, functionname) #this starts the function on the clusters
例如。 sfClusterApply 中的函数可以包含您的 LP。
否则请参阅有关您的问题的评论
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)