关于这个平台 #
学校这个平台是基于Slurm的,通过脚本提交任务,随后平台根据提交任务的时间and需要的资源来分配节点。除了在最开始的启动脚本配置上可能稍微有点疑问,后边的使用其实还是很直接的,很像我们自己组里的机器,比华为的破平台好用一万倍!! 学校平台有两种卡:
- 一种是v100,有8(节点)*16(每节点卡数)=128块(总卡数),每张卡32GB,每卡可以配最高6核cpu。
- 一种是A100,一共有21(节点)*4(每节点卡数)=84块(总卡数),每张卡40GB,每卡可以配最高16核cpu。
**注意!!!**A100的卡是在思源一号上的,是最近新建好的。V100的卡是在AI平台上的。因此这两种卡的数据节点,登录节点,计算几点都是分割开的。也就是说你在AI平台上配置好的环境,在思源一号平台上要再配置一遍,即需要配置2次。同理,在思源平台上上传的数据,在AI平台上也要再传一次。再同理,在思源平台上通过登录节点提交任务,不可以❌提交到AI平台上的计算节点。
构成情况 #
这个平台的组成大概是这样的 (划重点):
- 数据节点:用来上传下载数据,平时传好数据集后一般用不到。
- 登录节点:用来登录该平台,配置代码conda环境,提交任务,监控任务,查看输出等。只要是不需要gpu计算,cpu长时间满载计算等任务,几乎都在这里。
- 计算节点:在登录节点提交的任务会交给计算节点来执行。登录节点配置的环境计算节点可以直接用,是不是很神奇!也可以进入计算节点来查看当下显存的占用。或者申请一块卡进入调试(登录节点没卡可用所以没办法调试,当然更建议在自己电脑上或者实验室主机上调试好)。
无论是数据节点,还是登录节点,还是计算节点。他们的存储系统都是共享的,也就是说你在三个节点上访问到的都是同一个玩意,所以在登录节点提交的任务,计算节点可以直接无感计算,不用再配置。这就给我们一个错觉:这玩意除了任务启动不是直接执行python xxx而是需要一个命令提交意外,其他的就像是在一台机器上完成。
使用流程 #
因此大概的使用流程是(后边各章节还会有详细的):
- (一次性的)将要用到的数据集通过数据节点上传,然后放在你想放的目录下。
- (每次任务都要有的)进入登录节点,像平时一样在系统上正常操作,什么git同步啊,什么修改参数啊都可以,然后更改自己的启动脚本(后边我会给一个示例),然后使用对应命令进行提交。
- 没了。只要代码无bug,资源派上了。后续就能在登录节点看任务运行情况,输出日志了。
节点登录方式总结
每个节点都通过ssh来登录,账号就是我们申请到的四个账号:seesw-sub1/2/3/4,密码就是对应申请时候的密码。这里以seesw-sub1为例。
- 数据节点登录方式:
ssh seesw-sub1@data.hpc.sjtu.edu.cn
- 登录节点登录方式:
ssh seesw-sub1@login.hpc.sjtu.edu.cn
(一共有若干个登录节点,该方式会随机分配一个,需要指定的随后第3章讲)- 计算节点登录方式:先登录 登录节点 ,随后再通过
ssh 节点名
的方式登录计算节点。
千万记得申请到资源后如果不用了,或者跑了几个epoch发现已经效果不咋滴没必要继续跑了,就取消任务。(具体看下文),不然真的很贵!!
资费大概:8块v100卡,每块卡配6核cpu,跑一天,400块钱
官方手册: #
更完全的介绍和操作可以参考: 超算平台用户手册