GoGPT Best VPN GoSearch

OnWorks 网站图标

srun - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 srun

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 srun,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


srun - 运行并行作业

概要


[配置...] 可执行 [ARGS...]

商品描述


在 Slurm 管理的集群上运行并行作业。 如有必要,srun 将首先创建一个
运行并行作业的资源分配。

以下文档描述了各种选项对分配的影响
cpu 到作业和任务。
http://slurm.schedmd.com/cpu_management.html

配置


--加速绑定=<选项>
控制任务如何绑定到 gpu、mic 和 nic 类型的通用资源。
可以指定多个选项。 支持的选项包括:

g 将每个任务绑定到最接近分配的 CPU 的 GPU。

m 将每个任务绑定到最接近分配的 CPU 的 MIC。

n 将每个任务绑定到最接近分配的 CPU 的 NIC。

v 详细模式。 记录任务如何绑定到 GPU 和 NIC 设备。

-A, - 帐户=<帐户>
将此作业使用的资源记入指定帐户。 这 帐户 是一个
任意字符串。 作业提交后,帐户名称可能会更改
控制 命令。

--acctg-频率
定义职务会计和剖析抽样间隔。 这可以用来
覆盖 JobAcctGather频率 Slurm 的配置文件中的参数,
配置文件. 支持的格式如下:

--acctg-频率==
协调 = 指定任务采样间隔
jobacct_gather 插件或分析类型的采样间隔
通过 acct_gather_profile 插件。 多个,逗号分隔
= 可以指定间隔。 支持的数据类型
如下面所述:

任务=
协调 是以秒为单位的任务采样间隔
jobacct_gather 插件和用于任务分析的
acct_gather_profile 插件。 注意:此频率用于
监控内存使用情况。 如果内存限制被强制执行最高
用户可以请求的频率是在
slurm.conf 文件。 他们也无法将其关闭 (=0)。

能量=
协调 是以秒为单位的能量采样间隔
使用 acct_gather_energy 插件进行分析

网络=
协调 是以秒为单位的采样间隔
使用 acct_gather_infiniband 插件进行 infiniband 分析。

文件系统=
协调 是以秒为单位的采样间隔
使用 acct_gather_filesystem 插件进行文件系统分析。

任务采样间隔的默认值
是 30。所有其他间隔的默认值是 0。间隔 0 禁用
指定类型的采样。 如果任务采样间隔为0,则记账
信息仅在工作终止时收集(减少 Slurm 对
工作)。
较小的(非零)值对工作绩效的影响更大,但值
30 秒的时间对于小于
10,000 个任务。

-B --额外节点信息=<插座[:颜色[:线程]]>
请求特定的资源分配,并提供有关数量和类型的详细信息
集群内的计算资源:套接字数(或物理
处理器)每个节点、每个插槽的内核数和每个内核的线程数。 总金额
请求的资源是所有条款的产物。 指定的每个值
被认为是最小值。 星号 (*) 可用作占位符,表示
将利用该类型的所有可用资源。 与节点一样,
如果需要,还可以在单​​独的选项中指定各个级别:
--每个节点的套接字数=<插座>
--每个插槽的核心数=<颜色>
--每核线程数=<线程>
如果启用了任务/关联插件,则以这种方式指定分配
还设置了默认值 --cpu_绑定 选项 线程 如果 -B 选项指定一个
线程数,否则可以选择 颜色 如果指定了核心数,否则
一个选项 插座. 如果 SelectType 被配置为 select/cons_res,它必须有
CR_Core、CR_Core_Memory、CR_Socket 或 CR_Socket_Memory 的参数
被尊重的选择。 BlueGene 系统不支持此选项
(配置了select/bluegene插件)。 如果未指定,则 scontrol 显示作业
将显示“ReqS:C:T=*:*:*”。

--bb=<规格>
突发缓冲区规范。 规范的形式取决于系统。
另见 --bbf.

--bbf=<FILE_NAME>
包含突发缓冲区规范的文件路径。 规格书的形式
是系统依赖的。 另见 --bb.

--广播[=目标路径>]
将可执行文件复制到分配的计算节点。 如果指定了文件名,则复制
可执行文件到指定的目标文件路径。 如果没有指定路径,
将文件复制到名为“slurm_bcast_”的文件中. “在当前
在职的。 例如,“srun --bcast=/tmp/mine -N3 a.out”将复制文件
“a.out”从当前目录到三个文件中的“/tmp/mine”
分配的计算节点并执行该文件。

- 开始=<>
将此作业的启动推迟到指定的时间。 它接受时间的
申请 时:分:秒 在一天中的特定时间运行作业(秒是可选的)。 (如果
时间已经过去,则假定为第二天。)您也可以指定
午夜, 中午, fika (下午 3 点)或 下午茶时间 (下午 4 点),你可以有一个时间
AM or PM 适合早上或晚上跑步。 你也可以说
通过指定表单的日期,作业将在哪一天运行 年月日 or 月/日/年
YYYY-MM-DD. 使用以下格式组合日期和时间
YYYY-MM-DD[THH:MM[:SS]]. 你也可以给时间像 现在 + 时间单位,在 Moku:Pro 上
时间单位可以是 (默认), 分钟, 个小时里, 你可以
告诉 Slurm 今天用关键字运行作业 今晚 明天开始工作
用关键字 明天. 该值可能会在作业提交后使用
控制 命令。 例如:
--开始=16:00
--开始=现在+1小时
--begin=now+60(默认秒)
--begin=2010-01-20T12:34:00

关于日期/时间规格的说明:
- 尽管 HH:MM:SS 时间规范的“秒”字段被允许
代码,注意 Slurm 调度器的轮询时间不够精确
保证在准确的第二秒调度工作。 该工作将有资格
在指定时间之后的下一次投票开始。 确切的轮询间隔
取决于 Slurm 调度程序(例如,默认 sched/builtin 为 60 秒)。
- 如果未指定时间 (HH:MM:SS),则默认为 (00:00:00)。
- 如果指定的日期没有年份(例如,MM/DD),则当前年份为
假设,除非 MM/DD 和 HH:MM:SS 的组合已经通过
年,在这种情况下使用下一年。

--检查点=<>
指定创建作业步骤检查点的间隔。 默认情况下,
作业步骤将不会创建检查点。 可接受的时间格式包括
"分钟", "分钟:秒", "小时:分钟:秒", "天-小时",
“天小时:分钟”和“天小时:分钟:秒”。

--检查点目录=<目录>
指定作业或作业步骤的检查点所在的目录
编写(仅由 checkpoint/blcr 和 checkpoint/xlch 插件使用)。 这
默认值为当前工作目录。 检查点文件将属于
形式 ” .ckpt” 用于工作和“ . .ckpt”用于工作步骤。

- 评论=<绳子>
随意评论。

-C, - 约束=<名单>
节点可以有 功能 由 Slurm 管理员分配给他们。 用户可以
指定其中哪些 功能 他们的工作需要使用约束
选项。 只有具有与作业约束匹配的特征的节点才会用于
满足要求。 可以使用 AND、OR、匹配来指定多个约束
OR、资源计数等。支持的约束选项包括:

集成的 姓名
仅使用具有指定特征的节点。 例如,
--constraint="英特尔"

Node 计数
请求可以通过以下方式指定某些功能所需的节点数
在功能名称后附加星号和计数。 例如
"--节点=16 --constraint=图形*4 ...“ 表示该工作需要 16
节点,并且这些节点中至少有四个必须具有该功能
“图形。”

AND 如果只使用具有所有指定特征的节点。 &符号是
用于 AND 运算符。 例如, --constraint="intel&gpu"

OR 如果只使用至少具有指定特征之一的节点。 这
竖线用于 OR 运算符。 例如,
--constraint="英特尔|amd"

匹配 OR
如果一组可能的选项中只有一个应该用于所有分配的
节点,然后使用 OR 运算符并将选项括在正方形内
括号。 例如: ”--constraint=[rack1|rack2|rack3|rack4]" 可能是
用于指定所有节点必须分配在单个机架上
集群,但可以使用这四个机架中的任何一个。

计数
可以使用 AND 指定多个资源的特定计数
运算符并将选项括在方括号内。 例如:
"--constraint=[机架1*2&机架2*4]" 可能用于指定两个节点
必须从具有“rack1”特征的节点分配,并且必须有四个节点
从具有特征“rack2”的节点分配。

警告: 当从salloc 或sbatch 中执行srun 时,
约束值只能包含一个特征名称。 其他都没有
操作符当前支持作业步骤。

--连续
如果设置,则分配的节点必须形成连续的集合。 没有获得荣誉
拓扑/树 or 拓扑/3d_torus 插件,两者都可以修改节点
订购。 不因工作步骤的分配而受到尊重。

--每个插槽的核心数=<颜色>
将节点选择限制为每个节点至少具有指定核数的节点
插座。 请参阅下的其他信息 -B 当任务/亲和力插件时上面的选项
启用。

--cpu_绑定=[{安静,冗长},]类型
将任务绑定到 CPU。 仅在 task/affinity 或 task/cgroup 插件是
启用。 配置参数 任务插件参数 可能会覆盖这些选项。
例如,如果 任务插件参数 配置为绑定到核心,您的工作将不会
能够将任务绑定到套接字。 注意:要让 Slurm 始终报告
为 shell 中执行的所有命令选择 CPU 绑定,您可以启用详细
通过将 SLURM_CPU_BIND 环境变量值设置为“verbose”来模式。

以下信息环境变量在以下情况下设置 --cpu_绑定
使用:
SLURM_CPU_BIND_VERBOSE
SLURM_CPU_BIND_TYPE
SLURM_CPU_BIND_LIST

查看 环境 变数 部分更详细的描述
单个 SLURM_CPU_BIND 变量。 这些变量仅在以下情况下可用
任务/关联插件已配置。

使用时 --每个任务的CPU数 要运行多线程任务,请注意 CPU 绑定是
从进程的父进程继承。 这意味着多线程任务
应该指定或清除 CPU 绑定本身以避免所有线程
多线程任务使用与父任务相同的掩码/CPU。 或者,脂肪
掩码(指定多个允许的 CPU 的掩码)可用于任务
以便为多线程任务提供多个 CPU。

默认情况下,作业步骤可以访问分配给作业的每个 CPU。 确保
不同的 CPU 分配给每个作业步骤,使用 - 独家的 选项。

请注意,作业步骤可以在每个节点上分配不同数量的 CPU 或
分配的 CPU 未从位置 XNUMX 开始。 因此,其中一种选择
建议自动生成任务绑定。 明确指定的掩码
或绑定仅在作业步骤已分配给每个可用的
节点上的 CPU。

将任务绑定到 NUMA 位置域意味着将任务绑定到 CPU 集
属于 NUMA 位置域或“NUMA 节点”。 如果 NUMA 位置域
选项用于不支持 NUMA 的系统,那么每个套接字都被视为一个
位置域。

Auto 捆绑
仅在启用任务/关联时适用。 如果作业步骤分配
包括具有数量等于的套接字、内核或线程的分配
任务数乘以 cpus-per-task,则任务默认为
绑定到适当的资源(自动绑定)。 禁用此模式
通过显式设置“--cpu_bind=none”来操作。 用
TaskPluginParam=autobind=[threads|cores|sockets] 设置默认cpu
绑定以防“自动绑定”找不到匹配项。

支持的选项包括:

安静的]
任务运行前静默绑定(默认)

v[详细]
在任务运行之前详细报告绑定

没有任何] 不要将任务绑定到 CPU(除非应用了自动绑定,否则为默认值)

排名 按任务等级自动绑定。 每个任务中编号最低的任务
节点绑定到套接字(或核心或线程)零等。不支持
除非整个节点都分配给作业。

map_cpu:
通过将 CPU ID 映射到指定的任务来绑定,其中是
, ,... . 为节点指定映射
并且相同的映射应用于每个节点上的任务(即
每个节点上的最低任务 ID 映射到指定的第一个 CPU ID
在列表中等)。 CPU ID 被解释为十进制值,除非
它们以“0x”开头,在这种情况下它们被解释为
十六进制值。 除非整个节点都被支持,否则不支持
分配给工作。

mask_cpu:
通过在指定的任务上设置 CPU 掩码来绑定是
, ,... . 映射是为一个节点指定的,并且
相同的映射应用于每个节点上的任务(即
每个节点上的最低任务 ID 映射到指定的第一个掩码
清单等)。 CPU掩码是 时刻 解释为十六进制
值,但可以以可选的“0x”开头。 不支持
除非整个节点都分配给作业。

等级_ldom
按等级绑定到 NUMA 位置域。 不支持,除非
整个节点都分配给作业。

map_ldom:
通过将 NUMA 位置域 ID 映射到指定的任务来绑定
是, ,... . 位置域 ID 是
解释为十进制值,除非它们以“0x”开头
在这种情况下,它们被解释为十六进制值。 不支持
除非整个节点都分配给作业。

mask_ldom:
通过在指定的任务上设置 NUMA 位置域掩码来绑定
在哪里是, ,... . NUMA 位置域
面具是 时刻 解释为十六进制值,但可以
前面有一个可选的“0x”。 不支持,除非整个节点
分配给作业。

插座
自动生成掩码绑定任务到套接字。 只有 CPU
在已分配给作业的套接字上将被使用。 如果
任务数与分配的套接字数不同
可能导致次优结合。

颜色 自动生成掩码绑定任务到核心。 如果数
任务数与分配的内核数不同,这可能导致
在次优结合中。

线程
自动生成掩码绑定任务到线程。 如果数
任务数不同于这可能导致的分配线程数
在次优结合中。

领地 自动生成掩码绑定任务到 NUMA 位置域。
如果任务数量与分配的位置数量不同
域,这可能导致次优绑定。

自动生成掩码绑定任务到板子。 如果数
任务数量与分配的板数量不同,这可能导致
在次优结合中。 task/cgroup 支持此选项
仅插件。

帮助 显示 cpu_bind 的帮助信息

--cpu-频率 =<p1[-p2[:p3]]>

请求此 srun 命令启动的作业步骤在某些请求时运行
频率(如果可能)在为计算节点上的步骤选择的 CPU 上。

p1 可以是 [#### | 低 | 中 | 高| highm1] 将设置频率
scale_speed 为相应的值,并将频率 scaling_governor 设置为
用户空间。 有关值的定义,请参见下文。

p1 可以[保守| 点播 | 性能 | PowerSave] 这将设置
scale_governor 到相应的值。 州长必须在列表集中
通过 slurm.conf 选项 CpuFreqGovernors。

在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 p2 存在时,p1 将是最小缩放频率,p2 将是
最大缩放频率。

p2 可以是 [#### | 中 | 高| highm1] p2 必须大于 p1。

p3 可以[保守| 点播 | 性能 | 省电 | 用户空间] 其中
将调速器设置为相应的值。

If p3 是用户空间,频率 scaling_speed 将由功率或能量设置
感知调度策略到 p1 和 p2 之间的值,让作业在
网站的权力目标。 如果 p1 高于一个频率,作业可能会延迟
允许作业按照目标运行。

如果当前频率 < min,它将被设置为 min。 同样,如果当前
频率 > 最大值,它将被设置为最大值。

目前可接受的值包括:

#### 千赫兹频率

最低可用频率

最高可用频率

高M1 (高减一)将选择下一个最高的可用频率

Medium 尝试将频率设置在可用范围的中间

保守的 尝试使用保守的 CPU 调控器

一经请求 尝试使用 OnDemand CPU 调控器(默认值)

性能 尝试使用性能 CPU 调控器

节能 尝试使用 PowerSave CPU 调控器

用户空间 尝试使用 UserSpace CPU 调控器

作业中设置了以下信息性环境变量
什么时候走 --cpu-频率 选项被请求。
SLURM_CPU_FREQ_REQ

此环境变量还可用于为 CPU 提供值
如果在发出“srun”命令时设置了频率请求。 这 --cpu-频率
在命令行上将覆盖环境变量值。 表格上的
环境变量与命令行相同。 见 环境
变数 SLURM_CPU_FREQ_REQ 变量的描述部分。

注意: 此参数被视为请求,而不是要求。 如果作业步骤的
节点不支持设置CPU频率,或者请求的值在外
合法频率的界限,记录错误,但作业步骤是
允许继续。

注意:仅为作业步骤的 CPU 设置频率意味着
任务仅限于这些 CPU。 如果任务限制(即
TaskPlugin=task/affinity 或 TaskPlugin=task/cgroup 与“ConstrainCores”
option) 未配置,则忽略此参数。

注意: 步骤完成后,每个选定 CPU 的频率和调速器为
重置为配置 处理器频率定义 值与 OnDemand CPU 的默认值
州长。

注意: 提交作业时 --cpu-频率 将 linuxproc 作为选项
ProctrackType 可能导致作业在 Accounting 能够轮询之前运行得太快
用于工作信息。 因此,并非所有的会计信息都会出现。

-c, --每个任务的CPU数=<电脑系统>
要求 电脑系统 被分配 工艺. 如果工作是
多线程,每个任务需要一个以上的 CPU 以获得最佳性能。 这
默认为每个进程一个 CPU。 如果 -c 没有指定 -n,因为许多任务将
尽可能按节点分配,同时满足 -c 限制。 例如
在每个节点有 8 个 CPU 的集群上,每个任务有 4 个节点和 3 个 CPU 的作业请求
可以为每个节点分配 3 或 6 个 CPU(每个节点 1 或 2 个任务),具体取决于
其他作业的资源消耗。 这样的作业可能无法执行超过
共4个任务。 此选项也可用于生成任务而不分配
运行多个作业步骤时从作业分配到作业步骤的资源
- 独家的 选项。

警告: 有不同的配置和选项被工作和
可能导致此选项不一致的作业步骤请求。 例如
-c2 --每核线程数=1 PROG 可以为作业分配两个核心,但如果每个核心
其中的核心包含两个线程,作业分配将包括四个 CPU。 这
然后,作业步骤分配将为每个 CPU 启动两个线程,总共有两个任务。

警告: 当从salloc 或sbatch 中执行srun 时,有
当 -c 具有时可能导致分配不一致的配置和选项
在 Salloc 或 sbatch 上大于 -c 的值。

-d, --依赖=<依赖列表>
推迟此作业的开始,直到满足指定的依赖项
完全的。 此选项不适用于作业步骤(在一个
现有的 Salloc 或 sbatch 分配)仅适用于作业分配。依赖列表>
是形式类型:job_id[:job_id][,type:job_id[:job_id]]>或
<类型:job_id[:job_id][?type:job_id[:job_id]]>. 必须满足所有依赖项
如果使用“,”分隔符。 如果“?”可以满足任何依赖关系分隔器
用来。 许多作业可以共享相同的依赖项,这些作业甚至可能属于
不同的用户。 使用 scontrol 提交作业后可能会更改该值
命令。 一旦作业依赖由于前一个的终止状态而失败
作业,从属作业将永远不会运行,即使前一个作业重新排队并且
在后续执行中具有不同的终止状态。

之后:job_id[:jobid...]
该作业可以在指定作业开始执行后开始执行。

事后:job_id [:jobid ...]
该作业可以在指定作业终止后开始执行。

afternotok:job_id[:jobid...]
此作业可以在指定作业终止后开始执行
某些失败状态(非零退出代码、节点故障、超时等)。

afterok:job_id[:jobid...]
指定作业成功后即可开始执行此作业
执行(运行到完成,退出代码为零)。

展开:job_id
分配给此作业的资源应用于扩展指定的作业。
要扩展的工作必须共享相同的 QOS(服务质量)和
划分。 分区中的资源调度也不行
支持的。

独生子
此作业可以在任何先前启动的作业共享之后开始执行
相同的作业名称和用户已终止。

-D, --chdir=<>
让远程进程执行 chdir 以 在开始执行之前。 这
默认是 chdir 到当前工作目录 过程。 路径
可以指定为命令所在目录的完整路径或相对路径
被执行。

-e, - 错误=<模式>
指定如何重定向 stderr。 默认在交互模式下,
如果指定了标准输出,则将标准错误重定向到与标准输出相同的文件。 这 - 错误
提供选项以允许将 stdout 和 stderr 重定向到不同的
地点。 看 IO 重定向 更多选项如下。 如果指定的文件
已经存在,它将被覆盖。

-E, --保留环境
传递环境变量 SLURM_NNODES 和 SLURM_NTASKS 的当前值
通过 可执行,而不是根据命令行参数计算它们。

- 结语=<可执行>
会跑 可执行 在作业步骤完成后。 命令行
论据 可执行 将是作业步骤的命令和参数。 如果
可执行 为“无”,则不会运行 srun 结语。 此参数覆盖
slurm.conf 中的 SrunEpilog 参数。 该参数完全独立于
slurm.conf 中的 Epilog 参数。

--exclusive[=用户]
对于作业和作业步骤分配,此选项有两个略有不同的含义。
用于发起作业时,作业分配不能与其他节点共享节点
正在运行的作业(或只是其他具有“=user”选项的用户)。 默认的
共享/独占行为取决于系统配置和分区的
共享 选项优先于作业的选项。

该选项也可用于在一个任务中启动多个作业步骤时
现有资源分配,您希望单独的处理器专用于
每个工作步骤。 如果没有足够的处理器来启动作业步骤,
它会被推迟。 这可以被认为是为资源提供了一种机制
在其分配范围内管理工作。

CPU 的独占分配仅适用于显式调用的作业步骤
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 - 独家的 选项。 例如,一个作业可能会被分配一个有四个节点的节点
CPU 和在分配的节点上调用的远程 shell。 如果没有调用该 shell
- 独家的 选项,那么它可能会创建一个包含四个任务的工作步骤,使用
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 - 独家的 选项并且不与远程 shell 的资源冲突
分配。 使用 - 独家的 调用每个工作步骤以确保不同的选项
每个步骤的资源。

请注意,分配给作业的所有 CPU 都可用于每个作业步骤,除非
- 独家的 使用选项并配置任务关联。 由于资源
管理由处理器提供, --ntasks 必须指定选项,但
不应指定以下选项 - 相对的, - 分配=随意.
参见 联络一位教师

- 出口=<环境 变量 | 没有>
确定哪些环境变量被传播到启动的应用程序。
多个环境变量名称应以逗号分隔。 环境
可以指定变量名来传播这些变量的当前值
(例如“--export=EDITOR”)或者可以导出变量的特定值
(例如“--export=EDITOR=/bin/vi”)除了环境变量
否则将被设置。 默认情况下,所有环境变量都会被传播。

--gid=<>
If 以 root 身份运行,并且 --gid 使用选项,提交作业 's
组访问权限。 可以是组名或数字组 ID。

--gres=<名单>
指定一个逗号分隔的通用消耗资源列表。 的格式
列表中的每个条目都是“name[[:type]:count]”。 这个名字是
消耗性资源。 计数是具有默认值的那些资源的数量
值为 1。指定的资源将分配给每个节点上的作业。
可用的通用消耗资源可由系统配置
行政人员。 将打印可用的通用消耗性资源列表
如果选项参数为“help”,则该命令将退出。 使用示例
包括“--gres=gpu:2,mic=1”、“--gres=gpu:kepler:2”和“--gres=help”。 注意:通过
默认情况下,作业步骤会分配所有已分配的通用资源
到工作。 更改行为,以便为每个作业步骤分配没有通用的
资源,明确设置 --gres 的值以指定每个资源的零计数
通用资源或设置“--gres=none”或设置 SLURM_STEP_GRES 环境
变量为“无”。

-H, - 抓住
指定要以挂起状态提交的作业(优先级为零)。 一份工作
现在可以使用 scontrol 释放以重置其优先级(例如“控制 释放
“)。

-h, - 帮帮我
显示帮助信息并退出。

- 暗示=<类型>
根据应用提示绑定任务。

计算边界
选择计算绑定应用程序的设置:使用每个内核中的所有内核
套接字,每核一个线程。

内存绑定
为内存绑定应用程序选择设置:每个应用程序仅使用一个内核
套接字,每核一个线程。

[无]多线程
[不要] 使用具有核心多线程的额外线程,这可以受益
通信密集型应用。 仅支持任务/亲和力
插件。

帮助 显示此帮助消息

-I, - 即时[=>]
如果资源在指定的时间段内不可用,则退出。 如果不
给出参数,资源必须立即可用于请求
成功。 默认情况下, - 即时 关闭,命令将阻塞直到
资源变得可用。 由于此选项的参数是可选的,为了正确
解析单字母选项必须紧跟在值和
不包括它们之间的空格。 例如“-I60”而不是“-I 60”。

-i, - 输入=<模式>
指定标准输入如何重定向。 默认情况下, 重定向标准输入
终端所有任务。 看 IO 重定向 更多选项如下。 对于 OS X,
poll() 函数不支持 stdin,因此无法从终端输入。

-J, --工作名称=<职位名称>
指定作业的名称。 指定的名称将与作业 ID 一起出现
查询系统上正在运行的作业时的编号。 默认是提供的
可执行 程序名称。 注意:此信息可能会写入
slurm_jobacct.log 文件。 此文件以空格分隔,因此如果在
职位名称 命名它会导致正确显示内容的问题
slurm_jobacct.log 文件时 命令被使用。

--求职=<作业编号>
在具有作业 ID 的已分配作业下启动作业步骤 id。 使用这个
选项会导致 表现得与 SLURM_JOB_ID 环境完全一样
变量被设置。

-K, --错误退出时杀死[=0|1]
如果任何任务以非零退出退出,则控制是否终止作业
代码。 如果未指定此选项,则默认操作将基于
Slurm 的配置参数 错误退出时杀死. 如果指定了这个选项,它
将优先 错误退出时杀死. 零的选项参数不会
终止工作。 非零参数或无参数将终止作业。
注意:此选项优先于 -W, - 等待 终止工作的选项
如果任务以非零退出代码退出。 由于此选项的
参数是可选的,为了正确解析,必须遵循单字母选项
立即使用该值,并且它们之间不包含空格。 例如“-K1”
而不是“-K 1”。

-k, --不杀
如果其中一个节点已被分配,则不要自动终止作业
失败。 此选项仅在作业分配中识别,不适用于提交
个别工作步骤。 该工作将承担所有责任
容错。 使用此选项启动的任务不会被视为终止
(例如 -K, --错误退出时杀死-W, - 等待 选项不会影响
作业步骤)。 活动作业步骤(MPI 作业)可能会遇到致命错误,但
如果指定了此选项,则可能会运行后续作业步骤。 默认操作是
在节点故障时终止作业。

--启动-cmd
打印外部启动命令,而不是通过 Slurm 正常运行作业。 这个
选项仅在使用除 发射/slurm 插件。

--启动器选项=<选项>
外部启动器的选项,如果使用的不是 发射/slurm
插件。

-l, - 标签
将任务编号添加到 stdout/err 行。 这 - 标签 选项将在前面加上行
带有远程任务 ID 的输出。

-L, --许可证=<执照>
许可证规范(或在所有节点上可用的其他资源)
cluster) 必须分配给该作业。 许可证名称后可以跟
冒号和计数(默认计数为一)。 多个许可证名称应为逗号
分隔(例如“--licenses=foo:4,bar”)。

-m, - 分配=
*|阻止|循环|随意|平面= [:*|阻止|循环|循环[:*|阻止|
循环|循环]][,类型|无包装]

为远程进程指定备用分发方法。 此选项控制
将任务分配到已分配资源的节点,以及
将这些资源分配给用于绑定的任务(任务关联)。 首先
分配方法(在第一个“:”之前)控制任务分配到
节点。 第二种分配方法(在第一个“:”之后)控制
跨套接字分配分配的 CPU 以绑定到任务。 第三
分配方法(在第二个“:”之后)控制分配的分配
跨内核的 CPU 用于绑定到任务。 第二和第三分布适用
仅当启用任务关联时。 仅当
任务/cgroup 插件已配置。 每种分布类型的默认值为
由 * 指定。

请注意,对于 select/cons_res,每个套接字上分配的 CPU 数量和
节点可能不同。 参考 http://slurm.schedmd.com/mc_support.html 更多
有关资源分配、任务分配到节点以及绑定的信息
CPU 的任务。
第一种分配方式(跨节点分配任务):

* 使用默认方法将任务分发到节点(块)。

阻止 块分配方法将任务分配到一个节点,使得
连续的任务共享一个节点。 例如,考虑分配三个
每个节点有两个 CPU。 一个四任务块分配请求将
将这些任务分配给第一个和第二个任务的节点
节点,任务三在第二个节点上,任务四在第三个节点上。 堵塞
如果任务数量超过
分配的节点数。

循环 循环分配方法将任务分配到一个节点,使得
连续的任务分布在连续的节点上(以循环方式
时尚)。 例如,考虑分配三个节点,每个节点有两个
处理器。 四任务循环分发请求会将这些任务分发给
第一个节点上有任务一和四的节点,第二个节点上有任务二
节点,第三个节点上的任务三。 请注意,当 SelectType 为
select/cons_res,可能不会在每个节点上分配相同数量的 CPU。
任务分配将在所有 CPU 尚未分配的节点之间循环分配
被分配到任务。 循环分布是默认行为,如果
任务数不大于分配的节点数。

平面 任务分布在指定大小的块中。 选项
包括一个代表任务块大小的数字。 这是继
通过块内任务分配方案的可选规范
任务之间和任务块之间。 分配的任务数
到每个节点与循环分配相同,但 taskids
分配给每个节点取决于平面大小。 欲知更多详情(包括
示例和图表),请参阅
http://slurm.schedmd.com/mc_support.html

http://slurm.schedmd.com/dist_plane.html

随意
分配的任意方法将按顺序分配进程
在由环境变量 SLURM_HOSTFILE 指定的文件中列出。 如果
此变量已列出,它将覆盖指定的任何其他方法。 如果
未设置该方法将默认为阻止。 主机文件里面必须包含
至少请求的主机数量,每行或逗号一个
分开了。 如果指定任务计数 (-n, --ntasks=<>),你的任务
将按照文件的顺序排列在节点上。
注意: 作业分配上的任意分配选项仅控制
要分配给作业的节点,而不是这些节点上的 CPU 分配
节点。 此选项主要用于控制作业步骤的任务布局
srun 命令的现有作业分配。

第二种分配方式(跨socket分配CPU进行绑定):

* 使用默认方法在套接字之间分配 CPU(循环)。

阻止 块分配方法将连续分配分配的 CPU
从同一个套接字绑定到任务,在使用下一个连续
插座。

循环 循环分配方法将分配分配的 CPU 以绑定到
一个给定的任务连续来自同一个套接字,然后从下一个
下一个任务的连续套接字,以循环方式跨越
插座。

循环
fcycle 分配方法将分配分配的 CPU 用于绑定
以循环方式从连续套接字中执行任务
插座。

第三种分配方式(跨内核分配CPU进行绑定):

* 使用默认方法跨内核分配 CPU(继承自
第二种分配方法)。

阻止 块分配方法将连续分配分配的 CPU
从同一个核心绑定到任务,在使用下一个连续
核心。

循环 循环分配方法将分配分配的 CPU 以绑定到
一个给定的任务连续来自同一个核心,从下一个连续的
核心用于下一个任务,以循环方式跨核心。

循环
fcycle 分配方法将分配分配的 CPU 用于绑定
以循环方式跨内核处理来自连续内核的任务。

节点上任务分配的可选控制:

类型 而不是将作业步骤的任务均匀地分布在它的
分配的节点,将它们尽可能紧密地打包在节点上。

无包装 与其在节点上尽可能紧密地打包作业步骤的任务,
均匀分布它们。 此用户选项将取代
SelectTypeParameters CR_Pack_Nodes 配置参数。

--邮件类型=<类型>
当某些事件类型发生时,通过电子邮件通知用户。 有效的 类型 值为 NONE,
BEGIN、END、FAIL、REQUEUE、ALL(相当于 BEGIN、END、FAIL、REQUEUE 和
STAGE_OUT), STAGE_OUT (burst buffer stage out 完成), TIME_LIMIT, TIME_LIMIT_90
(达到时间限制的 90%),TIME_LIMIT_80(达到时间限制的 80%)
限制)和 TIME_LIMIT_50(达到时间限制的 50%)。 多种的 类型 价值观
可以在逗号分隔的列表中指定。 指示要通知的用户
- --邮件用户.

--邮件用户=<用户>
用户接收由定义的状态更改的电子邮件通知 --邮件类型。 该
默认值为提交用户。

--内存=<MB>
以兆字节为单位指定每个节点所需的实际内存。 默认值为
定义内存节点 最大值是 最大内存每节点. 如果配置,两者
可以使用参数查看 控制 显示 配置 命令。 这个参数
如果将整个节点分配给作业,通常会使用
(选择类型=选择/线性)。 为作业步骤指定零内存限制将
将作业步骤限制为分配给作业的内存量,但不删除
任何作业的内存分配可用于其他作业步骤。 还
请点击 --每个CPU的内存. --内存--每个CPU的内存 是互斥的。 注:记忆
尺寸规格被视为一种特殊情况,并授予作业访问所有
每个节点上的内存。 注意:内存限制的执行目前依赖于
任务/cgroup 插件或启用记帐,对内存使用进行采样
定期(数据不需要存储,只需收集)。 在这两种情况下内存使用
基于作业的常驻集大小 (RSS)。 一个任务可能会超出内存限制
直到下一个定期会计样本。

--每个CPU的内存=<MB>
每个分配的 CPU 所需的最小内存(以兆字节为单位)。 默认值为
每个 CPU 的 DefMem 最大值是 最大内存每CPU (见下面的例外)。 如果
配置,这两个参数都可以使用 控制 显示 配置 命令。
请注意,如果作业的 --每个CPU的内存 值超过配置 最大内存每CPU,
那么用户的限制将被视为每个任务的内存限制; --每个CPU的内存
将减少到不大于 最大内存每CPU; --每个任务的CPU数 将被设置
和价值 --每个任务的CPU数 乘以新 --每个CPU的内存 价值将
等于原来的 --每个CPU的内存 用户指定的值。 这个参数会
如果将单个处理器分配给作业,通常会使用
(选择类型=选择/cons_res)。 如果资源由内核、套接字或
全节点; 分配给作业的 CPU 数量可能高于任务
计数和值 --每个CPU的内存 应作相应调整。 指定一个
作业步骤的内存限制为零将限制作业步骤的数量
分配给作业的内存,但不会从中删除作业的任何内存分配
可用于其他作业步骤。 另见 --内存. --内存--每个CPU的内存 旨在
互相排斥。

--mem_bind=[{安静,冗长},]类型
将任务绑定到内存。 仅在启用任务/关联插件并且
NUMA 记忆功能可用。 备注 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 分辨率 of 中央处理器 记忆
捆绑 五月 不同 on 一些 架构。 比如可以进行CPU绑定
在处理器内的内核级别,同时将执行内存绑定
在节点级别,“节点”的定义可能因系统而异
系统。 这个 使用 of 任何 类型 other “没有” or “当地的” is 而不去 建议。 If
你想要更好的控制,尝试使用选项运行一个简单的测试代码
"--cpu_bind=verbose,none --mem_bind=verbose,none" 确定具体
组态。

注意:要让 Slurm 始终报告所有命令的选定内存绑定
在 shell 中执行,您可以通过设置 SLURM_MEM_BIND 来启用详细模式
环境变量值到“详细”。

以下信息环境变量在以下情况下设置 --mem_bind
使用:

SLURM_MEM_BIND_VERBOSE
SLURM_MEM_BIND_TYPE
SLURM_MEM_BIND_LIST

查看 环境 变数 部分更详细的描述
单个 SLURM_MEM_BIND* 变量。

支持的选项包括:

安静的]
在任务运行之前安静地绑定(默认)

v[详细]
在任务运行之前详细报告绑定

没有任何] 不要将任务绑定到内存(默认)

排名 按任务等级绑定(不推荐)

本地 使用正在使用的处理器的本地内存

地图内存:
通过将节点的内存映射到指定的任务来绑定,其中是
, ,... . CPU ID 被解释为十进制值
除非它们前面有“0x”,在这种情况下,它们被解释为
十六进制值(不推荐)

掩码内存:
通过在指定的任务上设置内存掩码来绑定是
, ,... . 记忆掩码是 时刻 解释为
十六进制值。 请注意,如果掩码必须以“0x”开头
不要以 [0-9] 开头,因此它们被 srun 视为数值。

帮助 显示此帮助消息

--mincpus=<n>
指定每个节点的最小逻辑 CPU/处理器数量。

--msg-超时=<>
修改作业启动消息超时。 默认值为 消息超时 ,在
Slurm 配置文件 slurm.conf。 对此的更改通常不会
推荐,但可能有助于诊断问题。

--mpi=<mpi_类型>
确定要使用的 MPI 类型。 可能导致独特的启动程序。

名单 列出可供选择的可用 mpi 类型。

每个节点启动一个“lamd”进程并建立必要的环境
LAM/MPI 的变量。

mpich1_shmem
每个节点启动一个进程并建立必要的环境
mpich1 共享内存模型的变量。 这也适用于 mvapic 构建
用于共享内存。

mpichgm
与 Myrinet 一起使用。

视频
与 Infiniband 一起使用。

打开mpi
用于 OpenMPI。

PMI2 启用 PMI2 支持。 Slurm 中的 PMI2 支持仅在 MPI
实现支持它,换句话说,如果 MPI 具有 PMI2 接口
实施的。 --mpi=pmi2 将加载库 lib/slurm/mpi_pmi2.so
它提供服务器端功能,但客户端必须
实现 PMI2_Init() 和其他接口调用。

没有 没有特殊的 MPI 处理。 这是默认设置,可与许多其他
MPI 版本。

--多程序
为每个任务运行具有不同程序和不同参数的作业。 在这
case,指定的可执行程序实际上是一个指定的配置文件
每个任务的可执行文件和参数。 看 日语课程选择 配置
有关配置文件内容的详细信息,请参见下文。

-N, --节点=<小节点[-最大节点数]>
要求至少 小节点 节点被分配给这个作业。 最大节点
计数也可以指定 最大节点数. 如果只指定了一个数字,这
用作最小和最大节点数。 分区的节点限制
取代那些工作。 如果作业的节点限制超出范围
允许其关联分区,作业将处于 PENDING 状态。
这允许稍后可能执行,当分区限制为
改变了。 如果作业节点限制超过了在
分区,作业将被拒绝。 注意环境变量
SLURM_JOB_NUM_NODES 个节点 (和 SLURM_NNODES 为了向后兼容)将设置为
实际分配给作业的节点数。 见 环境 变数
部分了解更多信息。 如果 -N 未指定,默认行为是
分配足够的节点以满足需求 -n-c 选项。 这
作业将在指定范围内分配尽可能多的节点,并且
不耽误工作的开始。 节点计数规范可以
包括一个数值后跟“k”的后缀(将数值乘以
1,024)或“m”(数值乘以 1,048,576)。

-n, --ntasks=<>
指定要运行的任务数。 要求 分配资源 任务
任务。 默认为每个节点一个任务,但请注意 --每个任务的CPU数 选项
将更改此默认值。

- 网络=<类型>
指定有关交换机或网络的信息。 的解释
类型 是系统依赖的。 在 Cray 上运行 Slurm 时支持此选项
本机。 它用于请求使用网络性能计数器。 只有一个值
每个请求都是有效的。 所有选项都不区分大小写。 在这个配置中
支持的值包括:

系统
使用系统范围的网络性能计数器。 只有请求的节点才会
被标记为用于工作分配。 如果工作没有填满
整个系统其余节点不能被其他作业使用
使用 NPC,如果空闲,它们的状态将显示为 PerfCnts。 这些节点是
仍然可用于不使用 NPC 的其他工作。

使用刀片网络性能计数器。 只有请求的节点将是
标记为用于作业分配。 如果工作没有填满整个
分配给作业的刀片不能被其他刀片使用
使用 NPC 的作业,如果空闲,它们的状态将显示为 PerfCnts。 这些节点是
仍然可用于不使用 NPC 的其他工作。

在所有情况下,作业或步骤分配请求 必须 指定 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。
--独家选项。 否则请求将被拒绝。

也不允许使用这些选项中的任何一个步骤共享刀片,因此资源
如果在刀片上运行的步骤不执行,将在分配内保持空闲
启动刀片上的所有节点。

这个 网络 具有 IBM 并行环境的系统也支持该选项
(PE)。 有关关键字,请参阅 IBM 的 LoadLeveler 作业命令关键字文档
“网络”了解更多信息。 可以在逗号中指定多个值
分隔列表。 所有选项都不区分大小写。 支持的值包括:

批量XFER[=资源>]
使用远程直接内存访问 (RDMA) 启用批量数据传输。
可选的 资源 规范是一个数值,可以有
“k”、“K”、“m”、“M”、“g”或“G”的后缀表示千字节、兆字节或
千兆字节。 注意: 资源 规范不受支持
自 Parallel Environment 2.2 版起的底层 IBM 基础架构
并且此时不应指定任何值。 分配的设备
一个工作必须是相同的类型。 默认值取决于
取决于可用的硬件以及偏好的顺序
IPONLY(在用户空间模式中不考虑)、HFI、IB、HPCE 和
多路复用器。

联合会=<> 需要的集体加速单元 (CAU) 数量。 仅适用
到 IBM Power7-IH 处理器。 默认值为零。 独立CAU
将为每个编程接口(MPI、LAPI 等)分配

开发名称=<姓名>
指定用于通信的设备名称(例如“eth0”或
“mlx4_0”)。

开发类型=<类型>
指定用于通信的设备类型。 支持的
的值 类型 分别是:“IB”(InfiniBand)、“HFI”(P7 主机结构)
接口)、“IPONLY”(仅 IP 接口)、“HPCE”(HPC 以太网)和
“KMUX”(HPCE 的内核仿真)。 分配给作业的设备必须
都属于同一类型。 默认值取决于
可用的硬件以及按偏好顺序排列的是 IPONLY(即
在用户空间模式下不考虑)、HFI、IB、HPCE 和 KMUX。

即时通讯 =<>
每个窗口所需的立即发送时隙数。 仅适用于
IBM Power7-IH 处理器。 默认值为零。

实例 =<>
为每个网络上的每个任务指定网络连接数
联系。 默认实例计数为 1。

IPV4 使用 Internet 协议 (IP) 版本 4 通信(默认)。

IPV6 使用 Internet 协议 (IP) 版本 6 通信。

拉皮 使用 LAPI 编程接口。

MPI(牛奶蛋白分离物) 使用 MPI 编程接口。 MPI 是默认接口。

聚苯胺 使用 PAMI 编程接口。

机械制造商 使用 OpenSHMEM 编程接口。

SN_ALL 使用所有可用的交换机网络(默认)。

SN_SINGLE 使用一个可用的交换机网络。

UPC 使用 UPC 编程接口。

US 使用用户空间通信。

网络规范的一些示例:

实例数=2,US,MPI,SN_ALL
为 MPI 通信创建两个用户空间连接
为每个任务切换网络。

美国、MPI、实例 = 3、Devtype = IB
为 MPI 通信创建三个用户空间连接
每个任务的 InfiniBand 网络。

IPV4、LAPI、SN_Single
在一台交换机上为 LAPI 通信创建 IP 版本 4 连接
每个任务的网络。

实例=2,US,LAPI,MPI
创建两个用户空间连接,分别用于 LAPI 和 MPI 通信
在每个任务的每个交换机网络上。 请注意,SN_ALL 是默认值
选项,因此使用每个交换机网络。 还要注意 Instances=2
指定为每个协议建立两个连接 (LAPI
和 MPI)和每个任务。 如果有两个网络和四个任务
然后节点总共建立了 32 个连接(2 个实例 x
2 个协议 x 2 个网络 x 4 个任务)。

- 好的[=调整]
在 Slurm 中以调整后的调度优先级运行作业。 无需调整
value 调度优先级降低 100。调整范围从
-10000(最高优先级)到 10000(最低优先级)。 只有特权用户可以
指定负调整。 注意:此选项目前被忽略,如果
SchedulerType=sched/维基 or SchedulerType=sched/wiki2.

--每核 ntasks=<任务>
请求最大值 任务 在每个内核上调用。 此选项适用于作业
分配,但不是分步分配。 旨在与 --ntasks
选项。 相关 --ntasks-per-node 除了在核心级别而不是节点
等级。 将自动生成掩码以将任务绑定到特定核心
除非 --cpu_bind=无 被指定。 注意:不支持此选项,除非
选择类型参数=CR_Core or 选择类型参数=CR_Core_Memory 已配置。

--ntasks-per-node=<任务>
要求 任务 在每个节点上调用。 如果与 --ntasks 选项,
--ntasks 选项将优先,并且 --ntasks-per-node 将被视为
最多 每个节点的任务数。 旨在与 --节点 选项。 这个
是有关的 --每个任务的CPU数=电脑系统,但不需要了解实际情况
每个节点上的 CPU 数量。 在某些情况下,能够更方便地
请求在每个节点上调用的任务数量不超过特定数量。
这方面的例子包括提交一个混合 MPI/OpenMP 应用程序,其中只有一个 MPI
“任务/等级”应该分配给每个节点,同时允许 OpenMP 部分
利用节点中存在的所有并行性,或提交单个
一个预先存在的分配的每个节点的设置/清理/监控作业作为一个步骤
在更大的作业脚本中。

--ntasks-per-socket=<任务>
请求最大值 任务 在每个套接字上调用。 此选项适用于
工作分配,但不是分步分配。 旨在与 --ntasks
选项。 相关 --ntasks-per-node 除了在套接字级别而不是
节点级别。 将自动生成掩码以将任务绑定到特定
插座除非 --cpu_bind=无 被指定。 注意:不支持此选项
除非 选择类型参数=CR_Socket or SelectTypeParameters=CR_Socket_Memory is
配置。

-O, --过量使用
过度使用资源。 应用于作业分配时,只分配一个 CPU
每个节点的作业和用于指定每个节点、套接字、
核心等被忽略。 当应用于作业步骤分配( 命令
在现有作业分配中执行时),此选项可用于启动
每个 CPU 多个任务。 一般, 不会分配多个进程
每个 CPU。 通过指定 --过量使用 您明确允许多个
每个 CPU 的进程。 然而不超过 每个节点最多任务数 任务被允许
每个节点执行。 笔记: 每个节点最多任务数 在文件中定义 slurm.h 提供美容纤体,
不是变量,它是在 Slurm 构建时设置的。

-o, - 输出=<模式>
指定标准输出重定向的模式。 默认在交互模式下,
从所有任务收集标准输出并通过 TCP/IP 将此输出发送到附加的
终端。 和 - 输出 标准输出可以重定向到一个文件,每个任务一个文件,
或 /dev/null。 见部分 IO 重定向 下面为各种形式 模式.
如果指定的文件已经存在,它将被覆盖。

If - 错误 也没有在命令行上指定,stdout 和 stderr 都会
定向到由指定的文件 - 输出.

--开放模式=<追加|截断>
使用指定的追加或截断模式打开输出和错误文件。 这
默认值由系统配置参数指定 作业文件附加.

-p, - 划分=<分区名称>
为资源分配请求一个特定的分区。 如果未指定,则
默认行为是允许 slurm 控制器选择默认分区
由系统管理员指定。 如果作业可以使用多个
分区,在逗号分隔列表中指定它们的名称和一个产品
将使用最早启动而不考虑分区名称
排序(尽管将首先考虑更高优先级的分区)。 当。。。的时候
作业启动后,使用的分区名称将放在作业的首位
记录分区字符串。

- 力量=<标志>
逗号分隔的电源管理插件选项列表。 当前可用的标志
包括:级别(分配给作业的所有节点应具有相同的功率上限,
可以通过 Slurm 配置选项 PowerParameters=job_no_level 禁用)。

- 优先事项=
请求特定的工作优先级。 可能取决于具体配置
约束。 只有 Slurm 操作员和管理员可以设置
工作。

- 轮廓=
通过 acct_gather_profile 插件启用详细数据收集。 详细数据
通常是存储在作业的 HDF5 文件中的时间序列。

全部 收集所有数据类型。 (不能与其他值组合。)

没有 不收集任何数据类型。 这是默认设置。
(不能与其他值组合。)

新能源 收集能量数据。

任务 收集任务(I/O、内存等)数据。

文件系统
收集文件系统数据。

网络 收集网络 (InfiniBand) 数据。

--序言=<可执行>
会跑 可执行 就在启动作业步骤之前。 命令行
论据 可执行 将是作业步骤的命令和参数。 如果
可执行 为“none”,则不会运行 srun prolog。 此参数覆盖
slurm.conf 中的 SrunProlog 参数。 该参数完全独立于
slurm.conf 中的 Prolog 参数。

- 传播[=限制]
允许用户指定要传播的可修改(软)资源限制
到计算节点并应用于它们的作业。 如果 限制 没有指定,那么
将传播所有资源限制。 支持以下 rlimit 名称
由 Slurm(尽管某些系统可能不支持某些选项):

全部 下面列出的所有限制

AS 进程的最大地址空间

核心 核心文件的最大大小

中央处理器 最大 CPU 时间

数据 进程数据段的最大大小

尺寸 创建的文件的最大大小。 请注意,如果用户将 FSIZE 设置为
小于 slurmd.log 的当前大小,作业启动将失败
“超出文件大小限制”错误。

记忆锁 可以锁定到内存中的最大大小

无文件 最大打开文件数

国家过程控制中心 可用的最大进程数

RSS 最大驻留集大小

STACK 最大堆栈大小

--pty 在伪终端模式下执行任务零。 隐式设置 --无缓冲.
隐式设置 - 错误- 输出 对于除任务零之外的所有任务,到 /dev/null,
这可能会导致这些任务立即退出(例如,shell 通常会退出
在那种情况下立即)。 目前在 AIX 平台上不受支持。

-Q, - 安静的
抑制来自 srun 的信息性消息。 仍然会显示错误。

-q, --退出中断
在单个 SIGINT (Ctrl-C) 上立即退出。 使用此选项禁用状态
功能通常可用时 接收单个 Ctrl-C 并导致
而是立即终止正在运行的作业。

--服务质量=<服务质量>
要求工作的服务质量。 可以为每个定义 QOS 值
Slurm 数据库中的用户/集群/帐户关联。 用户将被限制在
当 Slurm 配置参数时,它们的关联定义的一组 qos,
AccountingStorageEnforce,在其定义中包含“qos”。

-r, - 相对的=<n>
运行相对于节点的作业步骤 n 当前分配的。 这个选项可能是
用于在当前作业的节点之间分散多个作业步骤。 如果 -r is
使用,当前作业步骤将从节点开始 n 分配的节点列表,其中
第一个节点被认为是节点 0。 -r 选项不允许 -w or -x
选项,并且在未在先前分配中运行时将导致致命错误
(即当 SLURM_JOB_ID 未设置时)。 默认为 n 是 0。如果值
--节点 超过了标识的节点数 - 相对的 选项,一个
将打印警告消息并 - 相对的 选项将优先。

- 重启
在开始作业之前强制分配的节点重新启动。 这只是
某些系统配置支持,否则将被静默忽略。

--resv 端口
为此作业保留通信端口。 用户可以指定他们的端口数
想预约。 参数 MpiParams=ports=12000-12999 必须在
配置文件. 如果未指定,则默认保留端口数等于
任务数。 如果保留端口的数量为零,则不保留任何端口。
用于 OpenMPI。

- 预订=<姓名>
从指定的预留为作业分配资源。

--重启目录=<目录>
指定应从中读取作业或作业步骤的检查点的目录
(仅由 checkpoint/blcrm 和 checkpoint/xlch 插件使用)。

-s, - 分享
作业分配可以与其他正在运行的作业共享资源。 资源到
共享可以是节点、套接字、核心或超线程,具体取决于
配置。 默认共享行为取决于系统配置和
分区的 共享 选项优先于作业的选项。 此选项可能
导致分配比没有 --share 选项时更早被授予
设置并允许更高的系统利用率,但应用程序性能可能会
因资源竞争而受苦。 另请参阅 --exclusive 选项。

-S, --核心规范=<NUM>
作业为系统操作保留的每个节点的专用内核数和
应用程序未使用。 应用程序不会使用这些内核,但会
对其分配收费。 默认值取决于节点的
配置的 CoreSpecCount 值。 如果指定了零值并且 Slurm
配置选项 AllowSpecResourcesUsage 启用,作业将被允许
覆盖 CoreSpecCount 并使用它分配的节点上的专用资源。
此选项不能与 --线程规范 选项。

--sicp 将作业标识为提交给其他集群的作业可以依赖的作业。

- 信号=<信号编号>[@信号时间>]
当工作在 信号时间 结束时间的秒数,向它发送信号 信号编号.
由于 Slurm 处理事件的分辨率,信号最多可以发送 60
比指定时间早几秒。 信号编号 可以是信号编号或名称
(例如“10”或“USR1”)。 信号时间 必须有一个介于 0 和 65535 之间的整数值。
默认情况下,在作业结束时间之前不发送任何信号。 如果一个 信号编号 被指定
没有任何 信号时间,默认时间为 60 秒。

--slurmd-调试=<水平>
指定调试级别 说脏话(8)。 该 水平 可以指定为整数
0 [安静,仅显示错误] 和 4 [详细操作] 之间的值或
调试 标签。

安静 什么都不记录

致命 只记录致命错误

错误 仅记录错误

info 记录错误和一般信息性消息

详细 记录错误和详细的信息性消息

slurmd 调试信息被复制到
工作。 默认情况下只显示错误。

--每个节点的套接字数=<插座>
将节点选择限制为至少具有指定数量的套接字的节点。
请参阅下的其他信息 -B 上面的选项,当任务/亲和力插件是
启用。

--开关=<>[@最大时间>]
当使用树形拓扑时,这定义了所需的最大交换机数
用于作业分配和可选的最长时间等待该数量
开关。 如果 Slurm 发现一个分配包含比计数更多的开关
指定,该作业将保持挂起,直到它找到所需的分配
切换次数或时间限制到期。 它没有开关计数限制,有
开始工作没有延迟。 可接受的时间格式包括“分钟”、
“分钟:秒”、“小时:分钟:秒”、“天-小时”、“天-小时:分钟”和
“天-小时:分钟:秒”。 作业的最大时间延迟可能受
系统管理员使用 调度器参数 配置参数
最大开关等待 参数选项。 默认最大时间是 max_switch_wait
调度程序参数。

-T, --线程=<线程数>
允许限制用于发送作业请求的并发线程数
srun 进程到分配节点上的 slurmd 进程。 默认是使用
每个分配的节点一个线程,最多 60 个并发线程。 指定
此选项将并发线程数限制为 线程数 (小于或等于
到 60)。 这应该仅用于设置低线程数以进行非常多的测试
小内存计算机。

-t, - 时间=<>
设置作业分配的总运行时间限制。 如果请求的时间
limit 超过分区的时间限制,作业将处于 PENDING 状态
(可能无限期)。 默认时间限制是分区的默认时间
限制。 当达到时间限制时,每个作业步骤中的每个任务都会发送 SIGTERM
其次是SIGKILL。 信号之间的间隔由 Slurm 指定
配置参数 杀等待。 该 超时限制 配置参数可以
允许作业运行时间超过预定时间。 时间分辨率为一分钟
第二个值四舍五入到下一分钟。

零时限要求不施加时限。 可接受的时间
格式包括“分钟”,“分钟:秒”,“小时:分钟:秒”,
“天-小时”、“天-小时:分钟”和“天-小时:分钟:秒”。

--任务结语=<可执行>
这个 步履蹒跚 守护进程将运行 可执行 就在每个任务终止之后。 这个
将在执行 slurm.conf 中的任何 TaskEpilog 参数之前执行。 这是
意味着是一个非常短暂的程序。 如果它在几个小时内未能终止
秒,它将与任何后代进程一起被杀死。

--任务序言=<可执行>
这个 步履蹒跚 守护进程将运行 可执行 就在启动每个任务之前。 这个
将在执行 slurm.conf 中的任何 TaskProlog 参数后执行。 除了
正常的环境变量,这有 SLURM_TASK_PID 可用于识别
正在启动的任务的进程 ID。 这个程序的标准输出
表单“export NAME=value”将用于为任务设置环境变量
正在产生。

--仅测试
返回在给定当前作业的情况下计划运行作业的估计时间
队列和所有其他 指定作业的参数。 这限制 跑的
仅返回信息的行为; 没有实际提交作业。 例外:开
Bluegene/Q 系统在现有作业分配内运行时打开,这会禁用
使用“runjob”来启动任务。 该程序将直接由
slurmd 守护进程。

--线程规范=<NUM>
作业为系统操作保留的每个节点的专用线程数和
应用程序未使用。 应用程序不会使用这些线程,但会
对其分配收取费用。 此选项不能与 --核心规范
选项。

--每核线程数=<线程>
将节点选择限制为每个节点至少具有指定的线程数
核。 注意:“线程”是指每个内核上的处理单元数量,而不是
比每个内核要启动的应用程序任务数。 查看更多
下的信息 -B 启用任务/关联插件时的上述选项。

--时间分钟=<>
设置作业分配的最短时间限制。 如果指定,该作业可能具有
它的 - 时间 限制降低到不低于 --时间分钟 如果这样做允许
比其他可能的时间更早开始执行的作业。 工作的时间限制
作业分配资源后不会改变。 这是由一个
回填调度算法分配资源,否则为更高级别保留
优先工作。 可接受的时间格式包括“分钟”、“分钟:秒”、
“小时:分钟:秒”、“天-小时”、“天-小时:分钟”和
“天-小时:分钟:秒”。

--tmp=<MB>
指定最小临时磁盘空间量。

-u, --无缓冲
默认情况下,slurmstepd 和用户启动的应用程序之间的连接是
在管道上。 应用程序写入的 stdio 输出由 glibc 缓冲
直到它被刷新或输出设置为无缓冲。 看 设置缓冲区(3). 如果这
选项被指定,任务是用伪终端执行的,以便
应用程序输出是无缓冲的。

- 用法
显示简短的帮助信息并退出。

--uid=<用户>
尝试提交和/或运行作业 用户 而不是调用用户ID。 这
调用用户的凭据将用于检查目标的访问权限
划分。 用户 root 可以使用此选项在 RootOnly 中以普通用户身份运行作业
例如分区。 如果以 root 身份运行, 将删除其对 uid 的权限
节点分配成功后指定。 用户 可能是用户名或
数字用户 ID。

-V, - 版
显示版本信息并退出。

-v, --详细
增加 srun 信息性消息的详细程度。 多种的 -v的意志
进一步增加srun的冗长。 默认情况下,只会显示错误。

-W, - 等待=<>
指定第一个任务终止后等待多长时间,然后终止所有
剩余的任务。 值 0 表示无限等待(将发出警告
60 秒后)。 默认值由slurm中的WaitTime参数设置
配置文件(见 配置文件(5))。 此选项可用于确保
在一项或多项任务终止的情况下,作业会及时终止
过早。 注意: -K, --错误退出时杀死 选项优先于 -W,
- 等待 如果任务以非零退出代码退出,则立即终止作业。

-w, --节点列表=<主机 1、主机 2、... or 文件名>
请求特定的主机列表。 作业将包含 所有 这些主机和
可能需要额外的主机以满足资源需求。 名单可能
被指定为以逗号分隔的主机列表、主机范围 (host[1-5,7,...]
例如)或文件名。 主机列表将被假定为一个文件名,如果它
包含一个“/”字符。 如果您指定的最小节点或处理器数量更大
所提供的主机列表不能满足,额外的资源将被
根据需要分配在其他节点上。 而不是重复多个主机名
有时,一个星号和一个重复计数可以附加到主机名。 为了
例如“host1,host1”和“host1*2”是等价的。

--wckey=<威奇>
指定要与作业一起使用的 wckey。 如果 slurm.conf 中的 TrackWCKey=no(默认)
该值被忽略。

-X, --禁用状态
当 srun 收到单个 SIGINT (Ctrl-C) 时禁用任务状态的显示。
而是立即将 SIGINT 转发到正在运行的作业。 没有这个选项
一秒内需要第二个 Ctrl-C 强制终止作业和
立即退出。 也可以通过环境变量设置
SLURM_DISABLE_STATUS。

-x, - 排除=<主机 1、主机 2、... or 文件名>
请求分配给的资源中不包含特定的主机列表
这个工作。 如果主机列表包含一个文件名,它将被假定为一个文件名
“/“特点。

-Z, --无分配
在一组节点上运行指定的任务,而无需在
Slurm 队列结构,绕过正常的资源分配步骤。 名单
节点必须用 -w, --节点列表 选项。 这是一个特权
选项仅适用于用户“SlurmUser”和“root”。

以下选项支持 Blue Gene 系统,但可能适用于其他系统,如
井。

--blrts-图像=<>
bluegene 块的 blrts 图像的路径。 仅限 BGL。 默认自 配置文件 if
没有设置。

--cnload-image=<>
bluegene 块的计算节点图像的路径。 仅限 BGP。 默认自
配置文件 如果没有设置。

--conn 类型=<类型>
要求块连接类型为特定类型。 在蓝色基因上
可接受的 类型 是 MESH、TORUS 和 NAV。 如果 NAV,或者如果没有设置,那么 Slurm 将
如果不是,请尝试在 bluegene.conf 中设置 DefaultConnType 的设置
设置默认值为 TORUS。 通常不应设置此选项。 如果运行
BGP 系统并希望在 HTC 模式下运行(仅适用于 1 个中板及以下)。 你
可以将 HTC_S 用于 SMP,HTC_D 用于 Dual,HTC_V 用于虚拟节点模式,HTC_L 用于
Linux模式。 对于每个维度允许不同连接类型的系统,您
可以提供一个逗号分隔的连接类型列表可以指定,一个用于
每个维度(即 M、T、T、T 会给你一个环面连接是所有维度
期待第一个)。

-g, - 几何学=<XXXXX> |轴心>
指定作业的几何要求。 在 BlueGene/L 和 BlueGene/P 系统上
有三个数字给出了 X、Y 和 Z 方向的尺寸,而
BlueGene/Q 系统有四个数字给出了 A、X、Y 和 Z 中的维度
方向,不能用于分配子块。 例如
“--geometry=1x2x3x4”,指定具有 1 x 2 x 3 x 4 = 24 个节点的节点块
(实际上是 BlueGene 上的中间板)。

--ioload-图像=<>
bluegene 块的 io 图像路径。 仅限 BGP。 默认自 配置文件 如果不
设置。

--linux-图像=<>
bluegene 块的 linux 映像的路径。 仅限 BGL。 默认自 配置文件 if
没有设置。

--mloader-图像=<>
bluegene 块的 mloader 图像的路径。 默认自 配置文件 如果没有设置。

-R, --不旋转
禁用作业请求的几何体的旋转以适合适当的
堵塞。 默认情况下,指定的几何图形可以在三个维度上旋转。

--ramdisk-镜像=<>
bluegene 块的 ramdisk 映像的路径。 仅限 BGL。 默认自 配置文件 if
没有设置。

将作业请求提交给 slurm 作业控制器,然后启动所有进程
在远程节点上。 如果不能立即满足要求, 将阻塞直到
资源可以自由运行作业。 如果 -I (- 即时) 选项已指定
如果资源不是立即可用,则终止。

启动远程进程时 将传播当前工作目录,除非
--chdir=<> 被指定,在这种情况下 将成为工作目录
远程进程。

这个 -n, -c-N 选项控制如何将 CPU 和节点分配给作业。 什么时候
仅指定要运行的进程数 -n, 每个进程默认一个 CPU
被分配。 通过指定每个任务所需的 CPU 数量 (-c),多于一个 CPU
可以按进程分配。 如果节点数指定为 -N,
尝试分配 at 最少 指定的节点数。

以上三个选项的组合可用于更改进程的方式
分布在节点和 CPU 上。 例如,通过同时指定
进程和运行的节点数,每个节点的进程数是
默示。 但是,如果每个进程的 CPU 数量更重要,那么
进程(-n) 和每个进程的 CPU 数量 (-c) 应指定。

将拒绝为每个 CPU 分配一个以上的进程,除非 --过量使用 (-O)是
还规定。

将尝试“至少”满足上述规范。 也就是说,如果 16 个节点
请求32个进程,有些节点没有2个CPU,节点的分配
将增加以满足对 CPU 的需求。 换句话说,一个 最低限度 16的
正在请求节点。 但是,如果为 16 个进程请求 15 个节点,
将此视为错误,因为 15 个进程无法跨 16 个节点运行。

IO 重定向

默认情况下,stdout 和 stderr 将从所有任务重定向到 stdout 和 stderr
of , 并且 stdin 将从标准输入重定向 到所有远程任务。
如果 stdin 仅由衍生任务的子集读取,则指定要读取的文件
from 而不是从 命令可能更可取,因为它避免了
移动和存储永远不会被读取的数据。

对于 OS X,poll() 函数不支持 stdin,因此不支持来自终端的输入
可能。

对于 BGQ,srun 仅支持标准输入到系统上运行的 1 个任务。 默认情况下它是 taskid
0 但可以用 -i 改变如下所述,或
--launcher-opts="--stdinrank= ”。

这种行为可能会随着 - 输出, - 错误- 输入 (-o, -e, -i) 选项。
这些选项的有效格式规范是

所有 stdout stderr 从所有任务重定向到 srun。 标准输入向所有人广播
远程任务。 (这是默认行为)

没有 没有从任何任务接收到 stdout 和 stderr。 标准输入不会发送到任何任务
(标准输入已关闭)。

任务编号 stdout 和/或 stderr 仅从相对 id 等于的任务重定向
任务编号, 其中 0 <= 任务编号 <= 任务,在 Moku:Pro 上 任务 是任务总数
在当前作业步骤中。 标准输入从标准输入重定向 对此
同样的任务。 该文件将写入执行任务的节点上。

文件名 将从所有任务中将 stdout 和/或 stderr 重定向到指定文件。 标准输入
将从命名文件重定向并广播到作业中的所有任务。
文件名 指主机上运行的路径 。 取决于
集群的文件系统布局,这可能会导致输出出现在
不同的地方取决于作业是否以批处理模式运行。

格式 绳子
允许使用格式字符串来生成命名的 IO 文件
如上所述。 以下格式说明符列表可用于
格式字符串以生成对给定作业 ID 唯一的文件名,
stepid、节点或任务。 在每种情况下,都会打开适当数量的文件
并与相应的任务相关联。 请注意,任何格式字符串
包含 %t、%n 和/或 %N 的内容将写入执行任务的节点上
而不是所在的节点 执行,这些格式说明符不是
BGQ 系统支持。

%A 作业数组的主作业分配编号。

%a 作业数组 ID(索引)编号。

%J jobid.stepid 正在运行的作业。 (例如“128.0”)

%j 正在运行的作业的作业 ID。

正在运行的作业的 %s stepid。

%N 短主机名。 这将为每个节点创建一个单独的 IO 文件。

%n 相对于当前作业的节点标识符(例如“0”是第一个节点
正在运行的作业)这将为每个节点创建一个单独的 IO 文件。

%t 相对于当前工作的任务标识符(等级)。 这将创建一个
每个任务单独的 IO 文件。

%u 用户名。

可以使用位于百分比字符和格式说明符之间的数字
对 IO 文件名中的结果进行零填充。 如果格式为
说明符对应于非数字数据(例如 %N)。

格式字符串如何用于 4 个任务作业步骤的一些示例
下面包含 128 的作业 ID 和 0 的步骤 ID:

工作%J.out job128.0.out

作业%4j.out job0128.out

工作%j-%2t.out job128-00.out, job128-01.out, ...

INPUT 环境 变数


一些 srun 选项可以通过环境变量设置。 这些环境变量,
下面列出了它们的相应选项。 注意:命令行选项将
始终覆盖这些设置。

PMI_扇出 这专门用于 PMI(MPICH2 和 MVAPICH2)和控制
数据通信的扇出。 srun 命令发送消息
应用程序(通过 PMI 库)和那些应用程序
可能会被要求将该数据转发到这个数量
额外的任务。 较高的值会卸载 srun 命令的工作
应用程序,并可能增加漏洞
失败。 默认值为 32。

PMI_FANOUT_OFF_HOST 这专门用于 PMI(MPICH2 和 MVAPICH2)和控制
数据通信的扇出。 srun 命令发送消息
应用程序(通过 PMI 库)和那些应用程序
可能会被要求将该数据转发给其他任务。 经过
默认情况下,srun 为每个主机发送一条消息,并在该主机上发送一项任务
将数据转发到该主机上的其他任务 PMI_扇出。 如果
PMI_FANOUT_OFF_HOST 定义,用户任务可能需要
将数据转发到其他主机上的任务。 环境
PMI_FANOUT_OFF_HOST 可能会提高性能。 由于更多的工作是
由用户应用程序加载的 PMI 库执行,
故障也可能更常见且更难诊断。

PMI_TIME 这专门用于 PMI(MPICH2 和 MVAPICH2)和控制
从任务到 srun 的通信传播了多少
及时退出以避免淹没 srun 命令
工作。 每个任务的默认值为 500(微秒)。 在
相对较慢的处理器或具有非常大处理器的系统
计数(和大型 PMI 数据集),可能需要更高的值。

SLURM_CONF Slurm 配置文件的位置。

SLURM_ACCOUNT 与...一样 -一种, - 帐户

SLURM_ACCTG_FREQ 与...一样 --acctg-频率

SLURM_BCAST 与...一样 --广播

SLURM_BLRTS_IMAGE 与...一样 --blrts-图像

SLURM_BURST_BUFFER 与...一样 --bb

SLURM_检查点 与...一样 --检查点

SLURM_CHECKPOINT_DIR 与...一样 --检查点目录

SLURM_CNLOAD_IMAGE 与...一样 --cnload-image

SLURM_CONN_TYPE 与...一样 --conn 类型

SLURM_CORE_规格 与...一样 --核心规范

SLURM_CPU_BIND 与...一样 --cpu_绑定

SLURM_CPU_FREQ_REQ 与...一样 --cpu-频率.

SLURM_CPUS_PER_TASK 与...一样 -C, --每个任务的CPU数

SLURM_DEBUG 与...一样 -v, --详细

SlurmD_DEBUG 与...一样 -d, --slurmd-调试

SLURM_依赖 -P, --依赖=<作业编号>

SLURM_DISABLE_STATUS 与...一样 -X, --禁用状态

SLURM_DIST_PLANESIZE 与...一样 -m 平面

SLURM_DISTRIBUTION 与...一样 -米, - 分配

SLURM_EPILOG 与...一样 - 结语

SLURM_独家 与...一样 - 独家的

SLURM_EXIT_ERROR 指定发生 Slurm 错误时生成的退出代码(例如
无效选项)。 这可以被脚本用来区分
来自各种 Slurm 错误条件的应用程序退出代码。 还
请点击 SLURM_EXIT_IMMEDIATE.

SLURM_EXIT_IMMEDIATE 指定退出时生成的退出代码 - 即时 选项是
使用和资源当前不可用。 这可以由
用于区分应用程序退出代码和各种 Slurm 的脚本
错误条件。 另见 SLURM_EXIT_ERROR.

SLURM_几何 与...一样 -G, - 几何学

SLURM_HINT 提示 与...一样 - 暗示

SLURM_GRES 与...一样 --gres。 另见 SLURM_STEP_GRES

SLURM_IMMEDIATE 与...一样 -一世, - 即时

SLURM_IOLOAD_IMAGE 与...一样 --ioload-图像

SLURM_JOB_ID (和 SLURM_JOBID 为了向后兼容)
与...一样 --求职

SLURM_JOB_NAME 与...一样 -J, --工作名称 除了在现有分配中,在
在这种情况下,它会被忽略以避免使用批处理作业的名称作为
每个作业步骤的名称。

SLURM_JOB_NUM_NODES 个节点 (和 SLURM_NNODES 为了向后兼容)
作业资源分配中的节点总数。

SLURM_KILL_BAD_EXIT 与...一样 -K, --错误退出时杀死

SLURM_LABELIO 与...一样 -l, - 标签

SLURM_LINUX_IMAGE 与...一样 --linux-图像

SLURM_MEM_BIND 与...一样 --mem_bind

SLURM_MEM_PER_CPU 与...一样 --每个CPU的内存

SLURM_MEM_PER_NODE 与...一样 --内存

SLURM_MLOADER_IMAGE 与...一样 --mloader-图像

SLURM_MPI_TYPE 与...一样 --mpi

SLURM_网络 与...一样 - 网络

SLURM_NNODES 与...一样 -N, --节点

SLURM_NO_ROTATE 与...一样 -R, --不旋转

SLURM_NTASKS (和 SLURM_NPROCS 为了向后兼容)
与...一样 -n, --ntasks

SLURM_NTASKS_PER_CORE 与...一样 --每核 ntasks

SLURM_NTASKS_PER_NODE 与...一样 --ntasks-per-node

SLURM_NTASKS_PER_SOCKET
与...一样 --ntasks-per-socket

SLURM_OPEN_MODE 与...一样 --开放模式

SLURM_OVERCOMMIT 与...一样 -O, --过量使用

SLURM_PARTITION 与...一样 -p, - 划分

SLURM_PMI_KVS_NO_DUP_KEYS
如果设置,那么 PMI 密钥对将不包含重复的密钥。 MPI 可以
使用此变量通知 PMI 库它不会使用
重复键,因此 PMI 可以跳过对重复键的检查。 这个
MPICH2 就是这种情况,并减少了测试的开销
重复以提高性能

SLURM_POWER 与...一样 - 力量

SLURM_配置文件 与...一样 - 轮廓

SLURM_PROLOG 与...一样 --序言

SLURM_QOS 与...一样 --服务质量

SLURM_RAMDISK_IMAGE 与...一样 --ramdisk-镜像

SLURM_REMOTE_CWD 与...一样 -D, --chdir=

SLURM_REQ_SWITCH 当使用树拓扑时,这定义了最大数量
作业分配所需的开关和可选的最大值
等待该数量的开关的时间。 看 --开关

SLURM_RESERVATION 与...一样 - 预订

SLURM_RESTART_DIR 与...一样 --重启目录

SLURM_RESV_PORTS 与...一样 --resv 端口

SLURM_SICP 与...一样 --sicp

SLURM_信号 与...一样 - 信号

SLURM_STDERRMODE 与...一样 -e, - 错误

SLURM_STDINMODE 与...一样 -一世, - 输入

SLURM_SRUN_REDUCE_TASK_EXIT_MSG
如果设置且非零,则连续的任务退出消息具有相同的
退出代码将只打印一次。

SLURM_STEP_GRES 与...一样 --gres (仅适用于工作步骤,不适用于工作分配)。
另见 SLURM_GRES

SLURM_STEP_KILLED_MSG_NODE_ID=标识
如果设置,则只有指定的节点会在作业或步骤执行时记录
被信号杀死。

SLURM_STDOUTMODE 与...一样 -o, - 输出

SLURM_TASK_EPILOG 与...一样 --任务结语

SLURM_TASK_PROLOG 与...一样 --任务序言

SLURM_测试_执行 如果定义,则验证可执行程序在
本地计算机,然后再尝试在计算节点上启动它。

SLURM_线程_规格 与...一样 --线程规范

SLURM_线程 与...一样 -T, --线程

SLURM_TIMELIMIT 与...一样 -t, - 时间

SLURM_UNBUFFEREDIO 与...一样 -你, --无缓冲

SLURM_等待 与...一样 -W, - 等待

SLURM_WAIT4SWITCH 等待请求的开关的最长时间。 看 --开关

SLURM_WCKEY 与...一样 -W, --wckey

SLURM_WORKING_DIR -D, --chdir

OUTPUT 环境 变数


srun 会在执行任务的环境中设置一些环境变量
远程计算节点。 这些环境变量是:

SLURM_CHECKPOINT_IMAGE_DIR
检查点图像应写入的目录,如果
在执行行中指定。

SLURM_CLUSTER_NAME 正在执行作业的集群的名称。

SLURM_CPU_BIND_VERBOSE
--cpu_bind 冗长(安静,冗长)。

SLURM_CPU_BIND_TYPE --cpu_bind 类型 (none,rank,map_cpu:,mask_cpu:)。

SLURM_CPU_BIND_LIST --cpu_bind 映射或掩码列表(用于此的 Slurm CPU ID 或掩码列表
节点,CPU_ID = Board_ID x threads_per_board + Socket_ID x
thread_per_socket + Core_ID x threads_per_core + Thread_ID)。

SLURM_CPU_FREQ_REQ 包含在 srun 命令上请求的 CPU 频率值
作为以千赫兹为单位的数字频率,或一个编码值
请求 , 中等,高米1 or 为频率。 见
的描述 --cpu-频率 选项还是 SLURM_CPU_FREQ_REQ 输入
环境变量。

SLURM_CPUS_ON_NODE 此节点上的作业可用的处理器计数。 请注意
select/linear 插件将整个节点分配给作业,因此值
表示节点上的 CPU 总数。 为了
select/cons_res 插件,这个数字表示上的核心数
此节点分配给作业。

SLURM_CPUS_PER_TASK 每个任务请求的 CPU 数量。 仅当 --每个任务的CPU数
选项被指定。

SLURM_DISTRIBUTION 分配的作业的分配类型。 设置分布
-m,--分布。

SLURM_GTIDS 在此节点上运行的全局任务 ID。 零原点和逗号
分开。

SLURM_JOB_CPUS_PER_NODE
每个节点的 CPU 数量。

SLURM_JOB_DEPENDENCY 设置为 --dependency 选项的值。

SLURM_JOB_ID (和 SLURM_JOBID 为了向后兼容)
正在执行的作业的作业 ID。

SLURM_JOB_NAME 设置为 --job-name 选项的值或命令名称时
srun 用于创建新的作业分配。 srun 时未设置
仅用于创建作业步骤(即在现有作业中
分配)。

SLURM_JOB_PARTITION 运行作业的分区的名称。

SLURM_LAUNCH_NODE_IPADDR
启动任务的节点的 IP 地址
(运行 srun 命令的地方)。

SLURM_LOCALID 作业中进程的节点本地任务 ID。

SLURM_MEM_BIND_VERBOSE
--mem_bind 冗长(安静,冗长)。

SLURM_MEM_BIND_TYPE --mem_bind 类型(无、等级、map_mem:、mask_mem:)。

SLURM_MEM_BIND_LIST --mem_bind 映射或掩码列表 ( )。

SLURM_NNODES 作业资源分配中的节点总数。

SLURM_NODE_ALIASES 节点的节点名称、通信地址和主机名集
从云端分配给作业。 集合中的每个元素如果
冒号分隔,每组以逗号分隔。 例如:
SLURM_NODE_ALIASES=ec0:1.2.3.4:foo,ec1:1.2.3.5:bar

SLURM_NODEID 当前节点的相对节点 ID。

SLURM_NOD列表 分配给作业的节点列表。

SLURM_NTASKS (和 SLURM_NPROCS 为了向后兼容)
当前作业中的进程总数。

SLURM_PRIO_PROCESS 作业提交时的调度优先级(nice 值)。
该值被传播到衍生的进程。

SLURM_PROCID 当前进程的 MPI 等级(或相对进程 ID)。

SLURM_SRUN_COMM_HOST srun通信主机的IP地址。

SLURM_SRUN_COMM_PORT srun 通讯端口。

SLURM_STEP_LAUNCHER_PORT
步进启动器端口。

SLURM_STEP_NODELIST 分配给步骤的节点列表。

SLURM_STEP_NUM_NODES 个节点 分配给步骤的节点数。

SLURM_STEP_NUM_TASKS 个任务 步骤中的进程数。

SLURM_STEP_TASKS_PER_NODE
步骤中每个节点的进程数。

SLURM_STEP_ID (和 SLURM_STEPID 为了向后兼容)
当前作业的步骤 ID。

SLURM_提交_目录 从哪个目录 被调用。

SLURM_SUBMIT_HOST 计算机的主机名 萨洛克 被调用。

SLURM_TASK_PID 正在启动的任务的进程 ID。

SLURM_TASKS_PER_NODE 要在每个节点上启动的任务数。 值为逗号
分隔并与 SLURM_NODELIST 的顺序相同。 如果两个或更多
连续节点具有相同的任务计数,该计数是
后跟“(x#)”,其中“#”是重复次数。 例如,
“SLURM_TASKS_PER_NODE=2(x3),1”表示前三个节点
将每个执行三个任务,第四个节点将执行一个
任务。

SLURM_TOPOLOGY_ADDR 仅当系统具有拓扑/树插件时才设置
配置。 该值将设置为名称网络交换机
这可能涉及系统的工作通信
顶层开关向下到叶开关并以节点名称结尾。
句点用于分隔每个硬件组件名称。

SLURM_TOPOLOGY_ADDR_PATTERN
仅当系统具有拓扑/树插件时才设置
配置。 该值将设置组件类型中列出
SLURM_TOPOLOGY_ADDR. 每个组件将被标识为
“开关”或“节点”。 一个句号用来分隔每个硬件
组件类型。

SRUN_DEBUG 设置为日志记录级别 命令。 默认值为 3
(信息级别)。 该值根据以下情况递增或递减
--verbose 和 --quiet 选项。

MPIRUN_NOALLOCATE 不要只在 Blue Gene 系统上分配块。

MPIRUN_NOFREE 不要只在 Blue Gene 系统上释放块。

MPIRUN_PARTITION 仅限 Blue Gene 系统上的块名称。

讯号 AND - EP 序列


信号发送到 命令会自动转发到它所在的任务
除少数例外情况进行控制。 转义序列 将报告状态
与相关的所有任务 命令。 如果 在一次内输入两次
其次,关联的 SIGINT 信号将被发送到所有任务并终止
将进入发送 SIGCONT、SIGTERM 和 SIGKILL 到所有衍生任务的序列。 如果一个
第三 接收到,srun 程序将终止,无需等待
要退出的远程任务或要完成的 I/O。

转义序列 目前被忽略。 我们的目的是为了这个
命令进入可以调用各种特殊操作的模式。

MPI(牛奶蛋白分离物) 客户服务


MPI 的使用取决于所使用的 MPI 类型。 有三种根本不同
这些不同的 MPI 实现使用的操作模式。

1. Slurm 直接启动任务并进行通信初始化
(Quadrics MPI、MPICH2、MPICH-GM、MVAPICH、MVAPICH2 和一些 MPICH1 模式)。 例如:
“srun -n16 a.out”。

2. Slurm 为作业创建资源分配,然后 mpirun 使用
Slurm 的基础设施(OpenMPI、LAM/MPI、HP-MPI 和一些 MPICH1 模式)。

3. Slurm 为作业创建资源分配,然后 mpirun 使用
Slurm 以外的一些机制,例如 SSH 或 RSH(BlueGene MPI 和某些 MPICH1 模式)。
这些任务在 Slurm 的监控或控制之外启动。 Slurm 的结语应该是
配置为在放弃作业分配时清除这些任务。

参见 http://slurm.schedmd.com/mpi_guide.html 有关使用这些不同
使用 Slurm 实现 MPI。

日语课程选择 配置


配置文件中的注释必须在第一列中带有“#”。 配置文件
包含以下由空格分隔的字段:

任务等级
一个或多个任务等级使用此配置。 多个值可以是逗号
分开了。 范围可以用两个数字表示,中间用“-”隔开
首先是较小的数字(例如“0-4”而不是“4-0”)。 表示所有任务不
否则,指定等级为 '*' 作为文件的最后一行。 如果
试图启动一个没有定义可执行程序的任务,
将产生以下错误消息“没有为此指定的可执行程序
任务”。

可执行文件
要执行的程序的名称。 如果需要,可以是完全限定的路径名​​。

参数
程序参数。 表达式“%t”将替换为任务编号。
表达式“%o”将被替换为该范围内的任务偏移量(例如
配置的任务等级值“1-5”将具有“0-4”的偏移值)。 单身的
可以使用引号来避免解释所包含的值。 这个字段是
可选的。 将添加在命令行上输入的程序的任何参数
到配置文件中指定的参数。

例如:
############################################### #################
# srun 多个程序配置文件
#
# srun -n8 -l --multi-prog slim.conf
############################################### #################
4-6 主机名
1,7 回显任务:%t
0,2-3 回声偏移:%o

> srun -n8 -l --multi-prog 傻.conf
0:偏移量:0
1:任务:1
2:偏移量:1
3:偏移量:2
4:linux15.llnl.gov
5:linux16.llnl.gov
6:linux17.llnl.gov
7:任务:7

示例


这个简单的例子演示了命令的执行 主机 在八项任务中。 在
至少八个处理器将分配给作业(与任务计数相同)
但是需要很多节点来满足请求。 每个任务的输出将是
继续其任务编号。 (下例中的机器“dev”一共有
每个节点两个 CPU)

> srun -n8 -l 主机名
0: 开发 0
1: 开发 0
2: 开发 1
3: 开发 1
4: 开发 2
5: 开发 2
6: 开发 3
7: 开发 3

奔跑吧 -r 选项在作业脚本中用于在不相交的节点上运行两个作业步骤
下面的例子。 该脚本使用分配模式而不是作为批处理作业运行
这个案例。

> 猫测试.sh
#!/ bin / sh的
回声 $SLURM_NODELIST
srun -lN2 -r2 主机名
srun -lN2 主机名

> salloc -N4 test.sh
开发[7-10]
0: 开发 9
1: 开发 10
0: 开发 7
1: 开发 8

以下脚本在分配的一组节点中并行运行两个作业步骤。

> 猫测试.sh
#!/ bin / bash
srun -lN2 -n4 -r 2 睡眠 60 &
srun -lN2 -r 0 睡眠 60 &
睡1
尖叫
尖叫-s
等待

> salloc -N4 test.sh
作业分区名称用户 ST 时间节点节点列表
65641 批处理 test.sh grondo R 0:01 4 dev[7-10]

STEPID 分区用户时间节点列表
65641.0 批 grondo 0:01 dev[7-8]
65641.1 批 grondo 0:01 dev[9-10]

此示例演示如何执行简单的 MPICH 作业。 我们用 建立一个
要使用的机器(节点)列表 米匹伦 以其所需的格式。 示例命令
行和要执行的脚本如下。

> 猫测试.sh
#!/ bin / sh的
MACHINEFILE="nodes.$SLURM_JOB_ID"

# 为 mpich 生成机器文件,以便主机在同一个
# 像通过 srun 运行一样排序
#
运行 -l /bin/主机名 | 排序 -n | awk '{print $2}' > $MACHINEFILE

# 使用生成的机器文件运行:
mpirun -np $SLURM_NTASKS -机器文件 $MACHINEFILE mpi-app

rm $机器文件

> salloc -N2 -n4 test.sh

这个简单的例子演示了在不同节点上执行不同的作业
同样的跑。 您可以为任意数量的节点或任意数量的作业执行此操作。 这
可执行文件放置在 SLURM_NODEID 环境变量所在的节点上。 从 0 和
转到 srun 命令行上指定的数字。

> 猫测试.sh
案例 $SLURM_NODEID 在
0)回声“我正在运行”
主机名 ;;
1) 主机名
echo "是我跑步的地方";;
ESAC

> srun -N2 test.sh
dev0
是我跑步的地方
我在继续
dev1

此示例演示如何使用多核选项来控制任务布局。 我们
请求每个节点有四个插槽,每个插槽有两个内核专用于该作业。

> srun -N2 -B 4-4:2-2 a.out

此示例显示了一个脚本,其中 Slurm 用于为
当处理器可用于其专用
使用。

> 猫 my.script
#!/ bin / bash
srun --exclusive -n4 prog1 &
srun --exclusive -n3 prog2 &
srun --exclusive -n1 prog3 &
srun --exclusive -n1 prog4 &
等待

复印


版权所有 (C) 2006-2007 加州大学董事会。 劳伦斯出品
利弗莫尔国家实验室(参见,免责声明)。
版权所有 (C) 2008-2010 Lawrence Livermore National Security。
版权所有 (C) 2010-2015 SchedMD LLC。

该文件是资源管理程序 Slurm 的一部分。 有关详细信息,请参阅
<http://slurm.schedmd.com/>.

Slurm 是免费软件; 您可以根据条款重新分发和/或修改它
由自由软件基金会发布的 GNU 通用公共许可证; 版本 2
许可证,或(由您选择)任何更高版本。

Slurm 是分发的,希望它有用,但没有任何保证; 没有
甚至针对特定目的的适销性或适用性的默示保证。 见
有关更多详细信息,请参见GNU通用公共许可证。

使用 onworks.net 服务在线使用 srun


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。