【芯片设计 - 常用工具 bsub 命令介绍】


请阅读【芯片设计 RTL 数字逻辑设计扫盲 】



下篇文章:芯片设计- RTL 数字逻辑设计入门 1- Linux 环境下 VCS与 Verdi 联合仿真

1.1 LSF 简介

LSF(Load Sharing Facility)是IBM旗下的一款分布式集群管理系统软件,负责计算资源的管理和批处理作业的调度。它给用户提供统一的集群资源访问接口,让用户透明地访问整个集群资源。同时提供了丰富的功能和可定制的策略。LSF 具有良好的可伸缩性和高可用性,支持几乎所有的主流操作系统。它通常是高性能计算环境中不可或缺的基础软件。作用上与PBS一样,使用方法略有不同。

LSF用来调度、监视、分析联网计算机的负载。通过集中监控和调用,充分共享计算机的CPU、内存、磁盘、license等资源,一组安装了 LSF 软件的计算机组成了 一个cluster。cluster内的资源统一监控和调度。

bsub 是调用 lsf 的命令。

1.1.1 LSF 常用命令

利用 bhosts 命令可查看当前各节点的空闲情况
在这里插入图片描述
利用 bqueues 可以查看现有队列信息
在这里插入图片描述
利用 bjobs 可以查看作业的运行情况,bjobs | wc 统计总的 job 数
在这里插入图片描述

bjobs -r  #显示正在运行的作业
bjobs -p  #显示等待运行(pending)的作业和等待的原因
bjobs -s  #显显示已经挂起(suspending)的作业和挂起的原因
bjobs -l JOBID #显示JOBID这个作业的所有信息

利用 bjobs -u name 可以查看用户下的具体任务
在这里插入图片描述
利用 bkill 命令可以终止某个运行中或排队中的作业,

[ServerA@hmli] bkill 79726
Job <79722 > is  being terminated

bhist -a: 查看已经运行完毕的作业信息

利用 busers 可以查看用户信息
在这里插入图片描述

bsub 提交 lsf 作业
bhist 查看历史

bqueues 命令,可以查看队列情况
在这里插入图片描述
在这里插入图片描述

1.1.2 bsub 命令

LSF 使用 bsub 提交作业,命令格式:

  bsub  [options]   command   [argument]
  • -q 选择队列;
  • -i 指定输入文件;
  • -I 交互模式,此时终端不能输入;
  • -o 指定输出文件,作业提交后标准输出的信息会保存到这个文件中;
  • -e 指定输出文件,作业提交后标准错误输出的信息会保存到这个文件中;
  • -n 指定作业需要的CPU核;
  • -J 作业的名字;
  • -w ‘dependecy_expression’ , 提交作业前,指定操作。操作有:
    • done;
    • ended, 如 –e “ended(aaaa*)” , 表示作业名中有 “aaaa” 的作业完成之后才可以提交作业;
  • -W 限定作业运行时间;
  • -K 提交作业,并且等待作业完成。当提交作业后,终端打印 “waiting for dispath”。当作业完成后,终端打印 “job is finished”。作业没有完成,不能提交新的作业;
  • -J bsub 提交的作业,有一个 JOBIDJOB_NAMEJOBID 不可设置,可以指定 JOB_NAME

1.1.3 常用提交作业的命令

bsub -n x -q queuename -R rusage[mem=10240] -i inputfile -o outputfile COMMAND
  • -n x 代表了提交作业需要的线程数;
  • -q 指定作业提交到的队列,如果不采用 -q选项,系统把作业提交到默认作业队列;
  • -R rusage 指定任务需要10G内存;
  • inputfile代表程序需要读入的文件名;
  • outputfile 代表一个文件,作业提交后标准输出信息将会保存到这个文件;
  • COMMAND 则是用户要运行的程序,使用8个cpu运行任务。

对于串行作业,COMMAND 可以直接使用程序名。 例如,将编译可执行的程序 mytest 的通过LSF提交:

bsub -n 1 -q q_default -o mytest.out ./mytest

对于MPI并行作业COMMAND 的格式为 -a mpich_gm mpirun.lsf PROG_NAME。 例如,将并行程序 mytest,通过 LSF 提交,使用16个线程运行这个作业:

bsub -n 16 -q q_default -o mytest.out -a mpich_gm mpirun.lsf ./mytest

通过 busb 命令,将编译可执行的 a.out 文件 提交 6 次作业:
在这里插入图片描述
-J 参数,执行作业的名字;
-o 参数指定 lsf 执行该可执行文件的输出,保存到指定文件。

最后要等待前面 6 个作业完成,才执行第7个作业,只是打印信息,可以通过以下 bsub 命令:

 bsub –I –w “ended(aaaaaaaaaa*)”  echo “a.out finished”
  • -I 参数,表示和终端交互,后续提交的任务要等这个任务完成后,才可以提交;
  • -w ”ended..” 指定该作业要等作业名中有 aaaaaaaa 的作业都完成后,才可以提交。

执行的过程中,通过 bjobs 命令,可以查看作业情况。对于最后一个任务,状态是 PEND 的,因此要等之前的任务都完成之后,才可以执行;
在这里插入图片描述

下篇文章:芯片设计- RTL 数字逻辑设计入门 1- Linux 环境下 VCS与 Verdi 联合仿真

  • 5
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公CodingCos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值