使用 提交作业时sbatch,我的可执行文件的副本是否会被带到计算节点?或者它只是执行来自的文件/home/user/?有时,当我杂乱无章时,我会提交一个作业,然后更改源并重新编译以提交另一个作业。这似乎不是一个好主意,特别是当作业仍在队列中时。同时,似乎应该允许这样做,如果在调用sbatch源代码时制作了副本,则会安全得多。
我运行了一些测试,证实(毫不奇怪)一旦作业运行,重新编译源代码就没有效果。但当工作在队列中时,我不确定。测试起来很困难。
编辑:man sbatch除了说该作业“立即”提交给 Slurm 控制器之外,似乎没有提供太多见解。
该sbatch命令创建提交脚本的副本和环境快照,并将其保存在作为StateSaveLocation配置参数列出的目录中。因此提交后可以更改,但不会产生任何影响。但提交脚本中使用的文件并非如此。如果您的提交脚本启动可执行文件,则将在启动时看到可执行文件的“版本”。在程序启动之前修改程序将导致新版本运行,在运行过程中修改程序(即当程序已经从磁盘读取并保存到内存中时)将导致旧版本运行。