跳过正文

WHU超算使用指南

·2023 字·5 分钟
WHU Linux Server
折り紙 紫藤
作者
折り紙 紫藤
Prosper

头图来自Pixiv@シャポコ,如有侵权会立刻删除。

导言
#

因为在学习过程中需要跑一些机器学习的任务,因此申请了WHU的超算平台,然后发现官方的文档实际上没有很详尽的说明一些问题,同时在配置过程中踩了一些坑,因此写一篇教程给没有linux基础的同志们一点点建议,涉及到如何配置,一些基础的linux命令和jupyterlab的配置。

在文章最后,会给出一个使用安卓平台实现便携式python工作的解决方案。

超算平台账号的申请和初次使用
#

超算平台账号在办事大厅中申请,难度并不高,在此略过。

在申请成功后,会在你的学校邮箱内发一封邮件,里面回列明用户名和初始密码。

在此时需要一个ssh应用来连接超算平台,可以通过win自带的终端运行:

ssh username@swarm.whu.edu.cn

会提示将ssh密钥加入到文件中,可选yes。需要注意超算平台在每次登录时会随机选择一个登录节点,因此会经常出现由于密钥不一致无法登录的情况,但不是中间人攻击,这种情况下需要输入:

ssh-keygen -R swarm.whu.edu.cn

然后登录即可。

登录后,修改初始密码:

password

同样还有一些其他更加方便易用的ssh应用,例如Xshell,在官方文档中可以获取详尽教程。

超算平台的基本使用
#

注意:在登录节点上不能够运行计算程序。

一些基本能够用到的Linux命令
#

ls:获取当前目录中的文件,后缀-a查看隐藏文件;

cd:进入目录,cd ..返回上一级;

rm:删除文件,rm -rf删除目录;

/bin/myDiskQuota:查看磁盘使用情况;

squeue:查看提交的工作信息,具体见官方文档

sbatch:提交工作;

scancel:取消工作;

vim:打开或创建文件,使用insert键后进行编辑,esc退出到命令模式,输入:x保存并退出;

ctrl+C:终止目前的工作。

提交工作的一般流程
#

  1. 编写bash文件,见官方文档的教程;
  2. 使用sbatch提交。

官方文档中有对于常用语言的bash示例。

安装自己的jupyter和使用它
#

要安装jupyter,首先需要在自己的电脑中下载linux版本的Anaconda或Miniconda,如果需求是较为全面的包和较少的自己配置可以使用Miniconda,反之建议使用Anaconda。主要的步骤可以在超算文档中的“安装Python”节得到。

安装之后使用SFTP将包进行上传,可以使用命令行,也可以使用较为便捷但需要额外安装的XFTP。

一些基本的SFTP命令
#

lls:显示本地目标目录的文件;

lcd:更改本地目标目录;

get:将文件从远程端下载到本地;

put:将文件从本地上传到远程端。

使用lcdcd将文件锁定后,使用:

put condaxxx.sh

将文件上传。

上传后,在shell中使用:

sh condaxxx.sh

进行安装。注意Anaconda因为包较大,配置时间很长,需要耐心等待。

安装成功后,即可安装JupyterLab和对Python包进行初步管理。在shell中输入:

conda install -c anaconda jupyter-lab

由于互联网原因,建议采用换源的方式将pip和npm等下载源换到国内镜像源。pip换源采用超算文档中的方法。npm换源使用:

npm config set registry source.domain

源建议使用网络搜索得到的新源。

安装完成后,使用超算文档中的运行JupyterLab文档,并按照文档中的说明注释掉文档中的加载预装Jupyter程序,即可使用自己部署的本地JupyterLab进行开发工作。

JupyterLab插件的安装
#

由于在超算系统中只有登陆节点有互联网连接,而实际运行程序的节点没有互联网连接,而登陆节点不允许运行任何运算程序,因此需要使用命令行的方式进行稍复杂的安装形式。在命令行中,安装插件的通用命令是:

conda install -c space package

插件管理使用:

jupyter labextension list

以下仅列举最基本的功能插件安装:debug和自动补全。

debug
#

conda install -c anaconda xeus-python
conda install -c anaconda jupyter-debugger

在运行时选择xeus核,设置中打开debug即可

自动补全
#

conda install jupyter-lsp
conda install python-lap-server[all]

在设置-高级设置编辑器中,找到language server节,复制:

{
  "language_servers": {
    "pyls": {
      "serverSettings": {
        "pyls.plugins.pydocstyle.enabled": true,
        "pyls.plugins.pyflakes.enabled": false,
        "pyls.plugins.flake8.enabled": true
      }
    }
  }
}

在设置里开启代码自动补全即可。具体配置可以在GitHub库中查阅。

其他插件的配置同样如此。

JupyterLab和PyCharm等IDE连接
#

在前述环节过后,辅助上WHU VPN和Termux,能够达到任何移动设备在任何地方进行较好性能的python开发工作,然而如果需要Copilot等AI工具进行编辑器内辅助,则需要通过IDE的方式。

需要注意的是,超算平台禁止任何IDE直接连接到登陆节点,因此不能通过IDE以SSH方式连接到超算平台,因此对于JupyterLab只能通过浏览器连接的方式进行连接。

在PyCharm中,在jupyter服务器配置中,将log中的链接复制即可连接,并可访问超算端的文件。

结语
#

这篇文章的出现主要是WHU超算官方文档默认用户拥有较好的Linux基础,因此在摸索超算平台和JupyterLab的使用中断断续续花了两周的时间,感觉收获颇多,也能够学习到一些Linux和服务器操作基础。

如有遗漏,email me后续会更新。

Reference
#

WHU超算官方文档