Slurm¶
- 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]¶
返回调度程序所期望的运行配置选项。 基本上是
--help的runAPI。