#workflow #hpc #cluster #slurm #queue #command-line-tool #config-file

bin+lib row

Row 是一个命令行工具,可以帮助您管理 HPC 资源上的工作流程

6 个版本

0.3.0 2024 年 8 月 21 日
0.2.0 2024 年 6 月 18 日
0.1.3 2024 年 5 月 30 日

#47科学

Download history 95/week @ 2024-05-17 265/week @ 2024-05-24 100/week @ 2024-05-31 14/week @ 2024-06-07 109/week @ 2024-06-14 15/week @ 2024-06-21 8/week @ 2024-07-26 3/week @ 2024-08-02 65/week @ 2024-08-16

每月 76 次下载

BSD-3-Clause

360KB
8K SLoC

Row

Read the Docs Contributors License

Row 是一个命令行工具,可以帮助您管理 HPC 资源上的工作流程。在工作流程配置文件中定义 操作,这些操作适用于您的 工作空间目录。将操作 提交 到您集群的 调度器。Row 跟踪已提交到哪些目录的操作,以确保您不会提交重复的工作。一旦作业完成,后续操作将变得合格,允许您通过多次提交将整个工作流程处理完毕。

名字叫 row,就像 "row, row, row your boat"

显著特性

  • 支持任意目录和 signac 工作空间。
  • 在配置文件中定义您的 workflow。
  • 通过用户定义的 shell 命令执行操作。
  • 灵活的组定义
    • 根据它们的值选择目录。
    • 根据它们的值分割目录,或将其分割成固定大小的组。
    • 构建任何合格目录的组或要求整个匹配组作为整体提交。
  • 顺序或并行执行组。
  • 安排 CPU 和 GPU 资源。
  • 多个用户可以操作相同的 workflow。
  • 根据作业的资源和大自动确定分区。
  • 为许多国家和大学的 HPC 系统内置配置。
  • 为您的资源添加自定义集群定义。
  • Row 是 快速 的。

演示

$ row submit --action=step1 -n 1
[1/1] Submitting action 'step1' on directory dir12 and 3 more (0ms).
Row submitted job 5095791.
$ row show status
Action     Completed Submitted Eligible Waiting Remaining cost
initialize        50         0       50       0    8 CPU-hours
step1              4         4       42      50   2K CPU-hours
step2              0         0        4      96  800 GPU-hours
$ row show directories --action step1 -n 3 --value="/value"
Directory Status    Job ID        /value
dir1      completed                  116
dir10     completed                  952
dir100    completed                  139
dir11     completed                  998

dir12     submitted anvil/5095791    950
dir13     submitted anvil/5095791    107
dir14     submitted anvil/5095791    127
dir15     submitted anvil/5095791    122

dir16     eligible                   682
dir17     eligible                   816
dir18     eligible                   803
dir19     eligible                   691

资源

  • 文档:教程、命令行界面文档和配置文件规范。
  • Row 讨论板:向 row 用户社区寻求帮助。
  • signac:Python 包,用于帮助您管理工作空间。

历史

Rowsignac-flow 的精神继承者。

依赖

~6–14MB
~166K SLoC