中国科学院海洋研究所高性能计算中心用户使用手册

1、登陆主机                                    

从系统管理员处获得账户名和登录密码,Windows用户可以用Mobaxterm,Xshell,PuTTY,SSH Secure Shell Client,SecureCRT等SSH客户端软件登录。推荐使用Mobaxterm,它集成了sftp、X11 Server等软件,对于个人使用免费。请不要使用来历不明的盗版软件,到上述软件的官方网站下载,防止个人信息泄漏。

登陆节点login1和login2的信息:

login1,IP地址159.226.106.33,端口22。

login2,IP地址159.226.106.34,端口22

Linux用户使用ssh username@IP 登录。

2、编译程序

    用户在编译自己的代码之前,请根据代码要求,找到对应的编译器版本、mpi版本,为降低代码编译过程中出错的机率,尽量使用同一个编译器编译的mpi环境、库文件(例如:如果用想用intel2017编译ROMS,那么最好选择intel2017编译的mpi、NetCDF、HDF,可以免除许多编译问题)。  

超算提供的应用程序资源目录说明

路径

目录中的资源

/public/software/apps

一般应用程序

/public/software/compiler

不同种类的编译器

/public/software/mpi

并行计算mpi环境(包括intelmpi、mpich、openmpi等)

/public/software/mathlib

数学库(包括NetCDF、hdf5、fftw、Jasper等)

/public/software/profile.d

环境变量初始化脚本的目录

使用环境变量初始化脚本,可以直接source /public/software/profile.d应的脚本文件。

 

例1:需要使用R3.5.2

source /public/software/profile.d/apps_R-3.5.2-gnu485.sh

然后就可以运行GNU编译器编译的3.5.2版本R了。

 

例2:需要在intel compiler 2017编译的openmpi环境下使用ROMS

source /public/software/profile.d/compiler_intel-compiler-2017.5.239.sh

source /public/software/profile.d/mpi_openmpi-212-intel-2017.sh

source /public/software/profile.d/mathlib_netcdf-intel-4.1.3.sh

source /public/software/profile.d/mathlib_hdf5-intel-1.8.12.sh

用source设置好环境变量之后,编译ROMS即可。

 

注:把上述命令添加到用户的home目录下的.bashrc文件中,下次登陆时,环境变量自动生效,不必每次执行source命令。

3、管理作业

海洋所超算使用的是IBM LSF作业调度系统,需要掌握几个必要的命令才能顺利使用计算资源。

命令

功能(详细介绍,使用 man查看命令册)

bsub

提交作业

bjobs

查看运行中作业的资源使用情况

bpeek

查看作业的标准输出

bkill

终止作业

 

LSF提交MPI作业的命令格式如下

bsub -n [cpu_num] -q [queue_name] -o output.%J mpirun [your_app] [your_params]

-n [cpu_num]        指定作业所需要的CPU的数量

-q [queue_name]     指定作业的队列,如果不指定,则作业会被放到normal队列中

-o output.%J        指定作业标准输出到文件output.%J,%J代表作业ID。

 

【注意:这是运行在mpich2环境下的例子,不同的编译环境,需要source不同的环境初始化文件】

 

  1. 准备mpi环境

已经在.bashrc中添加了以下source命令的用户,可以跳过这一步

source /public/software/profile.d/compiler_intel-compiler-2017.5.239.sh

source /public/software/profile.d/mpi_mpich-3.2-intel-2017.sh

  1. 检查mpirun的路径是否正确

which mpirun

/public/software/mpi/mpich/intel2017/3.2/bin/mpirun

  1. bsub提交mpi作业

与旧集群mpirun.lsf不同,命令行里使用mpirun

cd /public/home/zhaozengfang/myroms_mpich2/projects/upwelling

bsub -n 64 -o output.%J mpirun ./oceanM ocean_upwelling64.in

Job <600> is submitted to default queue <normal>.【注意<600>为作业的jobid】

  1. bjobs jobid查看作业信息

JOBID   USER    STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME

600     zhaozen RUN   normal     login1      32*comput28 *ling64.in Dec  7 10:01

                                             32*comput71

  1. bpeek jobid查看运行作业的输出

bpeek 600

<< output from stdout >>

Model Input Parameters:  ROMS/TOMS version 3.6 

Friday - December 7, 2018 - 10:01:27 AM

-----------------------------------------------------------------------------

Wind-Driven Upwelling/Downwelling over a Periodic Channel

Operating system : Linux

CPU/hardware     : x86_64

Compiler system  : ifort

Compiler command : /public/software/mpi/mpich/intel2017/3.2/bin/mpif90

Compiler flags   : -heap-arrays -fp-model precise -ip -O3 -free -free

此处省略很多很多行

注:bpeek –f jobid 可以持续查看程序输出。

  1. bkill jobid 可以终止正在运行的作业和在排队的作业

如果bkill jobid不能终止,请尝试bkill –r jobid。