作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图使用 future.batchtools 包在 SLURM HPC 上并行化 R 文件。虽然脚本在多个节点上执行,但它只使用 1 个 CPU 而不是可用的 12 个。
到目前为止,我尝试了不同的配置(c.f. 附加代码),但没有达到预期的结果。我的 bash 文件配置如下:
#!/bin/bash
#SBATCH --nodes=2
#SBATCH --cpus-per-task=12
R CMD BATCH test.R output
# First level = cluster
# Second level = multiprocess
# https://cran.r-project.org/web/packages/future.batchtools/vignettes/future.batchtools.html
plan(list(batchtools_slurm, multiprocess))
# Parallel for loop
result <- foreach(i in 100) %dopar% {
Sys.sleep(100)
return(i)
}
最佳答案
有多种使用 Slurm 并行化 R 作业的方法。需要注意的几点:
mclapply
是一种不错的替代方案,因为原则上与 parLapply
相比,速度更快,内存效率更高。 . --array=1-[# of replicates]
多次运行。 .您可以使用 SLURM_ARRAY_TASK_ID
指定在每个作业中执行的操作。环境变量(您可以在 R 中使用 Sys.getenv("SLURM_ARRAY_TASK_ID")
捕获它)。并使用条件 if/else
基于此的声明。 parLapply
跨越计算。和其他跨多个节点。 slurmR
包(我正在处理,很快在 CRAN 上)或
rslurm
(已经在 CRAN 上)。可以看教程
here .
关于r - 如何配置批处理脚本以使用 future.batchtools (SLURM) 并行化 R 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57222482/
我试图使用 future.batchtools 包在 SLURM HPC 上并行化 R 文件。虽然脚本在多个节点上执行,但它只使用 1 个 CPU 而不是可用的 12 个。 到目前为止,我尝试了不同的
我是一名优秀的程序员,十分优秀!