R 在LSF中提交作业数组
我有12个文件夹,都包含一个同名的R 在LSF中提交作业数组,r,terminal,jobs,lsf,R,Terminal,Jobs,Lsf,我有12个文件夹,都包含一个同名的R文件(例如file.R)。文件夹的名称为m1,m2,…,m12。为了运行每个文件,我在每个文件夹中运行bsub-n2-qlong-w12:00-R“rusage[mem=25000]”-M 25000-hl R CMD BATCH file.R。是否有办法使用bsub在LSF提交系统中将其作为作业数组运行?多谢各位 有没有办法使用bsub在LSF提交系统中将其作为作业数组运行 有。使用-J“[1-12]”运行阵列作业。该作业将运行12个实例。您需要编写一个简单
R
文件(例如file.R
)。文件夹的名称为m1
,m2
,…,m12
。为了运行每个文件,我在每个文件夹中运行bsub-n2-qlong-w12:00-R“rusage[mem=25000]”-M 25000-hl R CMD BATCH file.R
。是否有办法使用bsub
在LSF提交系统中将其作为作业数组运行?多谢各位
有没有办法使用bsub在LSF提交系统中将其作为作业数组运行
有。使用-J“[1-12]”
运行阵列作业。该作业将运行12个实例。您需要编写一个简单的脚本来正确设置CWD,然后启动R
。这样的办法应该行得通。实例编号可通过环境变量$LSB\u JOBINDEX
获得
$ cat runjob.sh
#!/bin/sh
cd m${LSB_JOBINDEX}
exec R CMD BATCH file.R
然后像这样提交你的工作
$ bsub -n 2 -q long -W 12:00 -R "rusage[mem=25000]" -M 25000 -hl -J "[1-12]" sh runjob.sh
Job <1164> is submitted to queue <long>.
$bsub-n2-q long-W 12:00-R“rusage[mem=25000]”-M 25000-hl-J“[1-12]”sh runjob.sh
作业已提交到队列。
如果每个文件夹中有两个文件,比如file.R
和poo.R
,我仍然可以通过添加另一行exec R CMD BATCH poo.R
从相同的runjob.sh
脚本运行它们吗?非常感谢。对但请删除exec
。exec将用R CMD BATCH file.R
替换当前进程映像。因此,第一个exec之后的任何命令都不会执行。通过删除exec,将创建一个新进程来运行R CMD BATCH file.R
。在您的示例中,file.R和poo.R将按顺序运行。如何并行而不是按顺序运行?您可以在单独的作业数组中运行poo.R,也可以在同一作业数组中运行它。如果使用后者,则需要某种方法将数组索引映射到poo.R或file.R