登陆节点上运行作业
持续创建大量文件(十万以上)
未告知管理员的文件系统压力测试
VPN申请&问题,请联系信息中心(its@sustech.edu.cn)
xxxxxxxxxx节点名称 节点地址
太乙登陆IP 172.18.6.175 172.18.6.176 172.18.6.178 端口号:22 启明登陆IP 172.18.6.10 172.18.6.11 172.18.6.12 端口号:18188
注意:作业脚本中的ptile必须是数字,hname必须是节点名称,不能是shell变量
范例1-"太乙"-vasp\ 注意:建议采用2018.4版本\
xxxxxxxxxx
#!/bin/sh                          #BSUB -J N_F                        ##job name#BSUB -q short                     ##queue name#BSUB -n 80                        ##number of total cores     #BSUB -R "span[ptile=40]"          ##40 cores per node#BSUB -W 12:00                     ##walltime in hh:mm #BSUB -R "select[hname!='r13n18']" ##exclusive r13n18#BSUB -e err.log                   ##error log#BSUB -o H.log                     ##output logmodule load intel/2018.4 mpi/intel/2018.4 vasp/5.4.4mpirun vasp_std &>log注意:#BSUB -W 12 会被系统识别为12 min,若您需要指定运行时间为 12 小时, 脚本中需要修改为 #BSUB -W 12:00
xxxxxxxxxx
#!/bin/sh                          #BSUB -J N_F                        ##job name#BSUB -q short                     ##queue name#BSUB -n 80                        ##number of total cores     #BSUB -R "span[ptile=40]"          ##40 cores per node#BSUB -W 12:00                     ##walltime in hh:mm #BSUB -R "select[hname!='r13n18']" ##exclusive r13n18#BSUB -e err.log                   ##error log#BSUB -o H.log                     ##output logmodule load intel/2018.4 mpi/intel/2018.4 vasp/5.4.4mpirun /work/xxx-xxx/vasp.5.4.4/vasp.5.4.4/bin/vasp_std &>logintel/2018.4版本,使用人数较多,效率较好
不推荐使用自己编译的vasp软件;用户若需使用商业软件请提供自行提供license号,中心可协助安装
将log修改为$LSB_JOBID.log,生成每个作业对应的log文件
(混合模式)
xxxxxxxxxx
#!/bin/bash#BSUB -q short             ##queue name#BSUB -n 120               ##number of total cores #BSUB -e %J.err            ##error log#BSUB -R “hname!=r13n17“   ##exclusive node#BSUB -R "hname!=r13n09"##BSUB -o %J.out           ##output log#BSUB -W 20:00             ##walltime in hh:mm#BSUB -R “span[ptile=40]”  ##40 cores per nodehostfile=`echo $LSB_DJOB_HOSTFILE`NP=`cat $hostfile | wc -l`cd $LS_SUBCWD
#-------------intelmpi+ifort------------------------------------------source /share/intel/2017u8/compilers_and_libraries/linux/bin/compilervars.sh -arch intel64 -platform linuxsource /share/intel/2017u8/impi/2017.4.262/intel64/bin/mpivars.sh
mpiexec.hydra -machinefile $LSB_DJOB_HOSTFILE -np $NP  /work/xxx-xxx/bin/VASP/5.4.1/vasp_gam_intel2017 &> log范例2-"太乙"-自编mpi代码
xxxxxxxxxx
#!/bin/bash#BSUB -J test#BSUB -q short#BSUB -n 320#BSUB -e %J.err#BSUB -o %J.out#BSUB -R "span[ptile=40]"#Noo BSUB -R "select[hname!='r03n43']"#Noo BSUB -R "select[hname!='r03n55']"#Noo BSUB -R "select[hname!='r03n64']"
module load fftw/2.1.5module load intel/2018.4module load mpi/intel/2018.4
cd $LS_SUBCWDecho "processes will start at:"date
mpirun -machinefile $LSB_DJOB_HOSTFILE -np 320  ./main > $LSB_JOBID.log 2>&1
echo "processes end at:"date编译mpicc必须与mpirun一致,这里是2018.4
不推荐使用自己编译mpi软件和fftw库
main必须是可执行文件(chown a+x main)
范例3-openMP-太乙
xxxxxxxxxx
#!/bin/bash#BSUB -q short#BSUB -n 40                                 ##number of total cores#BSUB -e %J.err#BSUB -o %J.out#BSUB -R "span[ptile=40]"hostfile=`echo $LSB_DJOB_HOSTFILE`NP=`cat $hostfile | wc -l`cd $LS_SUBCWDexport OMP_NUM_THREADS=80                 ##number of total taskmodule load intel/2018.4
./omp_exam_icc > log 2>&1                ##download:/share/user_guide/exam/omp_exam_icc编译:gcc -fopenmp omp_exam.c -o omp_exam_icc
范例4-openMP+mpi-太乙
xxxxxxxxxx
#!/bin/sh                          #BSUB -J 2nodes2cores           ##job name#BSUB -q debug                  ##queue name#BSUB -n 4                      ##number of total cores #BSUB -R "span[ptile=2]"        ##2 cores per node#BSUB -W 00:10                  ##walltime in hh:mm #BSUB -e %J.err.log             ##error log#BSUB -o %J.output.log          ##output logmodule purgemodule load intel/2018.4 mpi/intel/2018.4cat $LSB_DJOB_HOSTFILE|sort|uniq >hostlistNP=2export OMP_NUM_THREADS=2mpiexec.hydra -machinefile hostlist -np $NP mpiOpenmp ##download:/share/user_guide/exam/mpiOpenmp编译:mpicc mpiOpenmp.c -o mpiOpenmp -fopenmp
§注意:基于计算资源申请量最小化原则,此处我们申请2个节点,每个节点2个进程,export OMP_NUM_THREADS=2 启用了2个openMP线程。这里所取例子是头节点启用2个线程。
"太乙"串行的脚本可以参考上面例子
串行程序的队列ser时间限制和其它队列不一样
串行程序的队列ser的核数没限制(其它队列是24的整数倍)
运行作业的基本步骤如下:
模型准备--用户准备模型数据文件和作业脚本文件。
模型上传--通过FTP工具将模型数据文件和脚本文件上传至FTP server。
作业提交--利用putty工具或其他SSH工具登陆超级计算机,用dos2unix 命令处理上传的文本文件后,用作业提交命令提交脚本文件进行计算。
作业监控--登录超级计算机,采用作业管理命令监控作业的执行情况。
结果下载--计算完成后,通过ftp工具从FTP Server 下载结果文件。
"太乙"采用的作业调度平台式LSF 10.1。用户需要熟悉一些基本的Linux命令行操作,特别是文件目录操作,并能熟练使用一种编辑器(vi 或emacs 等)。
xxxxxxxxxxbsub<test.lsf
test.lsf的写法可以参考 提交脚本范例
提交 LSF 任务,成功后会给出此任务的 JOBID
bjobs查看自己的所有运行任务情况;输入bjobs后,会列出当前用户正在运行的所有作业,最左边一列数字是每个作业的
JOBID,一些其他命令使用的时候需要先调用bjobs查看JOBID。
xxxxxxxxxx`bjobs –l` 查看所有运行任务的详细情况`bjobs –l JOBID` 查看 JOBID 这个任务的详细情况`bpeek –f JOBID` 跟踪查看某任务屏幕输出`bkill JOBID` 终止某任务运行`bkill JOBID1 JOBID2 JOBID3` 终止多个任务运行`bqueues` 查看所有任务队列的状态`bstop JOBID` 临时挂起某个计算作业,为其它计算腾出资源`bresume JOBID` 恢复由bstop挂起的作业`lshosts` 查看节点的信息`bhosts` 查看节点的作业使用信息`lsload` 查看节点的即时负载信息
作业结束后,会在计算目录下生成output.JOBID,此文件为程序输出内容。
使用bjobs可以监控到以下参数
PEND-作业在队列中等待调度与分派\ RUN-作业已经辈分派到节点机上,正在运行\ DONE-作业已经正常结束\ EXIT-作业已经结束,但可能是异常退出或者手动被终止\ UNKWN-执行节点失去联系,从而使作业状态不确定
查看任务实时输出\
bpeek 输出所有内容\
bpeek -f JOBID 类似于tail -f\
另外也可以通过重定向的方式将标准输出和标准错误重定向到指定的文件
如果任务有异常退出,可以查看计算目录文件下的output.JOBID来查看具体的原因。
共性问题是指""太乙"和"启明"共有的问题
参考收费通知
重新点击VPN登陆,第一次有可能因为没有获取到VPN的IP地址
确定本地网络是否正常
VPN归口信息中心,可联系信息中心解决
填写申请表[[下载]:账户申请表](../ref/Application.xlsx),然后发邮件至hpc@sustech.edu.cn,如果不是pi(课题组长),需要将邮件抄送PI
正在运行的作业路径名称不能修改,例如:/work/phy-test/vasp,这个目录里面有vasp作业正在运行, 通过mv或者其它命令,修改为:/work/phy-test/VASP, 这样会使得作业找不到路径,而出现空跑(节点还被作业占用,但是作业已经出错)。
bhosts hg_队列名,例如:bhosts hg_debug,可以查询队列debug对应节点的状态,如果STATUS为ok,RUN为0,那么这个节点是没有作业在运行,为空闲状态
注意:为了节点使用效率更高,单节点上使用核数需为20或者40,作业的总核数需为20的整数倍。在提交脚本里面应加上参数:#BSUB -R "span[ptile=40]"或者#BSUB -R "span[ptile=20]"
太乙上,提交作业使用 qsub test.lsf或者 bsub test.lsf都是错误的。这两种方式,都会把作业提交到默认队列medium.正确的方式是bsub < test.lsf
支持,严格来说这是Linux的程序支持,请使用Xmanager Enterprise客户端(确认您已购买,免费版本的Xshell不支持)或者MobaXterm进行操作,运行的可执行文件如果需要图形窗口会弹出窗口。
为了避免多个用户之间使用同一节点,而造成相互争抢资源,导致用户作业受影响.
建议作业间隔一段时间做一次输出
lsload hosts查看节点状态,比如作业在r12n32,r01n21上运行,可执行lsload r12n32 r01n21查看节点状态, r15s表示15秒内负载, ut 表示CPU使用率。
ping 所有FTP节点的IP地址,如果可以ping通但不能连接上FTP,请联系管理员。如果不能ping通ftp ip地址,请联系管理员。
进入登录节点后用户可以用yppasswd命令更改自己的初始密码。请用户同时保留好新旧密码以防变动。
太乙采用的集群调度系统为 LSF 10.1。先前熟悉其他调度系统(如pbs,slurm,SGE)的用户可能要更改作业递交的脚本以适应集群环境。测试程序建议先在编译节点上试运行,以确保程序运行正常
作业提交后,可通过bjobs命令查询账号本身提交作业的情况。PEND意为已提交系统运行的作业正在等待资源,尚未进行运算。原因有如下几类:
(1)申请使用的CPU数超过了队列对应资源池剩余的CPU数目。如果还有节点空闲,该节点应该属于其它队列的资源池,可以换队列提交
(2)申请使用运行程序的队列资源负荷超过队列最大提供CPU数,没有足够的CPU供新作业使用,在其他作业运行结束后会根据队列策略对该队列所有PEND作业进行统一调度。
(3)用户在作业脚本中指定使用节点的名称。由于用户指定节点,导致LSF在有空闲节点时也无法运行该作业。通过这种方法提交作业的成功概率也很小,因为用户指定的这些节点只要有一个被使用,该作业就始终处于PEND状态。因此,建议不要使用指定节点的作业提交方式。
以上任何一种原因均会导致提交的作业处于PEND状态。详细原因可以通过bjobs -l JOBID 查看 PENDING REASONS
如果你想Kill掉正在计算的作业,需要使用bkill jobid ,如果执行该命令后,显示作业还在运行,你可以先停止作业bstop jobid,稍等片刻,再执行bkill jobid作业就显示已经被Kill掉了。如果很多次bkill操作后作业依旧不能杀掉,请联系hpc@sustech.edu.cn
系统输出的文档在您递交运算所在的文件夹里,一般为output.jobid的形式输出。\ 如果在作业脚本中有重定向输出到文件,请同时查看该文件和output文件。
如果您的作业在计算过程中异常退出,请在登录节点使用bjobs -l jobid(比如bjobs –l 1232343) 查看作业退出码
127 - 命令没有找到
128 - 命令调用没有执行,应用软件的License是否可用等
(1)欠费关闭
(2)确认VPN是否连接正常;
(3)登录节点异常,选择其他登录节点登录;
(4)因系统采用的是共享存储,有可能因登录节点的异常,导致共享存储没有挂上,你可以退出选择其他登录节点重新登录。
目前在账号的有效日期内,没有对作业的运行时间限制
一般情况下用户将环境变量在用户目录下的.bashrc中定义,这样主要是为了方便用户使用。实际上LSF作业系统和.bashrc配置并无直接关联。\ LSF作业系统通过读取用户执行bsub所在命令终端的环境变量,然后将环境变量传递到计算节点上。因此,如果用户的一个账号需要同时使用多种环境,比如要同时使用openmpi + intel,openmpi + pgi 两种运行环境,请不要设置.bashrc。先做好几个环境变量脚本,然后每次要编译或者提交作业前先source这些脚本,然后就可以编译程序或者通过bsub提交作业。
编辑命令
xxxxxxxxxxCtrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按单词前移(右向)Alt + b :按单词后移(左向)Ctrl + xx:在命令行首和光标之间移动Ctrl + u :从光标处删除至命令行首Ctrl + k :从光标处删除至命令行尾Ctrl + w :从光标处删除至字首Ctrl + / : undoAlt + d :从光标处删除至字尾Ctrl + d :删除光标处的字符Ctrl + h :删除光标前的字符Ctrl + y :粘贴至光标后Alt + c :从光标处更改为首字母大写的单词Alt + u :从光标处更改为全部大写的单词Alt + l :从光标处更改为全部小写的单词Ctrl + t :交换光标处和之前的字符Alt + t :交换光标处和之前的单词Alt + Backspace:与 Ctrl + w 相同类似,分隔符有些差别 [感谢 rezilla 指正]
注意:Alt快捷键在xhell中默认不可用于shell
重新执行命令
xxxxxxxxxxCtrl + r:逆向搜索命令历史Ctrl + g:从历史搜索模式退出Ctrl + p:历史中的上一条命令Ctrl + n:历史中的下一条命令Alt + .:使用上一条命令的最后一个参数
控制命令
xxxxxxxxxxCtrl + l:清屏Ctrl + o:执行当前命令,并选择上一条命令Ctrl + s:阻止屏幕输出Ctrl + q:允许屏幕输出Ctrl + c:终止命令Ctrl + z:挂起命令
复制粘贴\ 使用putty或者xshell时,复制和粘贴也可以在菜单栏内选择用鼠标选取作为复制,并用鼠标右键进行粘贴。可以在上面菜单栏选择 工具 - 选项\ 将选定的文本自动复制到剪贴板 选中
如果您在使用中遇到问题,欢迎与我们联系,工作日收到您的邮件我们会在半小时响应。\
感谢阅读这份帮助文档。如发现文档中描述不准确,请邮件告诉我们。
change log : 2019.11.29
20191129创建文档
ver1.0
change log : 2020.09.28
20200928修改登录IP
ver1.01
change log : 2025.09.27
修改太乙和启明登录IP
删除不符合当前集群相关内容