【亲测免费】 Submitit 使用指南

Submitit 使用指南

【免费下载链接】submitit Python 3.8+ toolbox for submitting jobs to Slurm 【免费下载链接】submitit 项目地址: https://gitcode.com/gh_mirrors/su/submitit

1. 项目介绍

Submitit 是一个轻量级工具,用于在 Slurm 集群中提交 Python 函数进行计算。它将提交过程包装起来,提供了访问结果、日志和其他 Slurm 功能的方式。该项目支持在 Slurm 和本地环境之间无缝切换执行。Submitit 设计目标是让 Python 代码可以直接调用运行于集群上的任务,同时提供对任务状态的精细控制。

2. 项目快速启动

安装

确保你有一个有效的 pip 环境,然后可以使用以下命令安装 submitit:

pip install submitit

或者如果你想安装最新开发分支,可使用:

pip install git+https://github.com/facebookincubator/submitit@main#egg=submitit

示例

以下是一个简单的使用示例,演示如何通过 submitit 在 Slurm 集群上执行加法操作:

import submitit

def add(a, b):
    return a + b

executor = submitit.AutoExecutor(folder="log_test")
executor.update_parameters(timeout_min=1, slurm_partition="dev")

job = executor.submit(add, 5, 7)
print(f"Job ID: {job.job_id}")

output = job.result()
assert output == 12  # Check the result

这段代码首先定义了一个加法函数,然后创建一个 Executor 对象来管理 Slurm 作业。设置超时时间和分区后,我们提交了一个任务,并打印了作业的 ID。最后,我们等待任务完成并获取结果。

3. 应用案例和最佳实践

  • 脚本功能转换:如果你需要运行一个命令,你可以将其转化为 Python 函数,利用 submitit.helpers.CommandFunction
  • 错误处理:当任务失败时,submitit 会抛出异常并附带堆栈跟踪,帮助定位问题。
  • 任务重试:对于 Slurm 中被抢占的任务,submitit 可以自动重置。
  • 检查点机制:针对预占或超时的情况,可以保存状态并在恢复时从当前位置继续执行(高级特性)。
  • 多节点/任务任务:易于访问任务本地/全局排名,适用于多节点和任务的工作负载。
  • 插件系统:允许适应不同集群的默认配置。

4. 典型生态项目

虽然 submitit 主要由 Facebook 的研究人员用于其内部集群,但它可以广泛应用于任何使用 Slurm 工作流程的科研机构或企业。由于它的低级别接口,它与 Dask Distributed 等框架相比提供了更直接的作业控制。此外,Submitit 可作为其他依赖 Slurm 的复杂工作流系统的组件。


若需进一步了解 Submitit,请查阅其官方文档。如遇到问题或需要更多示例,建议查看 GitHub 仓库 或参与社区讨论。

【免费下载链接】submitit Python 3.8+ toolbox for submitting jobs to Slurm 【免费下载链接】submitit 项目地址: https://gitcode.com/gh_mirrors/su/submitit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值