我经常提交slurm作业,这些作业可能会在队列中等待一段时间。slurm脚本会引用我工作目录中的代码,就像python训练脚本一样。
在等待过程中,我希望在本地repo的不同分支之间切换,但是这样做的问题是,当slurm作业最终启动时,它将从我当前所在的分支读取代码。
我最初的想法是可以从克隆repo版本的某个临时目录中读取slurm脚本,但我认为这可能会增加额外的复杂性。
一般工作流程
git checkout dev1
sbatch run_training.sbatch
运行_训练.sbatch:
x一个一个一个一个x一个一个二个x
当作业启动时,它将读取该分支中的run_training.py
。
1条答案
按热度按时间atmip9wb1#
我最初的想法是可以从克隆repo版本的某个临时目录中读取slurm脚本,但我认为这可能会增加额外的复杂性。
根据您的想法的不同,还有其他的解决方法,例如,您不必将其指向repo的一个完整的单独克隆,您可以只克隆它需要运行的repo的子集。
如果您想要简单的方法,我建议您只使用git worktrees,它允许创建多个工作树,每个工作树检查单个本地存储库的不同分支。