5

假设我想在集群上运行一个作业: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 是相同的输出?

:(

提前致谢!

4

1 回答 1

7

我假设job1.m是一个 Mathematica 作业,从 Bash 提交脚本内部运行。在这种情况下,job1.m在作业开始时读取,因此如果在提交后但在作业开始之前对其进行了修改,则将运行修改后的版本。如果在作业启动后对其进行修改,则将运行原始版本。

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

在任何情况下,为了重现性和可追溯性,最好使用FireworksBosco等工作流管理器

于 2015-09-02T19:39:52.847 回答