行文件名,如果不指定运行文件名,将自动生成a.out 。
% mpiifort –O3 –o tt tt.f
这里的tt.f为用MPI并行FORTRAN语言编写的源程序,-O3指定优化级别,-o tt是指定生成的运行文件名,如果不指定运行文件名,将自动生成a.out 。 运行源程序的例:
% mpirun –n 4 –np 32 tt
这里-n 4 -np 32 是向系统申请4个节点32个CPU(核),tt为可执行并行文件。 % mpirun –np 8 tc
这里-np 8 是向系统申请8个CPU(核),tc为可执行并行文件。
7. 利用LSF递交作业
为了便于管理充分利用计算资源,规定用户不能登录到计算节点,这样用户只能通过LSF递交作业,由LSF自动分配调度计算资源。 1) 设置LSF 环境变量 bash:
%. /gpfssan1/apps/lsf/conf/profile.lsf csh
source /gpfssan1/apps/lsf/conf/cshrc.lsf % env | grep LSF
LSF_SERVERDIR=/gpfssan1/apps/lsf/7.0/linux2.6-glibc2.3-x86_64/etc LSF_LIBDIR=/gpfssan1/apps/lsf/7.0/linux2.6-glibc2.3-x86_64/lib LSF_VERSION=7.0
LSF_BINDIR=/gpfssan1/apps/lsf/7.0/linux2.6-glibc2.3-x86_64/bin
XLSF_UIDDIR=/gpfssan1/apps/lsf/7.0/linux2.6-glibc2.3-x86_64/lib/uid LSF_ENVDIR=/gpfssan1/apps/lsf/conf 2) 作业提交
% $ cd /gpfsTMP/WRFV3_intel/WRFV3_chu/run
% $ bsub -a intelmpi -n 40 mpirun.lsf ./wrf.exe (递交作业到缺省队列) 系统显示:
LSB_SUB_RES_REQ=\
Job <321> is submitted to default queue < qmedium > 其中:
-a intelmpi 指定该作业使用intelmpi -n 40 指定作业进程数
mpirun.lsf 为LSF系统脚本,放在可执行文件前 wrf.exe 为可执行文件。
强制指定按节点分配CPU的方式
% bsub -a intelmpi -n 16 -R \其中 -R \要求系统按8的整数倍分配CPU
% bjobs (查看提交的作业所分配节点 )
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME
SUBMIT_TIME
321 test1 RUN qmedium c01n01 8*c22n14 *./wrf.exe Dec 30 14:39 8*c30n14 8*c23n13 8*c29n13 8*c25n06
% bsub -a intelmpi -n 512 –q qlarge mpirun.lsf ./wrf.exe (递交作业到指定队列)
系统显示:
LSB_SUB_RES_REQ=\Job <321> is submitted to queue
-q qlarge 指定将作业放入qlarge队列排队。
gromacs作业的递交方法(先把用户并行环境改成openmpi方式) % bsub -n 16 openmpi.lsf mdrun -deffnm test
用脚本递交一个作业 %vi spoolfile
#BSUB -q qmedium 指定队列 #BSUB -a intelmpi 指定并行环境
#BSUB -n 16 指定CPU(core)个数
#BSUB -R \指定分配的每节点8个CPU cd /gpfssan1/home/zql/test 进入工作目录
mpirun.lsf ./tt 执行当前目录下的tt文件
% bsub < spoolfile 递交作业
3) 检查作业状态
bjobs命令列出了用户提交作业的作业号、用户名、作业状态、作业列队、作业提交 点、作业计算节点、作业名以及作业提交时间等信息。 % bjobs -a
-w wide format
-aps 等待作业按作业执行顺序排序显示 -u all 显示所有作业
% bjobs -l 321 | more
Job <321>, User
Wed Dec 30 14:39:45: Submitted from host
uested Resources
Wed Dec 30 14:39:49: Started on 40 Hosts/Processors <8*c22n14> <8*c30n14> <8*c 23n13> <8*c29n13> <8*c25n06>, Execution Home
fssan1/home/test1>, Execution CWD ;
Wed Dec 30 14:44:58: Resource usage collected.
The CPU time used is 128464 seconds.
MEM: 94878 Mbytes; SWAP: 188287 Mbytes; NTHREAD: 1031 PGID: 9856; PIDs: 9856 9857 9859 10054 9861 PGID: 10136; PIDs: 10136 PGID: 10137; PIDs: 10137
PGID: 9934; PIDs: 9934 9934 9934 9934 9934 9934 9934 在线检查作业执行结果命令:bpeek 『JOBID』 % bpeek -f 321
<< output from stdout >>
starting wrf task 40 of 40
4) 查看历史作业
% bhist -a
Summary of time in seconds spent in various states:
JOBID USER JOB_NAME PEND PSUSP RUN USUSP SSUSP UNKWN TOTAL
111 test1 *ep 1000 4302 0 1000 0 0 0 5302 112 test1 *ep 1000 5305 0 1000 0 0 0 6305 % bhist -l 321
Job <321>, User sTMP/WRFV3_intel/WRFV3_chu/run>, Output File , Re-runnable, 40 Proces sors Requested, Requested Resources Wed Dec 30 14:39:49: Dispatched to 40 Hosts/Processors <8*c22n14> <8*c30n14> < 8*c23n13> <8*c29n13> <8*c25n06> Wed Dec 30 14:39:49: Starting (Pid 9856); Wed Dec 30 14:39:49: Running with execution home , Execut ion CWD , Execution Pi d <9856>; Summary of time in seconds spent in various states by Wed Dec 30 14:49:38 PEND PSUSP RUN USUSP SSUSP UNKWN TOTAL 4 0 589 0 0 0 593 5) 作业管理 结束作业进程命令:bkill 『JOBID』 %bkill 112 suspend用户作业,作业执行状态由RUN转变为SUSPEND %bstop 112 resume用户作业,作业执行状态由SUSPEND转变为RUN。 %bresume 112 6) 队列配置 % bqueues QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP qdebug 50 Open:Active - - - - 0 0 0 0 qseq 45 Open:Active - - - - 0 0 0 0 qsmall 40 Open:Active - - - - 0 0 0 0 qmedium 35 Open:Active - - - - 0 0 0 0 qlarge 30 Open:Active - - - - 0 0 0 0 7) 机器分组 % bmgroup GROUP_NAME HOSTS c30 c30n13 c30n14 c30n01 c30n02 c30n03 c30n04 c30n05 c30n06 c30n07 c30n08 c30n09 c30n10 c30n11 c30n12 c29 c29n13 c29n14 c29n01 c29n02 c29n03 c29n04 c29n05 c29n06 c29n07 c29n08 c29n09 c29n10 c29n11 c29n12 c28 c28n01 c28n02 c28n03 c28n04 c28n05 c28n06 c28n07 c28n08 c28n09 c28n10 8) 机器状态 % lsload | more HOST_NAME status r15s r1m r15m ut pg ls it tmp swp mem qnode03 ok 0.0 0.0 0.0 0% 0.0 2 1 208G 20G 17G c02n01 ok 0.0 0.0 0.0 0% 0.0 0 66 111G 10G 11G c02n02 ok 0.0 0.0 0.0 0% 0.0 0 66 111G 10G 11G c02n03 ok 0.0 0.0 0.0 0% 0.0 0 66 111G 10G 11G c02n05 ok 0.0 0.0 0.0 0% 0.0 0 66 111G 10G 11G Linux 常用命令 1.date :显示或设置系统时间 2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等) 3. passwd: 更改用户登录密码 4. login, logout: shell的登录和注销 5. pwd: 显示当前目录 6.cd : 进入指定目录 7. more, less, head tail: 显示或部分显示文件内容. 8. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件的有关命令. 9. chmod :更改文件读、写或执行权限 9. rm :删除文件或目录 10. cp :拷贝文件或目录 11.mv : 文件更名或移动 12.vi :文本编辑器 13.top : 查看系统长时间运行的主要进程 14. fg jobid :可以将一个后台进程放到前台。 Ctrl-z 可以将前台进程挂起(suspend), 然后可以用bg jobid 让其到后台运行。 job & 可以直接让job直接在后台运行。 15. ps :查看系统进程, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。) 16. kill : 杀掉一个指定进程号的进程或向系统发送一个信号。 17.man :给出指定命令的详细描述。 18.ls :列出当前或指定目录下的文件或目录。 19.rlogin, telnet, rsh, ssh :远程登录。 20.rcp,ftp, sftp,scp: 远程文件拷贝。 Linux 的绝大部分命令都可以用man 命令来查看更详细的说明。 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库南京大学IBMHS22刀片集群系统用户手册(2)在线全文阅读。
相关推荐: