头图来自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
:终止目前的工作。
提交工作的一般流程#
- 编写bash文件,见官方文档的教程;
- 使用
sbatch
提交。
在官方文档中有对于常用语言的bash示例。
安装自己的jupyter和使用它#
要安装jupyter,首先需要在自己的电脑中下载linux版本的Anaconda或Miniconda,如果需求是较为全面的包和较少的自己配置可以使用Miniconda,反之建议使用Anaconda。主要的步骤可以在超算文档中的“安装Python”节得到。
安装之后使用SFTP将包进行上传,可以使用命令行,也可以使用较为便捷但需要额外安装的XFTP。
一些基本的SFTP命令#
lls
:显示本地目标目录的文件;
lcd
:更改本地目标目录;
get
:将文件从远程端下载到本地;
put
:将文件从本地上传到远程端。
使用lcd
和cd
将文件锁定后,使用:
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后续会更新。