记录一下常用的指令

  1. module avail #查看所有可用模块

Lsf文件例子

  1. #BSUB -q e5v4p100ib
  2. #BSUB -J train
  3. #BSUB -gpu num=2
  4. #BSUB -o out.txt
  5. #BSUB -e error.txt
  6. module load anaconda/3 cuda/10.0.130
  7. source activate Kevinpro
  8. ./run.sh

查看作业

  1. 查看自己已提交或正在运行,但尚未结束的作业:bjobs
  2. 查看上述中某个特定作业的的详细信息:bjob -l JOBID
  3. 查看历史作业:bhist
  4. 查看正在运行作业的输出:bpeek JOBID
  5. 终止作业:bkill JOBID
  6. 设置作业最先运行:btop JOBID
  7. 设置作业最后运行:bbot JOBID
  8. 仅能对自己提交的作业进行排序
  9. 查看节点当前负载信息:lsload
  10. 查看节点配置和资源:lshosts
  11. 查看所有节点作业状态:bhosts

查看队列

  1. 使用bqueues -l可以查看每个队列的相信信息
  2. QUEUE_NAME:队列名称
  3. PRIO:队列优先级,越大优先级越高
  4. STATUS:队列状态。Open/Closed表示是否可以提交,即用户是否可以提交作业到该队列;Active/Inact表示否可以派发,即该队列的作业是否会被分发到计算节点运行。Open:Active表示可提交可派发,Open:Inact表示可提交但是不派发。
  5. NJOBS:排队、运行和挂起的作业所占总CPU核数
  6. PEND:排队中的作业所需总CPU核数
  7. RUN:运行中的作业所占总CPU核数
  8. SUSP:挂起的作业所占总CPU核数

GPU队列

常用队列

  1. 6148v100ib队列计算节点(10.072 TFLOPS):
  2. 购置者:赵宇心100%
  3. 1*Lenovo ThinkSystem SR650
  4. Hostname: x003
  5. CPU: 2*Intel Xeon Gold 6148 (20 Cores, 27.5MB Cache, 2.40 GHz)
  6. RAM: 192 GB, 6 Channels, DDR4-2666 ECC RDIMM, Bandwidth: 255.6 GB/s
  7. GPU: NVIDIA Tesla V100 PCIe 16GB (5120 CUDA Cores 1246MHz, 16GB HBM2 876MHz 4096-bit 900 GB/s, PCIe 3.0 x16)
  8. SSD: LITEON, 128GB, M.2 SATA 6Gb/s
  9. Network: Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
  10. 62v100ib队列计算节点(65.6 TFLOPS):
  11. 购置者:公共共享100%
  12. 1*Inspur NF5468M5-S
  13. Hostname: n002
  14. CPU: 2*Intel Xeon Gold 6248 (20 Cores, 27.5MB Cache, 2.50 GHz)
  15. RAM: 768 GB, 6 Channels, DDR4-2933 ECC RDIMM, Bandwidth: 281.6 GB/s
  16. GPU: 8*NVIDIA Tesla V100 SXM2 32GB (5120 CUDA Cores 1290MHz, 32GB HBM2 876MHz 4096-bit 900 GB/s, NVLink, PCIe 3.0 x16)
  17. SSD: 2*Samsung Enterprise SSD PM883, 32-layer TLC, 480GB 683TBW, 2.5-inch SATA 6Gb/s, RAID1
  18. Cache: 4*Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe 3.1 x4 NVMe
  19. Network: 10 Gigabit Ethernet, 100 Gbit/s EDR InfiniBand

https://hpc.nju.edu.cn/zh/resource/127-%E8%AE%A1%E7%AE%97%E8%B5%84%E6%BA%90

查看GPU

  1. 查看节点GPU配置和拓扑结构:lshosts -gpu
  2. 查看节点GPU整体负载:lsload -gpu
  3. 查看节点每个GPU负载:lsload -gpuload
  4. 提交作业时使用 -gpu 选项申请所需的GPU资源,计算进程只可见作业调度系统分配的GPUCPU核自动按照申请节点GPU的比例分配,如一节点8GPU40CPU核,申请2GPU则分配10CPU核。
  5. -gpu的各个参数用:分隔,常用参数如下
  6. num=number:每台主机需要GPU的数量
  7. mode=shared | exclusive_processGPU运行模式,shared对应NVIDIA DEFAULTexclusive_process对应NVIDIA EXCLUSIVE_PROCESS
  8. aff=yes | no:是否进行GPU-CPU亲和性绑定
  9. 例:提交一个需要1GPU的作业到e5v4p100ib队列
  10. bsub -q e5v4p100ib -gpu num=1 ./gpu_app
  11. 例:提交一个需要4GPU的作业到62v100ib队列,进行GPU-CPU绑定
  12. bsub -q 62v100ib -gpu "num=4:aff=yes" ./gpu_app
  13. 查看GPU
  14. 查看节点GPU配置和拓扑结构:lshosts -gpu
  15. 查看节点GPU整体负载:lsload -gpu
  16. 查看节点每个GPU负载:lsload -gpuload

参考文件

module用法

https://blog.mrzhenggang.com/supercomputer-courses-module/#%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85