英文:
Slurm job arrays with Stata
问题
我想使用Slurm作业数组并行运行一些Stata代码。
我知道可以运行100个作业,如下所示:
#!/bin/bash
#SBATCH --array=1-100
module load stata
stata my_code.do $SLURM_ARRAY_TASK_ID
现在每个代码都需要读取一个带有SLURM_ARRAY_TASK_ID
的文件。
也就是说,在my_code.do
中有一条指令:
use "my_data.dta" in `j', clear
其中j
是Slurm数组任务ID。我应该如何做这个?
英文:
I want to run some Stata code in parallel using slurm job arrays.
I know that I can run 100 jobs doing:
#!/bin/bash
#SBATCH --array=1-100
module load stata
stata my_code.do $SLURM_ARRAY_TASK_ID
Now each code will have to read a file that takes the slurm_array_task_id.
I.e. inside the my_code.do
there is an instruction that makes:
use "my_data.dta" in `j', clear
where `j' is the slurm array task id.
How can I do this?
答案1
得分: 2
你可以使用`1'
来访问传递给你的 do 文件的第一个参数。所以我认为在你的代码示例中,你可以这样写:
use "my_data.dta" in `1', clear
更多信息请查看这里。
英文:
You can access the first argument passed to your do-file with `1'
. So I think in your code example you could just put:
use "my_data.dta" in `1', clear
More info here.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论