发布时间:2025-12-10 11:31:13 浏览次数:6
4-2、作业管理系统 slurm、调试器 GDB
无
资源管理系统命令
yhinfo / yhi:资源信息查询
yhalloc:资源申请 (强占)
yhrun:作业提交 (自动申请资源)
yhqueen / yhq:作业队列查询
yhcancel:作业取消
yhbatch:批处理作业 (输出被保存到 slurm-jobID.out 下)
yhacct:作业历史查询
thcp1:分区名,之后使用 -p 命令指定
up:表明分区上线,可以使用
infinite:表明分区使用时间为无限长
266:处于某一状态的节点数量
STATE:节点状态
alloc:表示以及被分配的节点,已经被别人用了,现在不可用
resv:保留的节点,可能有问题或者其他,不可用
idle:空闲节点,表示可以使用的节点
down:节点被关机
NODELIST:处于该状态的节点编号
-p:指定分区
-N:指定程序使用的节点数
-n:指定程序使用的总进程数目,每个节点启动约 n/N 个进程,整除
-c:指定每个进程可使用的处理器个数,通常应该等于每进程派生的线程数
[binaryPath]:可执行文件名字,相对或绝对路径,后面可以继续带程序自身的运行时参数
scriptPath:shell 脚本文件,需要包含yhrun命令
【yhbatch 提交的作业终端关闭时不会受到影响,登录节点 down 时也不会受到影响】
-a:查询所有作业
-u :查询指定用户提交的作业
-n :查询指定名称的作业
-s :查询指定状态的作业
-p :查询指定分区的作业
JOBID:作业 ID 号,可以根据作业 ID 使用其他操作,如取消 yhcancel 等
PARTITION:分区名称
NAME:可执行文件名
USER:用户
ST:状态,R 表示 RUN,还有排队PD等
TIME:运行了多长时间
NODES:使用的几点数目
NODELIST:具体节点列表
当作业运行时间 (TIME) 远大于预期的运行时间时,可能是出现了问题,此时可以选择取消该作业
对于一个可执行文件 saxpy.exe,通过 slurm 系统,编写 shell 脚本 yhrun.sh,通过 yhrun 命令把程序二进制文件提交到计算节点进行串行计算,使用 yhbatch 命令,提交 yhrun.sh 脚本,使程序在后台运行
yhrun.sh
执行命令
yhbatch -N 1 -p thcp1 ./yhrun.sh &l 展示代码
例如:展示第 10 行,l 10 会将其上下 5 行均展示
b [行号] 在指定行处打断点
r 运行程序
p [变量名称] 查看代码中指定变量的值
c 继续执行程序
q 退出程序
info break 查看所有断点信息
disable [断点编号] 禁用指定的断点
enable [断点编号] 恢复指定的断点
clear [断点编号] 删除指定断点
watch [变量名称] 跟踪指定变量
gdb -c:使用 core 文件记录的信息进入程序调试 (输入 I 可以显示更多崩溃点附近的代码)
Backstrace,简写 bt,查看崩溃/断点附近的程序调用栈信息
frame [n],简写 f [n],查看调用栈的 #n 层
down,显示程序调用的更深层
up,显示程序调用的外层主调 (函数)
今天的学习内容较少,初次了解作业管理系统slurm,感觉这种远程计算的方式还是挺新鲜的,期待之后的学习内容 (≧∇≦)ノ
下次想要进入对高性能传统优化技术的学习
每周只开放部分的学习阶段吗?