Skip to main content

校内用户超算集群申请与基本使用简明指南

本文将简述集群使用的基本过程,但是详细的操作和使用仍然需要仔细阅读上述使用说明。

一、账号获取

  1. 新用户在scc.nju.edu.cn首页点击注册账户

  1. 校内用户绑定统一身份认证:① “统一认证平台用户”选择“是”;②点击验证信息;③获取验证码,验证码通过邮箱发送。

  1. 填写表单,用户组输入导师账号名(不知道就去问课题组里),提交申请;
  2. 组长(即课题组里负责审批的人,如果不清楚也问组里)登录scc.nju.edu.cn自助审批新用户,通过后账号立刻生效,即可使用。
  3. 新用户再次登入scc.nju.edu.cn,即可进行一些账号信息的维护,包括重置密码、动态口令等。

二、登入资产

注册成功后,用注册成功的账号(不是统一身份认证)访问access.nju.edu.cn

2.1、首次登入

首次登入会要求设置两步认证:

两步认证请另行参阅:eScience服务双重认证简明指南

按照需求使用一个验证器即可。但注意,如果没有备份和导出功能,手机一旦更换,这个设置也会失效(当然,你可以直接去scc.nju.edu.cn重置,如上文所说)。 下面以Microsoft Authenticator(绑定微软账号云端备份,推荐,但可能安卓/鸿蒙手机需要谷歌框架,不同机型如何打开或安装谷歌框架请直接百度)为例:

扫描二维码即可添加成功。

2.2、绑定成功后登入

打开前面的两步认证软件,点开对应access.nju.edu.cn的账号:

获取其中的一次性密码代码,登入

进入后,可以看见你的账户下分配的资产:

按照本页顶端的提示,安装ShtermClient之后,点击资产,会显示四个按钮:

  • ssh:命令行登入,这个一般就足够了
  • sftp:大量(数量多、体积大)文件传输
  • Xfce4:远程图形界面,可以简单进行一些文件操作
  • VNC:远程图形界面

三、登录资产

3.1、SSH客户端登入:以Xshell为例

由于命令行一定是需要跨过去的坎,所以后面默认会主要使用ssh方式。 Windows下推荐使用Xshell(当然你有其他的客户端甚至是原生的Linux都可以): 家庭/学校免费 - NetSarang Website

安装完打开Xshell,点击左上角的新建来新建会话

设置自定义的名称之后,将主机设置为access.nju.edu.cn(这是教育网/校园网入口):

确定后保存。

双击刚刚新建的会话,然后第一次连接可能会出现“SSH安全警告”,询问是否“接受此主机密码?”,接受并保存即可。

下一个可能弹出的页面中,会询问你的用户名(注意!不是统一身份认证,是你的集群上的用户名!),为了方便可以勾选记住用户名

下一步中,需要输入密码。密码请遵循账户密码+两步认证的格式,但是中间用空格空开。例如,账户密码为:qwerty,此时两步认证软件软件内的代码为123456,那么你这里需要填写qwerty 123456。千万不要勾选记住密码,因为这个格式显然后半部分每次会变。

登入成功后,是登录节点。应当会这么显示:

友情提示——在这里改字体和大小:

在这里改配色方案: 对自己的眼睛好一点……

扩展阅读: 什么是SSH?SSH是如何工作的? - 华为

3.2、更易用的文件传输:Xftp

集群支持sftp方式的文件传输。比起使用rz、sz等命令的方式,sftp客户端具有易用、直观的特点,适合传输多个、大批量的文件。Windows下,这里和Xshell配套的软件便是Xftp。

XFTP - NetSarang Website

Xftp使用参数:

  • 主机:access.nju.edu.cn,默认端口22
  • 协议:sftp
  • 用户名:集群用户名
  • 密码:和上面登入Xshell的密码一致
  • 用户目录:如果你在上面ssh登入后,输入echo ~返回的是/fsa/home/集群用户名,那么sftp下用户目录就是/hpc_login1 sftp (10.1.0.101)/self/fsa/home/集群用户名

非Windows用户的SFTP方案见:SFTP登录(文件传输)

其他情况可以去远程登录文档内寻找答案。

四、Linux命令行使用

命令行五花八门,说到底,都是命令 参数(注意中间的空格)这种格式。 基本命令行参考:

命令 用途
ls <路径> 列出指定目录<路径>下的文件和文件夹
cd <路径> 切换到指定目录<路径>
mkdir <文件夹> 在当前目录创建一个叫<文件夹>的文件夹
vim <文件> 使用Vim编辑文本文件<文件>(脚本之类的),如果<文件>不存在,就创建它。Vim是一款非常强大的命令行编辑器,学习见:Linux vi/vim | 菜鸟教程GitHub - wsdjeg/Learn-Vim_zh_cn
rzsz <文件> 少量小文件传输和下载Linux 命令(8)—— rz 命令与 sz 命令_恋喵大鲤鱼的博客-CSDN博客_rz
tar 打包压缩与解压,可以用来打包或解压多个文件
cp 复制
mv 移动
rm 删除

上表只是告诉了你一个目录,具体各个命令如何使用你可以根据上述表来搜索学习。 在集群上为了提交作业,还需要知道bsubbjobs等集群使用的lsf作业系统命令。这部分需要仔细阅读:https://doc.nju.edu.cn/books/efe93/page/4f4ad

尽管有SFTP软件可以免去大量Linux命令文件操作,但是还是建议稍微了解一些Linux的基础命令。

五、一个提交作业的演示

基本的脚本提交

以提交一个DMI_pbc.mix的mumax计算脚本为例: ssh登入后,在登录节点上输入:

ls

查看当前目录(登录节点的用户主目录)有些什么。

mkdir mumax_20221014
cd mumax_20221014

第一行:创建一个mumax_20221014的文件夹(make directory)管理这一次的计算任务

第二行:切换进刚刚创建的那个目录(change directory)

rz

唤起传输界面:

选择要上传的mumax计算脚本DMI_pbc.mix文件。

vim job.lsf

创建一个job.lsf的作业提交脚本,并且参照https://doc.nju.edu.cn/books/efe93/page/mumax 的示例写入:

#BSUB -q 723090ib
#BSUB -gpu num=1

mx3in=DMI_pbc.mix

module load cuda/11.2.0
/fs00/software/mumax/3.10-cuda11.0/mumax3 $mx3in

第1行:作业参数,指定使用的计算队列

第2行:作业参数,指定使用的GPU数目

第4行:mx3in变量设定为DMI_pbc.mix,当然你可以不叫这个变量名

第6行:载入cuda-11.2.0的依赖(见:https://doc.nju.edu.cn/books/efe93/page/nvidia

第7行:使用mumax3软件输入mx3in变量的值所表示的计算脚本

当然,如果上述流程实在用不习惯,也可以:

  1. 直接用Xfce4从图形界面登入,用文本编辑器修改

  1. 使用SFTP方案直接在本地修改,然后上传回去

无论是如何上传脚本,从Windows上传回集群最好用dos2unix命令来转换换行符,或者干脆在Windows下通过编辑器如VS Code自己的换行符切换来处理这个问题。

作业提交脚本本质上其实是shell脚本,因此Shell 教程 | 菜鸟教程也通用。

bsub < job.lsf

job.lsf通过bsub命令按照作业提交脚本的设定提交至计算队列。提交完成后会显示:

[hfd_jitz@login1 mumax_test_2]$ bsub < mumax_job.lsf 
Job <40999791> is submitted to queue <723090ib>.

查看作业情况

bjobs

可以查看你当前在跑的任务情况:

[hfd_jitz@login1 mumax_test_2]$ bjobs
JOBID    USER        STAT  QUEUE       JOB_NAME   SUBMIT_TIME  EXEC_HOST
40999791 hfd_jitz    RUN   723090ib    *x3 $mx3in Oct 14 22:08 6*m002

任务ID:40999791

计算队列:723090ib

GPU编号:6

主机:m002

特别地,本例子是一个GPU任务,因此还可以这样查看GPU任务的运行情况:

ssh m002

登入到计算节点(注意看@前后的“host”已经从login1变为m002):

[hfd_jitz@login1 mumax_test_2]$ ssh m002
Last login: Fri Oct 14 11:37:26 2022 from m002
[hfd_jitz@m002 ~]$ 

在计算节点执行

nvidia-smi

可以查看GPU上的资源使用情况,对应的GPU编号即是你在使用的部分。

top

可以查看当前计算节点的任务。

此外,还有一个可视化查看的方法:https://mon.nju.edu.cn

进入grafana,在General/NVIDIA DCGM Exporter中,instance为m002:9400(也就是刚才那个m002)的GPU情况如下:

可以看出,上述任务15分钟不到就跑完了。

如果需要从计算节点m002返回到登录节点login1,则输入

exit

如果要下载文件,通过sz <文件路径>命令可以下载单个文件;或者通过Xftp传输管理;或者先通过图形界面(Xfce4)进行一些简单的数据结果查看,再把数据弄回来。

此外,亦可通过HPC账号集成的云盘来实现文件同步:集成云盘,其用法与Box云盘基本一致。