HPC使用说明

初学者必备命令:

yppasswd:修改密码
module load anaconda/3.5.0.1 
source activate tensorflow
bsub -q nc -n 1 -o %J.log -e %J.err python test31.py 
bjobs

作业管理系统LSF常用命令:

bsub:提交作业
bhosts:显示指定节点状态,默认显示全部节点状态
bjobs:显示用户作业信息
bkill:杀掉指定的作业
bmod:更改已提交作业的参数
bpeek:显示处于运行时作业的标准输出和标准错误输出信息
bqueues:显示作业队列信息
lsload:显示节点当前负载

队列设置:

本系统设置有以下队列,使用限制与说明如下:
物理学院:phy_long、phy_7days、phy_1day、phy_largemem、phy_gpu、phy_1day_gpu;
(说明:long不限时长;7days作业只运行7天;1day作业只运行1天;largemem作业优先级低于gpu队列,gpu作业优先运行.)
化学学院:chem;
数学学院:math。
其他学院:other。
默认对列为nc,所有学院均可以使用。

命令bqueues -l 队列名:可查看各队列详细设置。

启用环境设置module。参见:http://www.htu.edu.cn/hpcc/

常用命令:
module: 查看帮助
module help: 查看帮助 等价于 module -h 查看帮助
module avail: 查看可用模块
module list: 查看已经加载的模块
module add |load < 模块名 > :#加载模块 
比如:module load MaterialsStudio/2017  #将MaterialsStudio/2017加载到环境中
module rm |unload < 模块名 > :#卸载模块 
比如:module unload MaterialsStudio/2017 #将MaterialsStudio/2017从用户环境中卸载
module purge :#卸载所有模块
module switch |swap< 旧模块 > < 新模块 >:  #替换模块  
比如:module swap intel/11.1.072 intel/2015_update3 #将环境变量中intel/11.1.072替换成intel/2015_update3 
module whatis < 模块名 > :#查看模块说明
module show |display < 模块名 >:  #查看模块内容

如不想每次都手动加,可将其设置在/̃.bashrc或/̃.modulerc文件中::
• /̃.bashrc,只Bash启动时设置:
  module load intel/2015_update3
• /̃.modulerc,每次module命令启动时都设置(注意第一行#%Module1.0是需要的。):
  #%Module1.0
  module load intel/2015_update3 

作业提交举例:

1、提交一个16进程的并行作业job_example到math队列上运行:
bsub -q math -n 16 -o %J.log -e %J.err mpirun ./jobs_example
2、高斯g09作业提交(-n参数值要与输入文件中nproc值保持一致、高斯只能单节点内并行计算):
bsub -q math -n 16 -o %J.log -e %J.err g09 123.com
3、提交一个宽范围进程数的并行作业job_example到normal队列上运行,满足-n范围内的条件即分配运行:
bsub -q math -n 16,192 -o %J.log -e %J.err mpirun ./jobs_example
%J会自动被作业调度系统替换成作业号,-o和-e分别指定存储正常屏幕输出和出错屏幕输出时的文件,可以根据此两个文件判断程序运行时出现的问题。
4、Materials Studio作业提交:(以 CASTEP 模块输入文件为例)
RunCASTEP.sh -q normal -np 16 seedfile
Dmol3 等模块方法同上。-np 指定提交的作业使用的进程数。seedfile 请替换为自己实际提交计算作业时的种子文件名。
5、matlab作业提交:(jobname.m,”.m”不需要加)
bsub -q phy_1day -n 16 -o %J.log -e %J.err matlab -r jobname
6、GPU资源作业提交:
bsub -q phy_gpu -R “select [ngpus>0] rusage [ngpus_shared=4]” mpirun ./jobs_example #GPU共享模式,作业运行可运行在该节点的4GPU核心
bsub -q phy_gpu -n 4 -R “select [ngpus>0] rusage [ngpus_shared=4] span[hosts=1]” mpirun ./jobs_example #GPU共享模式该节点的4GPU核心,作业运行在1个节点,共使用4CPU核心

bsub -q phy_gpu -n 4 -R "select [ngpus>0] rusage [ngpus_shared=4] span[ptile=2]" mpirun ./jobs_example    #GPU共享模式该节点的4GPU核心,作业运行在2个节点,每个节点使用2核心,共使用4CPU核心

GPU节点设置说明:

A、设置三个队列共用12个GPU节点:
   1、GPU作业队列phy_gpu。2、GPU作业队列phy_1day_gpu。3、大内存作业队列phy_largemem。
B、单个GPU节点上:
    phy_gpu队列,可运行2个作业。单个作业可使用1-28个cpu核心,最多256G内存。
    phy_1day_gpu队列。单个作业可使用1-28个cpu核心,最多256G内存。
    phy_largemem队列。单个作业可使用1-28个cpu核心,最多256G内存。
C、如果两个gpu队列作业需求不足,则把phy_largemem队列作业挂起(SSUSP)。
    因此建议使用phy_largemem队列的用户,提交宽范围进程数的并行作业,以便快速开始计算。
    bsub -q phy_largemem -n 4,28 -o %J.log -e %J.err mpirun ./jobs_example

注意事项:

1、密码错误超过十次,该ip将锁定一天。
2、禁止在登陆节点下进行运算。
3、每位用户运行作业(run)cpu48核。提交作业(NJOBS)最大可提交cpu总数64核。通过命令‘busers’ 可以查看到该项限制信息。按照各节点负载情况,动态来分配节点。
4、启用公平调度策略,各用户按照1:1平均占用资源,同时动态调整优先级,即用户作业跑的越多资源用的越多,动态优先级就越低,别的用户的作业就会优先被执行。

5、每个核允许一个作业窗口,不允许作业调度系统将一个核分给两个进程用。

计算软件相关:
一、建议使用module加载所需编译及MPI环境(具体使用方法man module或见上方module使用常见命令)。
二、为了使计算集群更好的服务用户,每个课题组都指定了一位计算软件管理老师,分配了相应管理权限:王天兴,路战胜,马春旺,翟红生,马恒,曹益林,麻娜娜,周传江。如果想增加module软件或者有问题,请先联系本课题组软件负责老师。计算软件版权问题自负。
三、请自行下载备份集群上重要的文件,本中心仅提供计算服务,不提供用户文件的备份、恢复服务。