目录

Slurm

这包含 TorchX Slurm 调度程序,可以用于在 Slurm 集群上运行 TorchX 组件。

class torchx.schedulers.slurm_scheduler.SlurmScheduler(session_name: str)[source]

SlurmScheduler 是 TorchX 的一个调度接口,用于 Slurm。TorchX 假设 Slurm 命令行工具已本地安装,并且作业计费已启用。

每个应用程序定义都通过异构作业使用 sbatch 进行调度。 每个角色的每个副本都会生成一个带有其资源分配和参数的唯一 shell 脚本,然后使用 sbatch 一起启动它们。

日志被写入默认的slurm日志文件。

任何传递给它的调度器选项都会作为SBATCH参数添加到每个副本中。有关参数的信息,请参阅https://slurm.schedmd.com/sbatch.html#SECTION_OPTIONS

更多信息请参见:

$ torchx run --scheduler slurm utils.echo --msg hello
slurm://torchx_user/1234
$ torchx status slurm://torchx_user/1234
$ less slurm-1234.out
...

功能

调度程序支持

获取日志

日志可以通过默认的slurm日志文件访问,但不能通过程序化API访问。

分布式作业

✔️

取消任务

✔️

描述工作

部分支持。SlurmScheduler 将返回作业和副本状态,但不提供完整的原始应用规范。

describe(app_id: str)Optional[torchx.schedulers.api.DescribeAppResponse][source]

描述指定的应用程序。

Returns

应用程序定义描述或 None 如果应用程序不存在。

run_opts()torchx.specs.api.runopts[source]

返回调度程序所期望的运行配置选项。 基本上是--helprun API。

schedule(dryrun_info: torchx.specs.api.AppDryRunInfo[torchx.schedulers.slurm_scheduler.SlurmBatchRequest])str[source]

submit 相同,但接受一个 AppDryRunInfo。 建议实现者实现此方法而不是直接实现 submit,因为 submit 可以通过以下方式简单地实现:

dryrun_info = self.submit_dryrun(app, cfg)
return schedule(dryrun_info)

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源