使用Slurm提交.m批处理作业后,我是否可以编辑我的.m文件而不更改原始提交内容?

10

假设我想在集群上运行一个作业:job1.m

Slurm处理批量作业,我正在加载Mathematica以保存输出文件job1.csv

我提交job1.m,它处于队列中。现在,我编辑job1.m以具有不同的变量和参数,并告诉它将数据保存到job1_edited.csv。然后我重新提交job1.m。

现在我有两个批处理作业在队列中。

我的输出文件会发生什么? job1.csv会是原始job1.m文件的数据吗? job1_edited.csv会是编辑后的文件的数据吗?还是job1.csv和job1_edited.csv是相同的输出?

:(

谢谢!


请注意,“batch-file”标签用于完全不同且与您的问题无关的内容。我已将该标签更改为“batch-processing”。 - Aacini
为什么不测试一下呢?使用调试队列,提交一个打印语句“原始作业文件”,然后将其更改为“修改后的作业文件”并提交。 - anon01
1个回答

12

我假设job1.m是从Bash提交脚本中运行的Mathematica作业。在这种情况下,job1.m会在作业启动时被读取,所以如果在提交但作业开始之前被修改,将运行修改后的版本。如果在作业启动后进行修改,则将运行原始版本。

如果job1.m是提交脚本本身(因此您运行sbatch job1.m),则该脚本将被复制到特定于作业的spool目录中,因此如果在作业提交后进行修改,它仍将运行原始版本。

无论如何,为了可重复性和可追溯性,最好使用工作流管理器,例如FireworksBosco.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接