You are on page 1of 64

深圳超算 HPC 使用手册 v3.3.

系统运行部
2016 年 8 月 24 日

1
更新记录
2016/7/8-Ver3.3.5
更新项目 更新状态

对登陆节点 gg 分区做了调 已完成

文档字体规范(暂定)
正文字体:微软雅黑三号
标题 1 字体:微软雅黑二号
标题 2 字体:微软雅黑三号
表格字体:微软雅黑五号

2
前言

本文档介绍了国家超级计算深圳中心高性能集群的基
本使用方法。建议大家在使用集群之前有一定 Linux 命令行
操作的使用基础。

本文在介绍各类功能会尽量从基础较低的层面展开。

集群使用大部分基于 Linux 的 shell 命令行操作。建议使


用 Xshell 或者 Putty 等 ssh 工具。

第一节与第二节是基本环境的简单介绍。

第三节是与实际使用密切相关的使用流程介绍

对于作业提交脚本不熟悉的人,请直接参考附录 A

对于个别商用软件的使用办法,请直接参考附录 B

1
1. ....................................................................................... 4

2. ............................................................................... 6

2.1 ......................................................................... 6

2.2 ................................................................. 6

2.3 .......................................................... 6

2.4 ................................................................. 7

3. ....................................................................................... 9

3.1 ........................................................... 10

3.1.1 VPN ..................................................................... 10

VPN ............................................................ 10

VPN ........................................................ 11

3.1.2 .................................................................... 18

3.2 ............................................................................... 22

3.3 ....................................................................... 23

 Web 方式提交作业 ....................................................................................... 23

 命令行方式提交作业 ...................................................................................... 26

3.4 ....................................................................... 29

1
3.5 ........................................................ 32

3.6 ........................................................................ 36

3.6.1 ........................................................................................................................ 36

3.6.2 ................................................................................................................ 36

3.6.3 ................................................................................................................ 37

A. ......................................................... 38

1 普通串行计算 ............................................................... 38

2 普通 MPI 并行作业 ..................................................... 39

3 多个计算步骤的计算脚本 ........................................... 39

4 共享内存(openmp)并行作业 .................................... 41

5 OpenMP+MPI 混合并行作业 .................................... 41

6 mpich2 并行作业(RAW 方式) ..................................... 43

附录 B:商用软件常用参数参考 .................................................. 45

1 Fluent ...................................................................... 45

2 ANSYS ...................................................................... 47

3 CFX .......................................................................... 49

4 ABAQUS .................................................................. 50

5 MARC ...................................................................... 52

6 NASTRAN ................................................................ 54

2
7 LSDYNA ................................................................... 56

8 DYTRAN ................................................................... 58

9 HFSS ........................................................................ 60

C .......................................................................... 61

3
国家超级计算深圳中心采用由中科院和曙光公司联合研
制的曙光 6000 超级计算系统,该系统整体计算能力实测峰
值为 1.271 千万亿次浮点运算(1.271PFLOPS)。于 2011
年 11 月 16 日投入运行。本文主要介绍曙光 6000 超级计算
系统的使用方法和环境。

1.

为了方便管理和使用,曙光 6000 超级计算系统高性能


计算区分成 4 个逻辑分区可供所有用户使用,用户可以根据
不同的业务需求选择适合自己计算类型的分区。
分区名 GG 分区 GK 分区 FN 分区 YW 分区

节点数 960 640 128 880

CPU 型号 Intel5650 Intel5650 AMD 6136 Intel5650

CPU 核数 12 12 32 12

CPU 主频 2.66GHz 2.66GHz 2.4GHz 2.66GHz

内存 24G 24G 128G 48G

IB 网络 20G 20G 20G 20G

本地硬盘 149G 149G 300G 149G

共享硬盘 512T 835T 256T 1800T

4
曙光 6000 超级计算主机系统的存储分为两种:每个计
算节点配备的本地磁盘和由存储节点建立的高速并行文件
系统。
其中本地硬盘不建议普通用户大量使用,仅供计算节点
操作系统使用(以及计算所需的临时文件),用户的所有操
作都应该在账号所对应的$HOME(该$HOME 所在的位置
为高速并行文件系统)下进行,用户登录时,会自动被引导
到自己账号的$HOME 下面。
鉴于存储空间的有限和数据安全的考虑,请用户务必做
到及时下载计算结果文件并清理空间。
用户可以通过 VPN 验证后使用 ssh 工具进入登录节点,
使用 LSF 作业调度系统提交作业。
由于考虑到如果用户在公共节点运行可能会引起节点
宕机的测试程序,中心禁止在登录节点运行程序以及下载数
据。
程序编译请登陆后跳转(ssh)到编译节点,数据传输
请连接 ftp 服务器进行上传以及下载。

5
2.

2.1 操作系统

计算节点和前端接入节点的操作系统均为 64 为 SuSE
Linux Enterprise Server(SLES)11SP1,提供标准的 64 位 Linux
操作系统环境。
用户需要熟悉一些基本的 Linux 命令行操作,
特别是文件目录操作,并能熟练使用一种编辑器(vi 或 emacs
等)

2.2 作业调度系统

目前在曙光 6000 超级计算机上使用的作业管理系统是


IBM Platform LSF 8.0.2(Load Sharing Facility)作业管理系统。

2.3 编译器和并行实现

曙光 6000 主机系统支持 OpenMP 和 MPI 两种并行方


式。OpenMP 为共享内存方式,仅能在一个计算节点内并
行,最大线程数不能超过该节点处理器核心数(GG/GK/YW
分区为 12,Fn 分区为 32)
。MPI 则是分布式并行,计算作
业可以在一个或者若干个节点上进行,最大进程数仅受用户
账号所能调用的 CPU 总数限制。目前常见的支持 InfiniBand
网络的 MPI 实现是 MVAPICH2 和 OpenMPI。
中心与 2016 年采购了 intel2016 编译器(update3)
,其中
6
包含 intelMPI 并行库,MPS(并行效率采集分析器)等官方
工具。

2.4 公共软件位置

编译器
GG/GK 分区共安装 3 套编译器:
系统自带
 intel compiler 2016
 gnu 4.3.4 (gcc, g++, gfortran)
 intel compiler 2011 (icc, icpc, ifort)

 pgi compiler 2011 (pgcc, pgcpp, pgfortran) (目前只能在


gg0110, gk0110 上使用)

使用 intel 或者其他编译器之前先 source 对应环境变量,


加载项 对应路径(xx 为对应的分区小写)
intel2016 编译器与 source /home-xx/env/intel-2016.sh
并行库 (一体化的加载一个就行了)
Intel 2011 编译器 source /home-xx/env/intel-12.1.sh

PGI 编译器 source /home-xx/env/pgi-2011.sh

编译器统一安装的路径:/home-xx/compiler

7
MPI 库
MPI 库安装在/home-gg/compiler/mpi 下。目前有
 mpich2-1.4.1p1-gnu.sh
 mpich2-1.4.1p1-intel.sh
 mpich2-1.4.1p1-pgi.sh
 mvapich2-1.8a1p1-gnu.sh
 mvapich2-1.8a1p1-intel.sh
 mvapich2-1.8a1p1-pgi.sh
 openmpi-1.4.4-gnu.sh
 openmpi-1.4.4-intel.sh
 openmpi-1.4.4-pgi.sh

在/home-xx/env 目录下分别有设置编译环境的脚本,用户可
以 source 脚本
加载项 对应路径(xx 为对应的分区小写)
intel2016 编 译 source /home-xx/env/intel-2016.sh
器与并行库 (一体化的加载一个就行了)
Openmpi1.4.4 Source /home-xx/env/openmpi-1.4.4-intel.sh
Openmpi1.6.5 Source /home-xx/env/openmpi-1.6.5-intel.sh

如果有 pgi,mpich2,mvapich2 需求的用户,可以在该目录


下自行查找需要的版本:
/home-xx/env

8
3.

外网用户只能通过 VPN 访问曙光 6000 超级计算集群。


一般作业的基本步骤如下:
 VPN 登陆--用户通过网页访问 VPN 页面并获取访问权限
 算例上传--通过 FTP 工具将模型数据文件和脚本文件上传
至 FTP server。
 作业提交--利用 Putty 工具或其他 SSH 工具登陆曙光 6000
计算机,提交命令提交脚本文件进行计算。
 作业监控--通过 Putty 工具方式登录超级计算机,采用作
业管理命令监控作业的执行情况。
 结果下载--计算完成后,通过 ftp 工具从 FTP Server 下载
结果文件。

VPN 登陆

访问登陆节点 FTP 登陆

访问编译节点 提交作业与监 上传下载数据


进行软件编译 控作业

9
3.1 登录和传输文件

3.1.1 VPN 登陆

您可以由此链接使用您的 VPN 账户登录并下载离线客户端点击下载(华为版),点击


下载(深信服版)
- 华为 VPN 支持 Windows XP,Windows 7 和 Windows 8(不包含 Windows 8.1)
- 深信服 VPN 支持 Windows XP, Windows 7,Windows 8,Windows 10, Mac OSX,
Linux

华为 VPN 使用帮助
 登录超算中心 VPN 网站(华为版)https://vpn.nsccsz.gov.cn/

 确认浏览器为 IE 兼容视图;

 第一次登录,将提示修改密码。请妥善保存此密码,忘记密码请联系超算中心运维

部门进行重置;

 修改密码后,需要重新登录 vpn 账号;

10
 使用 VPN 账号、密码登入后进入网页右上角:为方便使用请下载客户端程序,网页

右上角-用户选项-下载网络扩展客户端软件:

 根据厂商反馈该华为设备版本有出现 bug,若您出现扩展不成功的情况,打开任务

管理器,删除 ProxySet.exe 进程,再次登录即可。后续会补丁解决;

 如还不能解决问题,方便的话,麻烦提供您的密码以供超算中心运维部门测试;

深信服 VPN 使用帮助


 登录超算中心 VPN 网站(深信服版)https://vpn2.nsccsz.gov.cn/ (目前我中心新

用户,全部使用该设备)

 建议相应运营商的用户使用相应的地址来访问我们的设备。

电信地址:https://183.62.232.251

11
联通地址:https://112.95.215.251

教育网地址:https://219.223.216.31

深圳大学城电信地址 https://121.15.171.91

 使用 VPN 账号、密码登入,请先请下载安装组件;

 第一次登录,将提示修改密码。请妥善保存此密码,忘记密码请联系超算中心运维

部门进行重置;

12
 登录 vpn 成功扩展资源后,如果访问 http 资源,请从 vpn 网页上的资源链接点击进

入,其他服务请使用终端上自有客户端进行登录。

 登陆 VPN 后正常启用控件,可以使用 putty 或者 Xshell 登陆到登陆节点。

 注意事项:

1. vpn 是一对一实名制的,如果需要申请多个账号需要一对一的使用人信息,包括使

用人单位,姓名,电话,邮箱。

2. vpn 技术支持请发工单,深信服的 VPN 账号,注销时其实并不需要走 OA,延期时

请注意通知。

3. vpn 登录不上,尽量提供多一点信息方便排错,比如提示什么。

 常见问题:

13
1. 为什么提示用户名密码错误?

是否登录了正确的网址 https://vpn2.nsccsz.gov.cn

如果确认网址正确,忘记密码,将用户名发给客户经理或服务台(0755-86576188,

service@nsccsz.gov.cn),进行重置。

2. 为什么登录了 vpn,但却不能 ssh 登录到节点。

检查用户的权限是不是自己购买的相应分区,资源页面看看是不是对应分区的权限。

3. 为什么可以 ssh 到登录节点,但是用不了 ftp

1) 使用 ftp 工具是不是使用 21 端口,服务器提供的是 ftp 协议的服务。

2) 还有种可能是用户插件没有装好,虚拟网卡没有成功扩展,如果扩展成功会在

cmd 中 ipconfig 中会多一块网卡,地址是 10.122 打头的 ip,如果发现没有这块

网卡,需要将 easyconnect 卸载后重新安装。

14
4. 为什么打不开授权的 web 页面

HTTP 类型的资源,需要到资源页面点击链接打开。

5. 为什么我不动 vpn,一会 vpn 就显示登录超时了

vpn 的登录超时时间为 5 分钟,如果用户在 5 分钟内未做操作和连接,将会登录超

时,如果需要设置无人值守模式,请到用户菜单中设置。

6. 为什么我一登录就显示"登录注销"

1) 结束进程中的"sangfor"开头的一个代理进程。

15
2) 是否为一个账号多个人登录:和 qq 类似,一个账号只能在一处登录,另一人上

线,则会将登录的账号踢下线。

7. 为什么我的 vpn 页面一直在初始化中

多数是因为浏览器阻挡了插件安装,特别是 360 浏览器。推荐使用 IE 浏览器,顺溜

装插件。

8. 连接不到服务器或上传速度慢

一般为用户网络问题,多数为教育网用户,而我们的设备有教育网的出口地址,建

议相应运营商的用户使用相应的地址来访问我们的设备。

电信地址:https://183.62.232.251

联通地址:https://112.95.215.251

教育网地址:https://219.223.216.31

大学城电信地址 https://121.15.171.91

注意协议为 https

16
9. 我的深信服 VPN 账号为什么 ping 不通登录节点和 ftp 服务器 ip 地址?

为保障数据安全性,深信服 VPN 账号权限目前禁 ping 了登录节点 ip 和 ftp 节点的 ip

地址,测试您的账号请在 cmd 窗口中 telnet 相应服务的端口号即可测试 vpn 是否连

接成功:

例如:

ssh 服务:

telnet 10.68.0.3 22

ftp 服务:

telnet 10.68.0.12 21

10. 为什么显示证书错误?

因为使用 https 协议需要证书,申请的 SSL 证书是以 vpn2.nsccsz.gov.cn 申请的,如果

使用 IP 地址登录,浏览器将会判别证书错误。还有一些浏览器也不内置颁发我们 SSL

证书的根证书颁发机构,所以会显示证书错误,但是这个不影响使用,如果实在觉

得看着不舒服,可以查看证书,安装这张证书。

11. linux 下的 VPN 使用

SSL在linux环境下
使用.docx

经多次经验表明,JDK 请使用 1.6 的版本,下载链接

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-ja
vase6-419409.html#jdk-6u27-oth-JPR

17
Java SE Runtime Environment 6u27 这个版本,安装到了 centos32 位以及 opensuse 64

位均可以登陆服务器。

12、linux 下 pptp 协议 VPN 的使用

20150929_pptp方
式在linux下使用.docx

20150929_pptp方
式在mac及iphone下的使用.docx

如果用户确认将账号转换为 pptp 接入类型(需要管理员配置),原来 SSL 客户端的

登入方式将不适用,这一点要注意。

3.1.2 终端登录

在使用 VPN 成功登录超算中心后,可以使用 xshell 等


工具登录超级计算机。

曙光 6000 超级计算机的内部登录节点 IP:


计算分区 登录节点名 IP 地址

用于登陆

gcn01 10.68.0.1
GK 计算分区
gcn02 10.68.0.2

gcn03 10.68.0.3
GG 计算分区
gcn04 10.68.0.4

FN 计算分区 fncn01 10.68.0.33

18
fncn02 10.68.0.34

fncn03 10.68.0.35

fncn04 10.68.0.36

ywcn01 10.70.4.41
YW 计算分区
ywcn02 10.70.4.42

FTP 节点

gcn12 10.68.0.12

GG、GK 计算分区 gcn13 10.68.0.13

gcn14 10.68.0.14

fncn09 10.68.0.41
FN 计算分区
fncn10 10.68.0.42

ywcn05 10.70.4.45
YW 计算分区
ywcn06 10.70.4.46

编译节点

gg0110
GG、GK 计算分区
gg0111

gk0110
GG、GK 计算分区 编译节点不可以直接访问,请
gk0111
从登陆节点 ssh 节点名 直接
fn001
FN 计算分区 跳转即可。无密码访问。
fn002

yw0410
YW 计算分区
yw0411

19
下面以以putty为例演示曙光6000超级计算机的登录过程。
登录通用刀片计算区的示例如下:

点击“Open”或回车后会提示需要输入用户口令和密码,

如下图:

输入正确后如下:

20
此时可执行Linux命令,例如登录GK分区的编译节点,可执
行命令:ssh gk0110

21
3.2 编译

账号成功登录后,首先进入的是登录节点。用户可以在
登录节点查看目录、编辑文件、查看作业、查看资源使用情
况等。但是用户不允许在登录节点运行计算程序或前后处理
程序,也不允许进行程序编译。
用户可以从登录节点转移到编译节点进行程序编译。
以上编译节点仅为用户提供编译软硬件平台,用户可在
登录节点,通过 ssh 登录到编译节点。编译节点共提供四套
编译器环境:Intel016、GCC4.3、intel12.1、PGI2011;四
套 MPI 运行环境:
intelmpi、
openmpi、
mpich2、
mvampich。
若要使用 PGI 编译器的,请在 gk0110、gg0110、以
及 fn001 上编译。
LSF 系统默认使用 openmpi,若需使用其他 mpi 环境,
需要在 LSF 作业脚本中进行指定。使用任意一种编译器和
MPI 库都推荐先在$HOME/.bashrc 中将环境脚本写入。例
如:在 gk 分区使用 mpich2 前,先在.bashrc 中加入
source /home-gk/env/intel-12.1.sh
source /home-gk/env/mpich2-1.4.1p1-intel.sh

22
3.3 作业提交

用户一般可通过 2 种方式提交作业:web 方式和命令方


式。下面分别介绍以上两种方式的提交方法。

 Web 方式提交作业

web 方 式 提 交 作 业 主 要 针 对 商 业 高 性 能 计 算 软 件
(Abaqus、ADF、ANSYS、CFX、DYTRAN、FLUENT、HFSS、LS-DYNA、
MARC、NASTRAN 等)的用户使用,提供 web 方式提交作业
的分区为工程计算分区(GG 分区)和胖节点分区(FN 分区)

其对应网址为:
作业提交分区 对应 web IP 地址

工程计算分区 http://10.68.0.5:18080

http://10.68.0.6:18080

胖节点计算分区 http://10.68.0.37:18080

http://10.68.0.38:18080

23
具体的使用步骤如下图:

在此输入用户名和密码正确后,可进入使用界面,如下图:

点击左侧的“作业提交”后,进入作业提交界面:

24
例如要提交 ABAQUS 作业,则在中间窗口双击 ABAQUS 后,
即可进入 ABAQUS 作业提交界面,如下图:

输入相应的参数,并上传需要的计算文件后,点击提交作业
按钮,即可完成作业的提交。

25
 命令行方式提交作业

一般计算任务是通过脚本文件提交到作业管理系统的,脚本

文件是一个常规文本文件,具有执行权限,可以直接在登入节点

使用vi 编辑器编写,也可异地编写上传至用户作业工作目录,

但要注意dos2unix转换一下。

脚本文件名无特殊规定,起一个可识别的名字即可。编辑完

成脚本文件后,将脚本赋予可执行权限,然后提交。例如对一个

名称为mytest.lsf的作业脚本文件,编辑完成后,需要执行命令

chmod 755 mytest.lsf赋予执行权限,然后用命令bsub mytest.lsf

来提交。使用bsub命令提交作业,待作业提交成功后,会给出

提交成功的作业ID号,用bjobs ID 命令可以查看作业运行状态,

通用刀片计算区的通用队列如下表:

计算队列 队列说明

intelg_small 核数<12,运行时间没有限制

intelg_mid 核数 12~480,运行时间没有限制

intelg_long 核数大约 480 小于 11508 核的作业

intelk_small 核数<12,运行时间没有限制

intelk_mid 核数 12~480,运行时间没有限制

intelk_long 核数大约 480 小于 7668 核的作业

AMD_small 核数<32,运行时间没有限制

AMD_mid 核数 32~256,运行时间没有限制

AMD_long 256<=核数<=4050, 运行时间没有限制

26
intelw_small 核数<12,运行时间没有限制

intelw_exc 核数 12~6000,运行时间没有限制

例:用户需要使用 GK 分区提交 96 核的计算作业,则选择

使用 intelk_mid 队列。

作业规模 建议队列

1-11 核 intel*_small/AMD_small

12-240 核 intel*_mid/AMD_mid/intelw_exc

请注意!
:如果使用错误队列可能会导致长时间无法接受的排队。

作业脚本范例:

注意:请将编译器和 MPI 库的环境先写入$HOME/.bashrc 文件中


APP_NAME=intelg_mid #指定计算任务所要进入的队列
NP=128 #计算所需的全部核数
NP_PER_NODE=12 #每节点所需核数(最多不超过12),本参数可以省略
RUN="/home-gg/users/tjf/mytest -cmd_line_options" #可执行文件的全路径和命令参数

脚本参数含义:

APP_NAME:指定作业运行使用的队列名称.

NP:指定作业运行需要的核 数,如果该参数不指定,则缺省值为 1 个核。

NP_PER_NODE: 指 定 每 个 节 点 上 最 多 分 配 给 作 业 运 行 的 核 数 。 刀 片 区

NP_PER_NODE 必须小于或等于 12。建议不指定此参数。如果不指定此参数,

系统默认会对 AMD_long 队列以 NP_PER_NODE=32 来分配资源,对提交到

AMD_small 和 AMD_mid 队列中的计算作业,则会搜寻所有可用的资源,每节

点上的核 数有可能不相等。

RUN:指定具体执行的命令参数,必须用双引号""将命令行引起来。例如:手动

运行一个 openmpi 程序的命令为:

27
mpirun -np 4 -machinefile machinefile /home-gg/user/tjf/mytest,此时

脚本里面就要写成 RUN="/home-gg/user/tjf/mytest",系统会自动加载前面

的 mpi 参数。如果用户的作业由很多过程组成,建议使用使用 RAW 方式,即

RUN="RAW",然后在脚本后面编写完整的运行脚本.

MY_MPI_TYPE:指定作业需要运行的 MPI 类型,该参数为可选参数,目前超算系统默认

MPI 环境为 openmpi 1.4.4(intel 编译器)。支持的 MPI 类型有三个 openmpi, mvapich2,

mpich2.

MY_MPI_HOME:用户可以自行指定自己的 MPI 的路径,该路径下必须存在 bin 目录,所

有相关的 MPI 的命令必须在其 bin 目录下,否则可能会导致作业找不到相关命令而失败。

注意:严禁使用任何前台或者后台方式直接由用户运行程序,

所有的计算都必须作为任务提交到LSF系统然后统一调度执

行,否则影响用户程序运行。

28
3.4 作业管理

下面列出常用的作业管理命令,如果需要更详细的资料可以
参考作业调度系统 LFS 相关手册或者使用系统的 man 手册。
提交 LSF 任务,成功后会给出此任务的 ID。job_name
bsub job_name
应有执行权限(chmod +x job_name)

查看自己的所有运行任务情况;说明:输入 bjobs 后,

会列出当前用户正在运行的所有作业,最左边一列数

bjobs 字是每个作业的 JOBID,一些其他命令使用的时候需

要调用这个 JOBID。

bjobs -l 查看所有运行任务的详细情况

bjobs -l JOBID 查看 JOBID 这个任务的详细情况

bpeek -f JOBID 跟踪查看某任务屏幕输出 bpeek JOBID 查看全部输出

bkill JOBID 终止某任务运行

bkill JOBID1 JOBID2


终止多个任务运行
JOBID3

busers 查看用户当前所有任务情况

bqueues 查看所有任务队列的状态

bhosts [gg0112] 查看节点的作业使用信息

lsload [gg0112] 查看节点的即时负载信息

执行 busers 命令的屏幕输出如下:
29
MAX 用户可用核数上限

NJOBS 已提交作业所需要的全部核数

PEND 正在队列中等待执行的作业所需全部核数

RUN 正在运行的作业所使用的全部核数

SSUSP 系统挂起的用户作业所使用核数

USUSP 用户自行挂起的作业所使用核数

RSV 系统为你预约保留的核数

一个作业提交到队列后,将有可能为以下的几种状态之一:
PEND 任务在队列中排队等待

RUN 任务正在执行

PSUSP 任务在队列中排队等待时被用户挂起

SSUSP 任务被系统挂起

USUSP 任务被用户自行使用 bstop 命令挂起

DONE 作业正常结束,exit 代码为 0

EXIT 作业退出,exit 代码不为 0

bqueues 可以用来查询当前系统能够提供的队列情况:

30
其中:
QUEUE_NAME 对应的队列名称。
PRIO 对应的优先级
STATUS 队列目前的状态
MAX 队列使用核的最大值
JL/U 每个用户能够在该队列上使用的最大核数
JL/P 每个处理器能够在该队列上使用的最大核数
JL/H 每个计算节点在该队列上使用的最大核数
NJOBS 当前队列的作业数
PEND 当前排队的作业数
RUN 当前执行的作业数
SUSP 当前暂停的作业数

31
3.5 作业退出原因判断

一般作业在提交后的生命周期为:

作业提交-平台处理-作业排队-作业计算-作业结束

用户在初次的使用过程中难免会出现各种类型的报错,学会
分析报错可以提高自己的运算效率。
当一个作业退出时,用户可以依靠集群的命令来查看退出
的状态以及原因。下图中包括了绝大多数作业终结的可能性:

作业退出情况说明

正常退出-正常结束 作业正常结束,计算任务完成

正常退出-手动杀掉 作业结束,计算任务确认由于某种原因无

法完成,或者经过已经输出的计算结果可

以判断后续计算并没有意义,或者想让自

己的其他作业优先处理。

32
正常退出-异常结束 作业结束状态为 DONE,但是作业计算从

输出结果中显示并没有完成,该类型的计

算通常发生于高斯运算(用尽节点内存导

致进程退出)

异常退出-计算节点重启 由于节点重启从而导致作业无法计算完

异常退出-存储故障 由于存储无法访问从而导致作业退出

异常退出-内存耗尽 通常由于计算所需要的内存属于用户无

法预计的情况,在单节点所需要的内存无

法满足用户使用时,程序会崩溃并退出

下面采用一个实例来说明具体情况应该如何处理:
发现自己的作业退出后,可以登录集群并输入 bjobs -d
1.脚本错误导致作业中断

发现作业退出

检查退出原因

这里导致退出的原因是脚本是在 windows 环境中编辑的,由


于 linux 环境的换行符与其不相符,所以需要使用 dos2unix

33
脚本名进行转换后提交即可

2.脚本提交权限不足导致作业中断

发现作业退出

检查退出原因

给与可执行权限重新提交即可

3.内存使用过量导致作业中断

在计算时,可以使用 lsload 节点名检查节点的负载情况

其中最后一项 mem 代表节点剩余的内存,上图中节点有 24g


内存还剩余 18g,则代表程序大约消耗了 5g 左右的内存。

另外由于内存中断的程序,如果是阶段性要求内存较大,可
能是在中途退出,有些则是一开始就退出。

34
4.存储和其他问题报错分析

我们可以看到 STAT 这里的选项为 EXIT 即退出,属于上图中


异常退出的状态。如果是正常退出,STAT 属性应该为 DONE。
可以进一步使用 bjobs -l jobid 进行查看退出的原因。

35
这里记录了提交时间、开始计算的时间和结束的时间。由于
普通用户权限有限,如果根据自己的 output 无法判定退出的
原因,一般可能是由于集群的软硬件问题导致的。这一类问
题,请联系自己对接的客户经理进行解决。

3.6 集群管控

3.6.1

在 2016 年集群升级后,系统出台了存储使用的管理平台(防
止个别用户大量占用共享资源)
新的管控页面对用户的实用存储进行了粗略的估计,并在集
群登陆的时候会自动显示类似下面的字样
MY SPACE HAVE BEEN USED 2.72 G, MY AVAIALABLE SPACE IS 1.95 T.

过量使用超过自己所购买额度的存储用量,会导致系统锁死写入。从

而造成正在运算的计算失败。请合理管理好自己的存储使用额度。

额度包含 2 个参数,文件大小与文件数量。如果发现自己由于存储原

因导致自己作业频繁失败,建议先检查自己使用的额度,删除一定量

非必要文件再继续提交计算。

3.6.2

由于近年来由于误删现象频繁出现,系统组目前在后台存储开放了回

收站的功能,如果发现误删,请于 1 周内尽快联系管理员进行恢复。
36
3.6.3

为防止个别用户自动用脚本提交大量作业导致作业平台瘫痪,平台限

制每个用户最大任务数为 200-250(根据分区不同)。如有个别用户确

实需要,请联系客户经理,该额度可以上调。

37
A.

1 普通串行计算

APP_NAME=intelg_small#指定计算任务所要进入的调度队列

NP=1#任务所需核数

RUN="mytest" ##执行计算命令,如果不在系统查找目录里则给出全路径名

这里 RUN 中给出的计算命令,可以是一个可执行的计

算程序,也可以是一个执行一系列计算的脚本,两者跟通常

在 bash 等 shell 中一样,不加太多区分地执行,但推荐

mytest 为一个 mpi 二进制程序,


如果需要执行一系列过程,

参考附件 A.3。

提交 前 source 导入 编 译 器环 境变 量 , 或者 事先 在

$HOME/.bashrc 加 入 ; 如 果 不 使 用 默 认 的

openmpi-1.4.4-intel , 请 指 定 MY_MPI_TYPE( 可 选

openmpi, mvapich2, mpich2) 或 者 MY_MPI_HOME

(用户自己 MPI 路径)

38
2 普通 MPI 并行作业

APP_NAME=AMD_mid #指定计算任务进入 AMD_mid 调度队列

NP=24 #任务需要的核数,最好是偶数,如 4,8,16,24 等

NP_PER_NODE=12 #每节点要求的核数

RUN="/path/to/vasp" #执行计算命令,如果不在系统查找目录里则给出全路径名

系统会自动调用 mpirun 并 给 出 适 当 的 -n 和

-machinefile 参数,不需要在此显式地给出。 采用这种方式

提交,可执行文件必须是一个二进制的 MPI 程序,不能为

含有 mpirun 命令的脚本或者其它脚本。

3 多个计算步骤的计算脚本

很多情况下,计算是由预处理、并行计算和后处理分析,

或者串行计算和 MPI 并行计算混杂的方式进行。也有一些

软件的计算脚本,既有串行计算和串行处理命令,又有并行

计算命令。此时可以按照下面的例子改写脚本。
#!/bin/sh

APP_NAME="intelg_small"#计算任务进入的队列

NP=48 #计算任务需要的核数

NP_PER_NODE=12 #每个节点上使用 12 个核

RUN="RAW"#固定格式,如果 RUN 的内容为 RAW,下面的计算才会生效

#如果使用 RAW 方式,强烈建议加上以下两条 source 已重新加载编译器环境和 mpi 环境

source /home-gg/env/intel-12.1.sh

source /home-gg/env/openmpi-1.4.4-intel.sh

...

39
/home-gg/user/tjf/prepare -cmd_line_options # 串行处理或者计算

...

#mpiexec 后无需 np 和 machinefile 参数,系统自带 openmpi 和 mvapich2 已与 LSF 集

mpiexec /home-gg/user/tjf/mpi_calc -cmd_line_options

...

/home-gg/user/tjf/postprocessing #后处理可以继续其它串行或者并行计算

...

超算提供的 openmpi, mvapich2 和 mpich2 都已经和


LSF 作业系统集成,用户在脚本中不需要显式指定计算使用
的核数和节点列表,可直接使用 mpiexec /path/to/exe,
但 mpich2 默认使用的是以太网通信,为了通过 IPoIB 的方
式使用 Infiniband 网络,需要做一些修改. 如果用户使用
自己编译的 MPI 库,请参考例子 6.

40
4 共享内存(openmp)并行作业

这类作业既包括 OpenMP 并行方式的,也包括不使用


OpenMP 而是通过 POSIX 等系统底层线程库所编写的多
线程程序,概言之,任何多线程程序都通过下面方式提交计
算。最典型的就是 Gaussian 量化软件。注意对这类程序,
性能随着 核 数的增加,不一定会线性增加甚至会下降。通
常用 4 个进程即可,可以通过典型算例在 4、8、12、24 个
线程下的计算速度来确定。
#!/bin/sh

APP_NAME=intelk_small#指定计算任务进入调度队列

NP=4 #任务需 4 个 核执行亦即四个进程

NP_PER_NODE=4#每节点要求有 4 个核 可用

RUN="RAW" #固定格式说明

export OMP_NUM_THREADS=$NP#设置 OpenMP 线程数环境变量

/home-gg/user/tjf/mytest #执行计算命令的路径

5 OpenMP+MPI 混合并行作业

由 上 所 述 ( 在 此 以 胖 节 点 计 算 分 区 为 例 ),
OpenMP+MPI 并行方式,通常情况下可以采用每节点上的
32 个核心,分为四组,每组由一个 MPI 进程,产生并管
理八个 OpenMP 线程的配置。这也是推荐的并行作业负载
分配。

41
8 个 MPI 进程×每进程 4 个 OpenMP 线程

4 个 MPI 进程×每进程 8 个 OpenMP 线程

2 个 MPI 进程×每进程 16 个 OpenMP 线程

1 个 MPI 进程×每进程 32 个 OpenMP 线程

以上是四种并行负载分配方案,可以通过典型算例做性
能测试,以决定采用哪一种。下面用 m 代表 MPI 进程数,
k 代表每 MPI 进程产生和管理的 OpenMP 线程数。请注
意 m×k=32。
#!/bin/sh

APP_NAME=AMD_small #指定 AMD_small 队列

NP=32 #总计 32 核

NP_PER_NODE=12 #每节点 12 核,独占计算

RUN="RAW" 节点
M=m #m 和 k 见上
K=k m*k == NP == 32
rm –f ./hosts.list 一般 k==NP_PER_NODE

NP=m*k

cp $LSB_DJOB_HOSTFILE hosts.list

cat hosts.list | sort | uniq > hosts.uniq #产生 hostfile 文件


rm -f hosts.mpi

for i in `cat hosts.uniq`; do 注意每个节点 MPI 进程数


for j in `seq 1 $M`; do

echo $i >hosts.mpi

done

done

42
export OMP_NUM_THREADS=$K

N=`cat hosts.mpi | wc -l | awk '{ print $1 }'`

mpirun-x OMP_NUM_THREADS -np $N

-hostfilehosts.mpi\ /path/to/executable

-cmd_line_options

# 设 定 环 境 变 量

OMP_NUM_THREADS

#计算 MPI 进程总数

# 执 行 mpirun 必 要 的 参

#可执行程序和参数

6 mpich2 并行作业(RAW 方式)

由于 mpich2 不支持 infiniband 网络,默认只能通过以


太网通信。如果需要使用 infiniband 高速网络,需要利用
IPoIB 功能, 只 需要将现有 节 点列表进行 修 改,比如将
gg0113 修改为 igg0113。以下为通过 RAW 方式运行作业
的 mpich2 作业脚本模板:
#!/bin/sh

APP_NAME=intelg_small #指定 AMD_small 队列

NP=32 #总计 32 核

43
NP_PER_NODE=12 #每节点 12 核,独占计算

RUN="RAW" 节点

rm –f ./hosts.list #产生 hostfile 文件

cp $LSB_DJOB_HOSTFILE hosts.list

sed -i 's/^/i/g' hosts.list

mpiexec -n $NP -f hosts.list /path/to/executable

-cmd_line_options
# 执 行 mpirun 必 要 的 参

#可执行程序和参数

44
附录 B:商用软件常用参数参考

1 Fluent 软件

Fluent 作业提交时采用后台运行和命令流的计算方式,
而不是大家常用的图形操作方式。提交作业前用户需要准备
cas/dat 文 件 , 同 时 还 要 准 备 一 个 作 业 脚 本 文 件 和 一 个
journal 文件。作业脚本文件示例:
作业脚本范例 参数说明

APP_NAME=fluent 指定计算任务所要进入的调度队列 fluent

NP=64 计算任务所需的 CPU 总数

NP_PER_NODE=32 计算时每个节点使用的 CPU 数,为可选参数

RUN="fluent3d-g-i journal” 具体执行的 fluent 命令

45
作业脚本 RUN 行具体参数
RUN=”fluent 2d|3d|2ddp|3ddp –g –i journal [–rxxx] [–pxxx]
[–mpi=xxx] [–mpi_opts=xxx] [other fluent parameters]”
参数 参数说明 参数默认值

[] 表示参数为可选参数 用户可以根

据需要设置

| 表示参数为互斥的参数

2d|3d|2ddp|3ddp 指定 fluent 计算模型为二维或三维以及计算精度

-g 指定 fluent 以后台运行方式进行计算

-i journal 指定 fluent 的输入脚本

-rxxx 指定 fluent 的版本 13.0.0

-pxxx 指 定 fluent 并 行 计 算 采 用 的 通 讯 方 式 , 包 括 ib

default、net、ethernet、ib 几种

-mpi=xxx 指 定 fluent 并 行 计 算 采 用 的 mpi 类 型 , 包 括 hp, intel,

hpmpi, intelmpi 和 openmpi openmpi

-mpi_opts=xxx 设置并行计算时 mpi 的参数选项,


视 mpi 类型不

同而有所差别

Fluent 原有参数-t、-cnf、-lsf、-ssh、-machines 会被忽略,用户不用指定这些参数。

46
2 ANSYS 软件

如果 ansys 计算文件是命令流格式文件(如 input.dat)



可参照以下作业脚本(ansys.lsf):
作业脚本范例 参数说明

APP_NAME=ansys 指定计算任务所要进入的调度队列 ansys

NP=32 计算任务所需的 CPU 总数

NP_PER_NODE=32 计算时每个节点使用的 CPU 数,为可选参数

RUN="ansys-j mytest -b-i <input.dat" 具体执行的 ansys 命令

如果 ansys 计算文件是 db 格式(如 jobname.db),那


么除了作业脚本(ansys.lsf)外还需要额外建立一个命令流文
件(如 input.dat),在文件中读入 db 文件并设置相应的求
解参数(具体请参阅 ansys 帮助手册)。 示例如下:
resume,' jobname ','db' !!读入数据库文件 jobname.db

/solu

eqslv,dpcg !!指定 ANSYS 并行计算求解器

dsproc,32 !!指定所需 CPU 总数

dsopt,script !!指定采用域分解

solve

save,all

finish

47
此外,在设置模型参数时请确保模型中设置的 proc 数
目和作业脚本中的 NP 数目一致,以免造成资源浪费。
作业脚本 RUN 行具体参数:
RUN=”ansys [-ver=xxx] –b [–p xxx] –i xxx –o
xxx [-smp|-mpp] [-mpi=xxx] [-mpi_opts=xxx]
[other ansys parameter]”
参数 参数说明 参数默认值

[] 表示参数为可选参数,用户可以根据需要设置

[|] 表示参数为互斥的可选参数

-ver=xxx 指定 ansys 软件版本 13.0 14.0 14.5 15.0

-j xxx 指定作业的名字

-b 设置 ansys 以后台运行方式运行

-p xxx 指定计算采用的 ansys 模块名称 ansys

-i xxx 指定 ansys 计算的输入文件

-o xxx 指定 ansys 计算的输出文件

-smp|-mpp 设置采用共享内存的计算模式还是分布式计算模式 mpp

-mpi=xxx 设 置 ansys 并 行 计 算 采 用 的 mpi 类 型 , 有 hpmpi

hpmpi,intelmpi

-mpi_opts=xxx 设置并行计算时 mpi 的参数选项 -ibv -prot

Ansys 原有参数-np、-machines、-dis、-mpi 会被忽略,用户不用指定这些参数。

48
3 CFX 软件

在作业脚本文件中 RUN 行可以设置 cfx 计算的精度、内存、


初始条件等,可以分别通过 cfx 软件的参数-single 或-double、
-s <factor>、-ini <file>等来指定。
作业脚本范例 参数说明

APP_NAME=cfx 指定计算任务所要进入的调度队列 cfx

NP=4 计算任务所需的 CPU 总数

NP_PER_NODE=2 计算时每个节点使用的 CPU 数,为可选参数

RUN="cfx -def xxx.def " 具体执行的 ansys 命令

49
作业脚本 RUN 行具体参数:
RUN=”cfx [-ver=xxx] –def xxx [other cfx parameters] [-mpi=xxx]
[-mpi_opts=xxx]”
参数 参数说明 参数默认值

[] 表示参数为可选参数,用户可以根据需要设

[|] 表示参数为互斥的可选参数

-ver=xxx 指定 cfx 软件版本 13.0 14.0 15.0

-def xxx 指定 cfx 的输入文件

-mpi=xxx 设置 cfx 并行计算采用的 mpi 类型,有 hpmpi

hpmpi,mpich2

-mpi_opts=x 设置并行计算时 mpi 的参数选项 -ibv -prot

xx

CFX 原有参数-par-dist、-start-method 会被忽略,用户不用指定这些参数。

4 ABAQUS 软件

作业脚本范例 参数说明

APP_NAME=abaqus 指定计算任务所要进入的调度队列 abaqus

NP=4 计算任务所需的 CPU 总数

NP_PER_NODE=2 计算时每个节点使用的 CPU 数,为可选参数

RUN="abaqus job=xxx input=xxx.inp" 具体执行的 abaqus 命令

50
作业脚本 RUN 行具体参数
RUN=”abaqus [-ver=xxx] [–std| -exp] job=xxx
[analysis|datacheck|…] input=xxx [other abaqus
parameters] [-mpi=xxx] [-mpi_opts=xxx]”
参数 参数说明 参数默认值

[] 表示参数为可选参数,用户可以根据需要设置

[|] 表示参数为互斥的可选参数

-ver=xxx 指定 abaqus 软件版本 6.11.1 6.12.2

6.13.1

[-std|-exp] 指定显性或隐性分析 -std

job=xxx Abaqus 作业名称

Analysis|datacheck|… 设置进行分析计算或输入文件检查或其他操作

input=xxx.inp 指定 abaqus 的输入文件

-mpi=xxx 设 置 abaqus 并行计算采用 的 mpi 类 型,有 hpmpi

hpmpi

-mpi_opts=xxx 设置并行计算时 mpi 的参数选项 -ibv -prot

注释:

ABAQUS 原有参数 cpus=xxx 会被忽略,用户不用指定这些参数。

51
5 MARC 软件

作业脚本范例 参数说明

APP_NAME=marc 指定计算任务所要进入的调度队列 marc

NP=4 计算任务所需的 CPU 总数

NP_PER_NODE=4 计算时每个节点使用的 CPU 数,为可选参数

RUN="marc –nps $NP –j casename " 具体执行的 marc 命令

作业脚本 RUN 行具体参数


RUN=”marc [-ver=xxx] [-smp|-mpp] -j casename [-np|-nps
$NP] [other marc software parameters] [-mpi=xxx]
[-mpi_opts=xxx]”
参数 参数说明 参数默认值

[] 表示参数为可选参数,用户可以根据需要设置

[|] 表示参数为互斥的可选参数

-ver=xxx 指定 marc 软件版本 2011

[-smp|-mpp] 指定显性或隐性分析 -mpp

-jid casename Marc 作业名称

[-np | -nps $NP… 指定 marc 输入文件为多文件形式(-np $NP) -nps $NP

还是单文件(-nps $NP)

-mpi=xxx 设 置 marc 并 行 计 算 采 用 的 mpi 类 型 , 有 hpmpi

hpmpi,intelmpi

-mpi_opts=xxx 设置并行计算时 mpi 的参数选项 -ibv -prot

52
注释:

marc 原有参数-hostfile 会被忽略,用户不用指定这些参数。

53
6 NASTRAN 软件

作业脚本范例 参数说明

APP_NAME=nastran 指定计算任务所要进入的调度队列 nastran

NP=4 计算任务所需的 CPU 总数

NP_PER_NODE=4 计算时每个节点使用的 CPU 数,为可选参数

RUN="nastran test.bdf" 具体执行的 nastran 命令

作业脚本 RUN 行具体参数


RUN=”nastran [-ver=xxx] [-smp|-mpp] xxx.bdf [other
nastran software parameters][-mpi=xxx]
[-mpi_opts=xxx]”
参数 参数说明 参数默认值

[] 表示参数为可选参数,用户可以根据需要设置

[|] 表示参数为互斥的可选参数

-ver=xxx 指定 nastran 软件版本 2011

[-smp|-mpp] 计算模式选择 -smp

xxx.bdf nastran 输入文件

-mpi=xxx 设 置 marc 并 行 计 算 采 用 的 mpi 类 型 , 有 hpmpi

hpmpi,intelmpi

-mpi_opts=xxx 设置并行计算时 mpi 的参数选项 -ibv -prot

注释:

54
 原有 nastran 软件的 hosts、auth、parallel、dmparallel 等参数会被忽略,用户不

用设置这些参数。

 Nastran 软件安装时设置 sdirectory 默认值为/tmp,memory 默认值为 ESTIMATE

 用户可以根据需要设置相应的 nastran 计算参数(如临时文件存放位置、内存大小等)

以优化计算速度,具体可以参考 nastran 用户手册。

55
7 LSDYNA 软件

作业脚本范例 参数说明

APP_NAME=lsdyna 指定计算任务所要进入的调度队列 lsdyna

NP=32 计算任务所需的 CPU 总数

NP_PER_NODE=16 计算时每个节点使用的 CPU 数,为可选参数

RUN="dyna i=xxxx.key" 具体执行的 dyna 命令

作业脚本 RUN 行具体参数


RUN=”dyna [-ver=xxx] [-s|-d] [-smp|-mpp]
[-mpi=xxx] [-mpi_opts=xxx] i=x.k [other dyna
parameters]””
参数 参数说明 参数默认值

[] 表示参数为可选参数,用户可以根据需要设置

[|] 表示参数为互斥的可选参数

-ver=xxx 指定 lsdyna 软件版本 971_R5

971_R61

971_R7

[-smp|-mpp] 计算模式选择 -smp

[-single|-double] lsdyna 求解精度 -single

i=xxx.k lsdyna 输入文件

-mpi=xxx 设置 lsdyna 并行计算采用的 mpi 类型,有 hpmpi hpmpi

56
-mpi_opts=xxx 设置并行计算时 mpi 的参数选项 -ibv -prot

注释:

 smp 并行计算时 ncpu 参数不用设置,lsf 自动会将申请的资源数分配给 lsdyna,最

大不超过 64。

 lsdyna 程序的所有其他参数用户可以根据需要指定,用户自行对参数合法性进行检查。

 lsdyna 软件 970 版本只有采用 hpmpi 并行版本

57
8 DYTRAN 软件

作业脚本范例 参数说明

APP_NAME=dytran 指定计算任务所要进入的调度队列 dytran

NP=32 计算任务所需的 CPU 总数

NP_PER_NODE=32 计算时每个节点使用的 CPU 数,为可选参数

RUN="dytran jid=casename" 具体执行的 dytran 命令

作业脚本 RUN 行具体参数


RUN=”dytran [-ver=xxx] jid=casename [-smp|-mpp]
[other dytran software parameters] [-mpi=xxx]
[-mpi_opts=xxx]”
参数 参数说明 参数默认值

[] 表示参数为可选参数,用户可以根据需要设置

[|] 表示参数为互斥的可选参数

-ver=xxx 指定 dytran 软件版本 2010

[-smp|-mpp] 计算模式选择 -smp

jid=xxx dytran 输入文件(去掉后面的.dat 后缀)

-mpi=xxx 设 置 lsdyna 并 行 计 算 采 用 的 mpi 类 型 , 有 openmpi

openmpi, hpmpi

-mpi_opts=xxx 设置并行计算时 mpi 的参数选项 -ibv -prot

注释:

 原有 dytran 软件的 ncpus=、bat=no 等参数会被忽略,用户不用设置这些参数。

58
并行规模可以通过前述的 NP 参数来指定。

 方括号[]内的参数用户可以不设置,系统会有默认设置。

Dytran 软件目前支持 smp 和 mpp 并行模式,其中 mpp 模式不能进行 Adaptive

Euler, ALE Method, Lagrangina Solver,具体参见 dytran 的用户手册。

 用户可以根据需要设置相应的 dytran 计算参数以优化计算速度。

59
9 HFSS 软件

作业脚本范例 参数说明

APP_NAME=hfss 指定计算任务所要进入的调度队列 adf

NP=8 计算任务所需的 CPU 总数

NP_PER_NODE=8 计算时每个节点使用的 CPU 数,为可选参数

RUN="hfss –ver=xxx ./xxx.hfss" 具体执行的 hfss 命令

作业脚本 RUN 行具体参数


RUN=”hfss [-ver=xxx] ./xxx.hfss
参数 参数说明 参数默认值

[] 表示参数为可选参数,用户可以根据需要设置

[|] 表示参数为互斥的可选参数

-ver=xxx 指定 hfss 软件版本, 当前有 13.0 和 14.0 两个版本。 13.0

./hfss hfss 的输入计算文件

注释:

目前,我们的 HFSS 最多只有 8 个并行,并且最好使用 MultiProcessing 并行模式求解。

hfss 其他的选项如-batchSolve, -ng, -logfile, -monitor 都被忽略

60
C

用户在使用深圳超算曙光 6000 超级计算机时如果遇到


问题使用及作业系统问题,可联系深圳超算技术支持人员。
服务台电话:86-755-86576088
HPC 支持邮箱:hpc_support@nsccsz.gov.cn
数据传输与恢复邮箱:system@nsccsz.gov.cn

网络支持邮箱:network_support@nsccsz.gov.cn
上述技术支持邮箱提供 5*8 小时技术咨询。
非工作时间及节假日会尽快回复(24 小时内)
,紧急请
拨打服务台热线。
本手册仅提供最简易的集群使用说明,深入各种计算的
软件使用以及编译,请联系您的客户经理进行协助。

61

You might also like