slurm作业调度系统与天河二号的基本命令(新手入门, 以gs和vasp为例)

本文地址
           👍如果大家觉得本文有用的话,希望能点个赞鼓励一下,十分感谢各位的支持
在这里插入图片描述

文章目录

  • 1 前言
    •   1.1 slurm系统的简介
    •   1.2 slurm系统的资源申请过程的简要说明
  • 2 Slurm系统的基础命令
    •   2.1 shell脚本文件与批处理文件的提交
  • 3 个人编辑的功能小脚本
  • 5 不需要cd命令,快速运行脚本
    •  5.1 运行程序的常用情况
    •   5.2 如何直接执行sh脚本
  • 6 Mobaxterm终端操作小技巧


1 前言

本文针对一般的新手小白的需要进行原理介绍,所以会介绍的比较抽象一些。
本文主要参考了以下文章。转载本文需要附上本文链接。
【Slurm系统入门】
[1] SLURM 资源管理系统(自可乐,简书)
[2] slurm系统的使用格式示范
[3] PBS或SLURM提交任务的命令对比

【超算使用手册】
[4] 中国科大超算中心用户使用手册(虚拟gnome桌面) (衍生命令讲的比较详细)
[5] 北京大学超算中心使用手册 (排版比较好)
[6] 超算slurm进阶 (讲了很多额外功能)

  1.1 slurm系统的简介

    SLURM (Simple Linux Utility for Resource Management)是一种可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统,被世界范围内的超级计算机和计算集群广泛采用。SLURM 维护着一个待处理工作的队列并管理此工作的整体资源利用。它以一种共享或非共享的方式管理可用的计算节点(取决于资源的需求),以供用户执行工作。SLURM 会为任务队列合理地分配资源,并监视作业至其完成。
    如今,SLURM 已经成为了很多最强大的超级计算机上使用的领先资源管理器,如天河二号上便使用了 SLURM 资源管理系统。其实天河二号也通用slurm的系统指令,只不过把slurm指令开头的“s"换成了银河的拼音缩写"yh", slurm指令的英文单词简化成首字母, 例如,squeueyhq都是查看作业情况的命令。sinfoyhi都是查看分区的情况。具体见超算HPC3N系统用户手册。
(转载自 可乐(简书): SLURM 资源管理系统)

  1.2 slurm系统的资源申请过程的简要说明

    使用Slurm系统提交作业和本地计算机使用的区别在于,执行sh脚本以及调用核数都需要参与排队。不论是本地计算机安装的slurm队列系统,还是超算上安装的队列系统,对于普通用户的意义在于在有限资源的情况下,以先到先得的原则将资源分配给多个人进行计算。此外,如果一个任务算完,不需要人为的等到任务算完再执行计算任务,系统可以自动检测之前的任务算完,自动执行计算任务,这样就能充分利用好计算资源一直进行计算。过程示意图如下所示:

申请节点数和核数
排到号jobid
sbatch 脚本.sh
排队等待资源分配
执行sh脚本文件

    另外,指令的输入个人建议使用mobaxterm(必应搜索官网下载), 文件的传输建议使用winscp(其实也可以输入简单指令,但是不太好用)。 一些常用的unix指令见HPC3N系统用户手册的附录。mobaxterm鼠标中键可以直接输出路径,可以查看cpu使用率等等,功能很方便,可以多尝试尝试。
    对于执行作业的方式,有三种作业运行模式,分别为批处理模式(sbatch), 交互模式(srun), 分配模式(salloc)。具体见引文1

2 Slurm系统的基础命令

常用的指令如下
(其中(4)系统控制指令scontrol 配合 show jobs jobid , release jobid, release jobid 等可实现多种功能)
(jobid为你在整个超算系统的任务队列序号,超算按照jobid从小到大的顺序提供计算资源, 未挂起的任务将会按照jobid的顺序获得计算资源)

常用命令slurm系统天河二号系统
(1)提交批处理文件sbatchyhbatch
(2)执行作业(类似mpirun)srunyhrun
(3)查看队列状态squeueyhq
(4)系统控制scontrolyhcotnrol
(5)取消作业scancelyhcancel
(6) 查看节点与分区状态sinfoyhi
注: 查看用户使用权限命令: yhacctmgr list association

  2.1 shell脚本文件与批处理文件的提交

用sbatch提交作业首先要申请资源,申请多少资源(节点数,输入输出等等)需要进行说明,有两种说明方法(以提交的shell脚本为task.sh为例,提交前建议给该文件777权限):
个人目前使用情况(未在shell脚本中说明, 使用1个节点32个核,gjf计算文件/vasp计算文件夹内执行):
(gaussian 16 : sbatch -c32 -pTH_LONG3N g16.sh)
(VASP : sbatch -N 1 -n 32 -p TH_LONG3N vasp.sh)

(1) 不在脚本中声明,在在终端中进行声明,如:
①shell脚本的内容如下:

#!/bin/bash#<1.source 环境变量>
# 天河二号和非sbatch提交的脚本会自动source ~/.bashrc,因此此步可以忽略
# 本地计算机使用sbatch命令提交shell脚本,由于是在由于是在nonloginshell环境里运行,而非interactive loginshell,并不会自动source ~/.bashrc 的环境变量,因此有两种解决方案
解决方案1: 此处加上source ~/.bashrc
解决方案2: 此处按顺序export 和source所有所需的变量。# <2.执行运行软件>
# 高斯执行方式1(gjf文件同目录下直接执行): g16 < test.gjf > test.out
# 高斯执行方式2(同目录下,srun): srun -c 32 -p TH_LONG3N g16 < test.gjf > test.out
# VASP执行方式1(文件夹内, srun,老超算): srun -p TH_NEW1 -N 1 -n 12 vasp软件路径
# VASP执行方式2(文件夹内, srun,新超算): srun -p LONG_3N -N 1 -n 32 vasp软件路径

②终端提交命令如下:

cd task.sh的文件路径 #mobaxterm可以中键锁定路径,不用手动输入了
sbatch -p TH_LONG3N -N 1 -n 1 -c 32 task.sh #也可以winscp打开文件所在位置,shift+ctrl+T, 然后输入命令。这样可以不需要cd命令。

(2) 在shell脚本文件开头进行声明,在终端直接提交:
注释行并非没用, 第一行#!是说明用什么语言,比如bash语言,删了就不能正常运行。
#SBATCH其实是能正常读取的。具体说明见北大超算sbatch 常用参数。2

#!/bin/bash
#SBATCH -p TH_LONG3N      	#可以用sinfo查看分区,老超算为TH_NEW1,新超算为TH_LONG3N,超算中debug3N分区不用参与大循环,但是运行时间上线为半小时。
#SBATCH -N 1      			#使用1个节点
#SBATCH -n 1      			#1个进程
#SBATCH -c 32      			#每个任务所需要的核心数为32个核(clusters)。老超算则为12个核# $SLURM_SUBMIT_DIR #提交任务的当前路径
#第一行对应: $SLURM_PARTITION,类似-p, --partition
#第二行-N对应:$SLURM_NNODES,作业分配的节点数
#第三行-n对应: $SLURM_NPROCS , 要加载的进程数
#第四行 -c对应:SLURM_CPUS_PER_TASK:类似-c, --cpus-per-task
#参考: https://scc.ustc.edu.cn/zlsc/user_doc/html/slurm/slurm.html#id21Index of task relative to jobDeprecated. Same as SLURM_JOB_NUM_NODES$SLURM_JOB_NUM_NODESNumber of nodes allocated to job#<1.source 环境变量>
# 天河二号和非sbatch提交的脚本会自动source ~/.bashrc,因此此步可以忽略
# 本地计算机使用sbatch命令提交shell脚本,由于是在由于是在nonloginshell环境里运行,而非interactive loginshell,并不会自动source ~/.bashrc 的环境变量,因此有两种解决方案
解决方案1: 此处加上 source ~/.bashrc
解决方案2: 此处按顺序 exportsource 所有所需的变量。# <2.执行运行软件>
# 高斯执行方式1(gjf文件同目录下直接执行): g16 < test.gjf > test.out
# 高斯执行方式2(同目录下,srun): srun -c 32 -p TH_LONG3N g16 < test.gjf > test.out
# VASP执行方式1(文件夹内, srun,老超算): srun -p TH_NEW1 -N 1 -n 12 vasp软件路径
# VASP执行方式2(文件夹内, srun,新超算): srun -p LONG_3N -N 1 -n 32 vasp软件路径

②终端提交命令如下:

cd task.sh的文件路径 #mobaxterm可以中键锁定路径,不用手动输入了
sbatch task.sh #因为已经在sh文件中声明了,所以此处就不需要-N -n了

补充: 如果想要多个程序并行执行,需要在程序运行命令后面加上&符号(运行该命令后继续执行脚本,而等待程序运行完再进入下一步),并且再sh脚本最后加上wait命令,即等待所有程序运行结束后脚本才停止。否则会因脚本的直接停止关掉程序。

3 个人编辑的功能小脚本

复制其中一行到超算里,并回车即可进行统计。(Momol,2021/09/07,命令适用于天河超算)
(1)查看R,运行(Run)节点总数

squeue | awk '$5 ~ /R/ {print $7}' | awk '{sum+=$1}END{print sum}' #R  运行节点总数    (mhk2021)

(2)查看PD,排队(PaiDui)节点总数

squeue | awk '$5 ~ /PD/ {print $7}' | awk '{sum+=$1}END{print sum}' #PD  排队节点总数  (mhk2021)

(3)查看PD+R,排队+运行节点总数

squeue | awk '{print $7}' | awk '{sum+=$1}END{print sum}' #R+PD  节点总数  (mhk2021)

命令原理解释:“|”为管道符号,输出信息到后者
(1)显示运行节点总数
squeue | awk ‘$5 ~ /R/ {print $7}’ | awk ‘{sum+=$1}END{print sum}’
#查找yhq输出信息包含"R"的行,并输出第7列,然后求和输出

(2)显示排队节点总数
squeue| awk ‘$5 ~ /PD/ {print $7}’ | awk ‘{sum+=$1}END{print sum}’
查找yhq输出信息包含"PD"的行,并输出第7列,然后求和输出

(3)运行+排队节点总数
squeue | awk ‘{print $7}’ | awk ‘{sum+=$1}END{print sum}’ #运行+排队节点总数(2021)
查找yhq信息,输出第7列,然后求和输出
awk语法参考网址: Linux awk 命令

5 不需要cd命令,快速运行脚本

 5.1 运行程序的常用情况

  对于部分不需要申请CPU计算资源进行计算的命令,可以放在一个文件夹下。
(1)一般运行.sh文件,都需要cd到当前目录后,执行文件。(类似于windows系统下双击exe文件的功能。只不过在linux里双击是编辑,在终端里输入文件路径/文件是执行文件)。在超算中,对于不需要核数的命令可以直接执行。

cd 你的文件所在目录 #对于mobaxterm,鼠标中键可以直接指向路径位置
./文件名.sh  #"/"表示当前目录

或者执行文件的绝对路径也可以直接执行。

cd 文件名录/文件名.sh  #"/"表示当前目录

  5.2 如何直接执行sh脚本

直接运行sh脚本方法: 在终端里,如果输入以下命令,该终端下的文件夹ABCD的所有文件,直接输入名字便可以运行。这样不需要cd,在chmod +x sh文件(或在桌面环境/winscp右键属性下)给予文件执行权限后,直接输入sh文件的全称就能直接运行scripts文件夹下的sh脚本。

export PATH=~/文件夹scripts的路径:$PATH 

如果你不想要每次打开终端都export文件夹的路径,可以把路径设置加入到默认的全局环境变量设置文件.bashrc里。

mkdir ~/scripts #用户目录下创建名为"scripts"的文件夹
echo 'export PATH=~/scripts:$PATH' >> ~/.bashrc  #将该字符串追加写入~/.bashrc (不覆盖)
source ~/.bashrc  #更新~/.bashrc的信息

[代码作用] 通过执行完上述代码,你的所有在scripts文件夹的脚本,直接输入脚本全名就能直接运行。
(1).bashrc文件的作用 : 所有#!/bin/bash开头的文件会自动source/.bashrc的环境变量。
(2)export和source命令的作用 : ;和直接定义变量相比, export命令的作用是使用export定义的变量在该终端的子程序下仍然生效,不会因为切换程序消失。source命令则是读取文件中的所有变量定义,并使其生效。
(3)环境变量PATH的作用 :  加入PATH路径之后,不需要cd,直接输入文件名就可以运行文件(先相当于自动进入所有PATH路径寻找同名文件运行)。  但是由于不同软件有可能会有相同名字的文件,这时可能会起冲突。因此对于多人使用的系统,建议在sh文件内部进行PATH环境变量的声明,而不是都放在.bashrc内部。

6 Mobaxterm终端操作小技巧

(0) 可录制宏命令(Macro), 需要时自动播放
[锁定文件位置和文件名]
(1) cd 文件路径: 在程序Mobaxterm中, 鼠标中键文件夹可自动输入文件路径。类似于windows系统中双击文件夹。 常用衍生命令: cd … 返回上级目录
(2) Tab键: 操作文件很好用,根据文件头自动检索文件,可自动根据开头补全信息(包括对空格自动转义): 输入开头字母后,按下tab键。按多次自动补全。
(3)"$(ls *.后缀)"命令: 自动根据文件尾检索文件,双引号是为了避免文件有空格的情况。 如果没有空格,直接用*.sh也可以。

[程序输入小技巧]
(3) ctrl+C中断程序, 或者ctrl+U取消输入。
(4) cat 命令快速查看文本信息, grep命令和管道符号联用搜索文件内容。


  1. SLURM 资源管理系统(自可乐,简书) ↩︎

  2. 北京大学超算中心使用手册 (排版比较好) ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58536.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天河二号超级计算机

天河二号超级计算机 概况&#xff1a; “天河二号”是由国防科学技术大学研制的超级计算机系统&#xff0c;以峰值计算速度每秒5.49亿亿次、持续计算速度每秒3.39亿亿次双精度浮点运算的优异性能位居榜首&#xff0c;成为全球最快超级计算机。[1] 2014年11月17日公布的全球超…

天河一号属于微型计算机,勇闯天河 探秘“天河一号”超级计算机

“天河一号A”架构介绍 “天河一号”改进型“天河一号A”将理论运算能力提升至每秒4701万亿次&#xff0c;实测运算能力提升至每秒2507万亿次的高度&#xff0c;荣登世界超级计算机排行榜榜首。它是一套开放式访问系统&#xff0c;可用来执行大规模科学计算。 “天河一号A”机柜…

超级计算机怎么收费,近距离看中国天河2号内部细节及收费标准

【PConline 资讯】天河2的报道已经不少&#xff0c;参数露的也差不多了(可以参考延伸阅读中我们的报道)&#xff0c;但是对于这部全球最快超级计算机真实的内部细节&#xff0c;一直还笼罩着一团迷雾&#xff0c;特别是升级了“ARCH”联网系统以后&#xff0c;16000个节点是怎么…

天河1号计算机配置,“天河一号”超级计算机配置抢先披露

今天全国高性能计算学术会议在长沙召开,大会披露了登顶中国高性能计算机TOP100的“天河一号”超级计算机系统。这套系统采用了采用了混合异构的环境,主计算系统为Intel至强5500,采用了ATI的GPU,CPU和GPU数目分别为6144和5120,内存总容量98TB,点点通信带宽40Gbps,共享磁盘…

天河2号超级计算机的作用,揭示“天河2号”超级计算机能做什么?

根据国防科学技术大学的相关数据&#xff0c;截至目前&#xff0c;天河二号用户已达120多个&#xff0c;已进行了300多次典型应用计算. 目前&#xff0c;天河2号已成功应用于商用大型飞机C919的设计什么是高性能计算机&#xff0c;高分辨率对地观测&#xff0c;基因测序&#x…

天河二号微型计算机,“天河二号”成为全球最快超级计算机

原标题&#xff1a;“天河二号”成为全球最快超级计算机 今日公布的全球超级计算机500强排行榜中&#xff0c;中国“天河二号”成为全球最快超级计算机。 2013年5月&#xff0c;我国研制成功世界上首台5亿亿次(50PFlops)超级计算机——“天河二号”&#xff0c;这是国家863计划…

天河2号超级计算机每秘算几次,世界第一超算:天河二号操作系统揭秘

世界第一超算&#xff1a;天河二号操作系统揭秘 2014年05月19日 14:14作者&#xff1a;陈骋编辑&#xff1a;陈骋 分享 泡泡网CPU频道5月19日 Ubuntu是最成功的Linux系统发行版本&#xff0c;天河二号则是世界上最快的超级计算机&#xff0c;但是你能想象它们俩走到一起么&…

天河3号超级计算机内从,自主新超算天河3号曝光:处理器部分抛弃Intel

最新一期的国际“TOP500”组织超级计算机榜单中&#xff0c;中国“神威太湖之光”和“天河二号”拔得一二名。 其中&#xff0c;“神威太湖之光”持续最高计算速度为每秒9.3亿亿次&#xff0c;功耗1.5万KW&#xff0c;天河二号为每秒3.3亿亿次&#xff0c;功耗1.7万KW。 配置方…

中国天河3号计算机排名,中国天河三号问世,一举超越美国顶点计算机,曾跻身全球领先序列...

超级计算机作为用于执行普通电脑无法处理的资料为主的设备&#xff0c;虽然与普通电脑在构造方面基本一致&#xff0c;但是在性能与规模上却有很大的差异。据悉超级计算机主要拥有超大的数据存储容量、快速处理数据的能力&#xff0c;而美国是全球最早拥有超级计算机的国家。根…

超级计算机 天河三号,中国新一代百亿亿次超算“天河三号”问世!再创世界纪录...

搜罗世界新奇&#xff0c;将世界尽收眼底。说到超级计算机&#xff0c;我想每个人都已经耳熟能详了&#xff0c;超级计算机被誉为是计算机中的f1&#xff0c;尤其是我国超级计算机的研发已经处于世界的绝对领先地位。 神威太湖之光每秒九点三亿亿次的运算速度&#xff0c;更是连…

天河三号是量子计算机吗,“天河三号”原型机亮相,排名有望继续世界第一

原标题&#xff1a;“天河三号”原型机亮相&#xff0c;排名有望继续世界第一 上个月&#xff0c;中国又公开了一个好消息&#xff0c;中国新一代超算“天河三号”原型机首次亮相&#xff0c;这是世界首台百亿亿次超级计算机&#xff0c;“天河三号”E级超算运算能力是天河二号…

让线上学习不打折扣,作业帮如何用技术促进课堂高频互动场?

“在大班直播课上&#xff0c;可能有数千甚至上万学员同时上课&#xff0c;但是他们彼此看不见也听不见&#xff0c;是千千万万个‘孤独的个体’&#xff0c;而‘小组直播间’却可以让他们随时随刻感觉到自己置身于一个温暖的集体之中。” “小组直播间”是曹越一直主张在大班…

基于android的教育机构家校通系统app

需求信息&#xff1a; 客户端老师 1&#xff1a;用户注册与登录 2&#xff1a;添加作业信息&#xff1b;作业包含选择、填空以及简单题 3&#xff1a;查看自己添加的试题信息&#xff1b; 4&#xff1a;对学生提交的作业信息进行查看和批改&#xff1b; 5&#xff1a;和学生进行…

计算机作业老师会批改吗,小学和初中生家长每天都按照老师的要求批改作业吗?...

2019-06-20 17:44:35 现在孩子的作业量很大是可以理解的&#xff0c;现在孩子学到知识也是之前的很多倍&#xff0c;作业量大也是为了很好的复习当天孩子学到的东西。至于&#xff0c;家长还要帮助孩子批改作业&#xff0c;这是因为现在的家长自从孩子上学以后&#xff0c;陪孩…

开放原子开源基金会发布《全球开源发展态势洞察》2023年第五期 | 总第七期

当前&#xff0c;开源驱动创新的能力日益显著&#xff0c;已成为经济社会新变革的赋能者。开源通过汇聚创新资源、构建信任环境&#xff0c;促进知识、智慧、技术、成果等的共享&#xff0c;加速创新要素的高效流动&#xff0c;促进全球技术创新成果的落地&#xff0c;已经成为…

Google 重磅宣布 KataOS 开源操作系统,微内核世界一件大事

Google 发布了 KataOS&#xff0c;这是一种针对开源 RISC-V 芯片上嵌入式系统的新安全操作系统的早期探索。 Google 的 KataOS“几乎完全用Rust编写”&#xff0c;这是 Android 开源项目和 Linux 内核项目采用的编程语言。 “KataOS 也几乎完全在 Rust 中实现&#xff0c;它为软…

神经网络及CNN中的通道、共享权重、特征映射等的理解

一、神经网络 先回顾一下多层神经网络: 多层神经网络包括一个输入层和一个输出层,中间有多个隐藏层。每层有若干个神经元,相邻两层之间的后一层的每个神经元都分别与前一层的所有神经元连接。在识别问题中,输入层(即网络的第一层)代表特征向量,其每一个神经元代表一个特…

消息传递神经网络(pyG实现GCN层)

消息传递神经网络 一、引言二、消息传递范式介绍三、消息传递的实现&#xff08;pyG&#xff09;1、MessagePassing基类2、继承MessagePassing实现GCNConv 一、引言 为节点生成节点表征是图计算任务成功的关键&#xff0c;神经网络的生成节点表征的操作叫做节点嵌入&#xff0…

为什么神经网络层数越多越好?训练次数与层数的区别与联系

为什么神经网络层数越多越好&#xff1f; 参考资料&#xff1a;https://www.zhihu.com/question/65403482、https://blog.csdn.net/weixin_44023658/article/details/106177580、https://www.bilibili.com/video/BV1bx411M7Zx 一句话回答 神经网络层数越多&#xff0c;对输入…

图神经网络(Graph Neural Networks)概述

论文&#xff1a;A Comprehensive Survey on Graph Neural Networks 一篇关于图神经网络的综述文章&#xff0c;着重介绍了图卷积神经网络&#xff08;GCN&#xff09;&#xff0c;回顾了近些年的几个主要的图神经网络的的体系&#xff1a;图注意力网络、图自编码机、图生成网…