1 问题
在R中构建了for循环,由于循环过多,运行速度过慢,且不同循环之间是并行关系,拟通过多核运行可以解决此问题。
2 代码设置
2.1 shell脚本中的设置
b.sh
export OPENBLAS_NUM_THREADS=8
Rscript ./..._1.R \
2.2 R代码中的设置
library(parallel)
fun <- function(i){
a <- coordinate_file[i,4]
}
detectCores(logical = F)
mc <- getOption("mc.cores", 70) # 设置核数,根据需要设置70
mclapply(1:37987, fun, mc.cores = mc)
stopCluster(mc)
2.3 shell脚本运行
应以nohup
运行,防止网络断掉
nohup sh b.sh >out 2>err &
参考
多核运行:
1、https://www.cnblogs.com/ywliao/articles/6681781.html/
2、https://blog.csdn.net/u012252959/article/details/116201536
OPENBLAS_NUM_THREAD
1、https://blog.csdn.net/u012110870/article/details/106115577
2、https://cloud.tencent.com/developer/article/1880367文章来源:https://www.toymoban.com/news/detail-472697.html
kill nohup进程
1、https://blog.csdn.net/geol200709/article/details/91539025文章来源地址https://www.toymoban.com/news/detail-472697.html
到了这里,关于在linux服务器中对R语言中for循环设置多核运行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!