0%

国家超算互联网使用指南

最近Jev爆火,所以我也想弄个开源版本的laya来玩玩,于是想起了我之前白嫖的超算互联网好像还没用过,就来看看怎么用。

简介

超算互联网的网址,显而易见是个算力平台,具体的我也没了解过,之前别人说有免费算力所以我就注册了一个。

里面能免费使用的好像基本是国产的异构加速卡(对标nvidia的显卡)和DTK框架(对标cuda),因为不是nvidia的显卡,所以我们自己装的torch大概率是用不了的,但是里面提供的镜像的torch好像是做了DTK适配的,所以只要选择合适的版本的镜像,并且在配环境的时候不要去动内置的torch,应该是没有问题的。

所以作为学生党,免费的就是最好的,用来随便玩玩最合适了。

创建容器

虽然这个网站好像有很多高级的功能,但是我们只是写写python跑跑实验的话,使用容器服务应该就够用了,其他的功能以后再说吧。

注册的步骤就不说了,我也忘了怎么注册的了,注册完就去算力市场逛一下免费专区和试用专区,领一下想用的。

然后鼠标放到服务,在下拉菜单中点击容器服务

然后点中间的立即使用,就来到了这个页面

然后点击体验新版,我之前试了旧版的怎么用,而且也有免费额度,但是好像旧版免费用的DTK版本都比较低,所以还是来说说新版怎么用吧,

点击创建容器实例,可以来到这个页面,我这里领的是华中三区【武汉】的一个免费节点

可能因为是免费的,所以这里可能不一定会有可用卡(我今天写这篇博客的时候就出现了暂无容器的情况,今天还是国庆假期期间)

以及一个可能出现的情况,领了免费的机器,但是在这个区域没有文件存储,我之前免费领的一个区域就出现了文件存储配置失败的。

下面容器配置这里需要注意,开发工具不要直接选vs code,这里的vs code的镜像的DTK版本很低,连带的torch版本也很低,而且选择很少。这里先选SSH,这样DTK版本比较高,可以选择的版本也多,后面我们可以自己装vs code(而且我们自己装的vs code版本也高)

选完之后点右下角的创建,然后就等待部署,然后等服务状态变成运行中就点击容器名称

因为我们之后需要下载软件,所以需要联网,点这里绑定外网IP,

然后去创建外网IP,记得区域要选跟你的机器相同的区域

绑定外网IP之后就可以点击终端进入容器,安装软件了

安装vs code

虽然使用终端和vim来写代码也不是不行,但是果然还是使用一些现代的编辑器更方便,所以先来安装vs code。虽然说是vs code其实这个是code-server,其实是个长得像vs code的开源的网页版的编辑器。

可以直接用下面这一行脚本来安装最新的code-server

1
curl -fsSL https://code-server.dev/install.sh | sh


这样就安装完了,它提示可以用systemctl来启动,这个不用管。

接下来回之前容器组的页面,先保存一次镜像,名字和版本可以随便写,这次保存的还不是最终版本,然后点到我的镜像可以看见刚刚保存的镜像

点击镜像的名称,然后等待构建完成,然后点右边的三个点编辑

往下面翻,找到开发工具,点击添加->vs code

如果是使用之前的脚本安装的,那就不用指定路径,使用默认路径就行了,然后点击右下角的确认

然后等一下就能看见镜像的开发工具这里多出了个vs code,并且前面标了绿色的勾那就说明能用了

然后点击左边栏的容器实例来到容器界面,在之前的这个容器右边点击停止,等服务状态从停止中变成已停止之后点更新服务,

然后往下翻来到容器配置,这次我们开发工具就vs code,然后点我的镜像,在下面选择镜像应该能看见刚才保存的镜像,选择这个镜像,然后保存,启动容器。

这时候可能会看见个黄字说未安装ssh工具,这个我也不知道是什么原因,但是我们的镜像显然是有ssh工具的(不然之前是怎么用的),而且这个黄字在第二次保存镜像之后会自己消失,所以现在先不管。

点击右下角的更新,如果资源充足就再点击右边的启动(疑似是白天的时候人都在上班,现在快到饭点了,下班了用的人变少了)

等容器启动完点容器名字,往下翻应该能看到这里多了个vs code,

鼠标先放到密码后面点击一下复制,然后点上面的vs code,点完可能会提示一个你的连接不是专用连接,这个是正常现象,点高级,然后点下面的继续访问。

然后会看到网页中间有个密码框(我故意把不安全网址也截进来的,反正这个容器我马上就要销毁掉了,泄露也没事)

把之前复制的密码粘贴到网页中间的密码框,就能进来了,界面上大致和vs code是一样的

如果觉得不一样,那就点左下角的齿轮,themes->color themes,然后在上面的配色方案中选择dark modern

然后是不是就顺眼多了

接下来演示一下怎么装插件,先装个中文插件来演示,其实就跟vs code的一模一样

这里点一下信任

接下来根据使用方法,按下ctrl+shift+p,在搜索框输入display,然后点击Configure Display Language,选择简体中文

安装常用软件

我们现在要制作的是一个通用镜像,容器里面有root权限,可以使用apt,使用之前记得先apt update一次,镜像非常贴心的帮我们换过清华源了,先用apt把自己常用的软件,比如tmux之类的装好,然后还有把code-server的插件装完,其他的该配置的东西配置好,然后再保存一次镜像。

这里可以选择添加到已有镜像,然后写个版本名,版本名如果不想编数字可以写时间,但是不建议写简介,镜像里面有专门的地方写简介。

镜像保存好之后就会发现开发工具自己多出了SSH

以后如果新装了什么软件或者库的话也要及时保存一次镜像,不然关机之后下一次启动又是从上次的镜像开始,而且这个镜像也可以作为环境的备份,虽然作为备份来说还是太大了点,一个镜像动辄二三十G,也不知道个人保存镜像的上限是多少,所以也不建议没事就干啥都点一次保存镜像。

写代码

刚才的第二次镜像保存好之后继续重复之前的,关机->更新服务->选择新的镜像->更新->启动->进入vs code

因为容器关机之后,下次启动的话又是从镜像开始,容器里面的东西会丢失,所以代码不能直接放在容器里,但是仔细看会发现工作区里面有个private_data,这个就是挂载的我们个人的文件存储空间,我们的代码或者其他的数据都要放在这个里面。

我们也可以从平台这里点到文件管理,看到我们的个人文件存储空间,然后点上传文件可以上传我们的代码。

然后运行代码的时候,为了防止浏览器关闭之后程序中止,所以就需要之前装的tmux了,这个相当于在后台运行的,即使当前的终端关闭了也能保持运行,tmux的使用这里也不多介绍,会下面4个操作差不多就行了

1
2
3
4
5
6
7
8
9
10
11
# 创建会话
tmux

# 分离会话(不终止运行的情况下退出会话)
ctrl+b 松开ctrl 按b

# 查看所有会话
tmux ls

# 进入会话
tmux a -t 会话序号(从0开始递增)

容器单次运行时间最长好像是72小时,所以在跑实验的时候要注意时间,如果时长剩余太少就关机了重新开一次再跑,不要跑一半就关机了。以及虽然说是免费的,一直开着也不会产生额外费用,但是不使用的时候还是顺手点一下关机,也给其他冲着免费来的人一点机会。