校内用户超算集群申请与基本使用简明指南(2024年以前,已过时) 本文将简述集群使用的基本过程,但是详细的操作和使用仍然需要仔细阅读 超级计算 使用说明。 关于scc.nju.edu.cn和access.nju.edu.cn的信息已经过时,请阅读最新版: 校内用户超算集群申请与基本使用简明指南(2024年后新版) 一、账号获取 新用户在 scc.nju.edu.cn 首页点击 注册账户 。 校内用户绑定统一身份认证:① “统一认证平台用户” 选择 “是” ;②点击 验证信息 ;③获取验证码,验证码通过邮箱发送。 填写表单,用户组输入导师账号名(不知道就去问课题组里),提交申请; 组长(即课题组里负责审批的人,如果不清楚也问组里)登录 scc.nju.edu.cn 自助审批新用户,通过后账号立刻生效,即可使用。 新用户再次登入 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 rz 和 sz <文件> 少量小文件传输和下载 tar 打包压缩与解压,可以用来打包或解压多个文件 cp 复制 mv 移动 rm 删除 上表只是告诉了你一个目录,具体各个命令如何使用你可以根据上述表来搜索学习。 在集群上为了提交作业,还需要知道 bsub 、 bjobs 等集群使用的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 的文件夹( m a k e dir ectory)管理这一次的计算任务 第二行:切换进刚刚创建的那个目录( c hange d irectory) 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 变量的值所表示的计算脚本 当然,如果上述流程实在用不习惯,也可以: 直接用Xfce4从图形界面登入,用文本编辑器修改 使用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 CPU核数: 6 (单GPU分配的默认值) 主机: 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云盘基本一致。