作业配置文件说明
流程创建完成后,可基于已创建的流程运行分析作业。
在AI科学计算平台,运行分析作业的过程通过图形化的界面操作完成。在命令行工具中,该过程以配置文件的形式给出。您可以基于已获取到的模板使用命令行工具启动分析作业,运行的分析作业将同步显示到AI科学计算平台。
获取作业模板
使用ai4s get job -s命令获取启动分析作业的模板,复制并保存模板至本地,您可以保存成.yaml或.txt文件,保存为txt文件时,其内容需为yaml格式。
在本地编写模板,模板中的参数与在AI科学计算平台启动作业过程一致。模板修改好后,再使用命令行工具上传模板,启动分析作业。
job:
name: demo-job # 作业的名称,取值范围:[1,63],允许大小写字母、数字、以及特殊字符中划线(-)
description: description # 作业描述,取值范围:输入字符最大长度为255
labels: # 作业标签,取值范围[0,5],单个标签最大长度32字符,支持中文、字母、数字、空格、下划线和中划线,且不能以空格开头或者结尾。
priority: 0 # 作业的优先级,取值范围[0,9],0最低,默认数值0
timeout: 10080 # 作业执行超时时长,取值范围: [1, 144000],单位:分钟,默认数值1440
output_dir: # 作业结果存储目录,不指定则在workflow的工作目录下生产job同名子目录,指定则已指定路径为准;输出路径必须以斜杠(/)开头且不能以斜杠(/)结尾,不能包含两个以上相邻的斜杠(/),不能包含以下特殊字符:\ : ; * ? < " > | 。其中单个文件夹名称不能以中划线(-)开头,不能以英文句号(.)或斜杠(/)或空格开头或结尾
io_acc_id: '' # IO加速实例id,为空则不开启IO加速,设置相应加速包id将会开启加速,当id设置为:auto_schedule,则会自动调度加速包,当id设置为 local_disk,则开启本地盘加速。
node_labels:
- label # 计算节点标签 标签个数取值范围[0-1],单个节点标签最大长度56个字符,以大小写字母或数字开头,可以包含下划线(_)、中划线(-)、点(.)、大小写字母和数字,以大小写字母或数字结尾。
tool_id: '' # 作业依赖的组件id,取值范围[1,135],支持大小写字母和数字。目前支持两种格式,特殊id:{流程名称}::{流程版本}::{源空间名称};正常id:流程id或应用id
tool_type: 'workflow' # 作业依赖的组件类型,作业依赖的组件类型,支持填写app和workflow
tasks:
- task_name: app1-1 # 子任务实际名称,取值范围[1,32],只能字母开头,由字母、数字、中划线(-)、下划线(_)组成,以字母或数字结尾。需要和已有子任务的名称一致。
io_acc_type: '' # 子任务使用的IO加速实例类型,取值范围 ''|SFS|EVS。为空表示不使用加速;SFS表示使用io加速,EVS表示使用本地盘加速
inputs:
- name: input-dir # 子任务的输入参数信息
values: # 子任务的参数数值,根据参数类型进行合法性校验
- 'project-test-01:/test'
outputs:
- name: output-dir # 子任务的输出参数信息
values: # 子任务的参数数值,根据参数类型进行合法性校验
- 'project-test-01:/output-test/'
resources: # 子任务的资源配额
cpu: 0.1C # cpu申请使用量,取值范围[0.1-128],单位C,支持一位小数。对于应用,不填默认1C;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用
memory: 0.1G # 内存申请使用量,取值范围[0.1-3072],单位G,支持一位小数。对于应用,不填默认1G;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用
gpu_type: '' # gpu架构类型,取值范围 ' '|GPU|Snt9。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用
gpu: '0' # gpu申请使用量,取值范围[0-16],仅支持整数,Snt9有特殊约束,申请数量需要是0,1,2,4,8。对于应用,不填默认0;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用
- task_name: app1-2
io_acc_type: ''
inputs:
- name: input-dir
values:
- '${app1-1.output-dir}'
outputs:
- name: output-dir
values:
- 'project-test-01:/output-test/'
resources:
cpu: 0.1C
memory: 0.1G
gpu_type: ''
gpu: '0'