通过Python提交SLURM工作的最佳实践

问题描述 投票:0回答:1

这算是一个一般的最佳实践问题。我有一个Python脚本,它对一些参数进行迭代,然后用这些参数调用另一个脚本(它基本上是一些简单的深度学习模型的网格搜索)。这在我的本地机器上工作得很好,但现在我需要我的unis计算机集群的资源,它使用SLURM.我在python脚本中有一些逻辑,我认为很难实现,也许在shell脚本中不合适。我也不能一次把所有的作业都扔到集群上,因为我想根据其他作业的结果(损失)跳过某些参数组合。现在我想直接从我的python脚本中提交SLURM作业,并且仍然在那里处理更复杂的逻辑。我现在的问题是,实现这样的东西最好的方式是什么,在登录节点上运行python脚本是否会有不好的方式。我应该使用子进程模块吗?Snakemake?Joblib?还是有其他更优雅的方法?

python shell slurm snakemake joblib
1个回答
0
投票

Snakemake和Joblib是有效的选择,它们将处理与Slurm集群的通信。另一种可能是 焰火. 这个东西运行起来比较麻烦,它需要一个MongoDB数据库,并且有一个需要适应的词汇,但最终它可以做非常复杂的事情。例如,你可以创建一个工作流,将作业提交到多个集群,并根据前一个集群的输出运行其他作业,并自动重新提交失败的作业,如果需要,还可以使用其他参数。

© www.soinside.com 2019 - 2024. All rights reserved.