国家超级计算深圳中心
因为计算物理需要强大的计算能力做支撑,所以我们课题组在 国家超级计算深圳中心 购买了计算资源。
我来记录一下使用超算过程中会用到的一些命令,防止我自己遗忘了。同时也能通过这样加深自己对 Linux 系统的理解。
基本信息
- 内核版本:Linux version 2.6.32
- 系统版本:CentOS release 6.7 (Final)
上网方法
超算只能通过 VPN 来访问,并且其没有连接互联网,处于内网的环境。
因为在编译一些软件的时候能上网会方便很多,便想到通过反向代理的方法让内网电脑也能上网。
在 SSH 设置中添加如下配置
Host hpc
RemoteForward 127.0.0.1:1080 127.0.0.1:1080
然后通过 http_proxy
即可访问互联网。
# 超算
export http_proxy="http://127.0.0.1:1080"
export https_proxy="http://127.0.0.1:1080"
因为超算不支持证书登录,如果使用 VSCode Remote-SSH 时,必须每次都输入密码,很不方便。
通过搜索,我发现一个 方法 能免去输入密码的烦恼:
# 设置环境变量
$env:ASKPASS_PASSWORD = <ssh_user_password>
$env:SSH_ASKPASS_REQUIRE = "force"
$env:SSH_ASKPASS = <path\to\askpass.exe>
也可直接在 VSCode 设置中添加:
"terminal.integrated.env.windows": {
"ASKPASS_PASSWORD": "ssh_user_password",
"SSH_ASKPASS_REQUIRE": "force",
"SSH_ASKPASS": "path\to\askpass.exe"
}
编译环境
编译软件时,需要使用专门的编译节点。
一些编译器的环境变量地址
# gcc 7.3.0
. /home-yw/env_new/gcc/gcc-7.3.0.sh
提交任务
超算使用的 LSF 作业调度系统,以下是提交作业的一个例子。
创建 test.lsf 文件,填入一下内容。
#!/bin/sh
# 计算任务进入的队列
APP_NAME="intelY_bm"
# 计算任务需要的核数
NP=24
# 每个节点上使用 12 个核
NP_PER_NODE=12
# 固定格式,如果 RUN 的内容为 RAW,下面的计算才会生效
RUN="RAW"
# 如果使用 RAW 方式,强烈建议加上以下两条 source 已重新加载编译器环境和 MPI 环境
source /home-yw/env_new/gcc/gcc-7.3.0.sh
source /home-yw/env/openmpi-2.1.6-gnu8.2.0.sh
# 需要执行的命令
dcore_pre srvo3.ini && \
dcore srvo3.ini --np $NP
dcore_post srvo3.ini --np $NP
使用命令 bsub test.lsf
提交任务。