未名教学一号是为方便老师同学学习实践高性能计算建立的高性能计算集群,北京大学师生均可申请并免费使用。
未名教学一号的优势在于免费,可以满足我们平时小规模机器学习深度学习的需求。我们都知道,一般机器学习使用的都是GPU,但是GPU的价格又比较昂贵。在没有资金支持的情况下,也只能使用CPU,未名教学一号提供了CPU的计算资源。
直接到北大高性能计算中心,进行账户申请,速度很快。并按照上机流程的指引,连接到虚拟机。
如果是校外的网络需要打开。
本人使用的方法是 mac 的命令后,登陆之后,就会到这样的界面。使用其他操作系统也是一样的。
教学一号的网络时好时坏。
因此 有的环境需要自己配置,虽然官网中提出了Conda的使用教程,但是个人觉得,自带的conda并不好用。
此外,平台有很多权限的限制,不能切换为root用户。安装环境需要安装在自己的文件夹中,且需要手动安装。
到了2020年了,python2的任何版本就不推荐了,直接在python3.5以上的版本中选择。本人的选择是python3.6.9,我在个人的用户下面创建了software文件夹,并将python安装到这个文件夹。也就是说在安装的过程中配置一下安装位置
./configure --prefix=/nfs-share/home/xxxxxxxxxx/software/python3.6.9/bin
其他环境也是一样的,都要手动来安装。
例如,我写了一个简单的python程序。
import time
for i in range(10):
print(i)
time.sleep(5)
由于程序非常简单, 所以可以直接在本地运行。
/nfs-share/home/XXXXXXX/software/python3.6.9/bin/python3 test.py
我们的任务肯定都是大型任务,不然也不会来到这个平台里运行。因此需要提交给平台的CPU计算。
在脚本的开头添加如下内容
#!/bin/bash
#SBATCH -o job.%j.out 这个代表输出的文件名称
#SBATCH -p compute 这个就写compute指向计算节点
#SBATCH --qos=normal 优先级,设置为一般
#SBATCH -J bert_yuchk 任务名称
#SBATCH --get-user-env
#SBATCH --nodes=1 用几个cpu
#SBATCH --ntasks-per-node=2 每个CPU上几个任务
#SBATCH --mail-type=end 在结束的时候发送邮件
#SBATCH [email protected] 任务完成,往这个邮箱发送邮件
#SBATCH --time=48:00:00 任务执行的最大时间
总体看来,脚本内容如下。
#!/bin/bash
#SBATCH -o job.%j.out
#SBATCH -p compute
#SBATCH --qos=normal
#SBATCH -J bert_yucheng
#SBATCH --get-user-env
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2
#SBATCH --mail-type=end
#SBATCH [email protected]
#SBATCH --time=48:00:00
/nfs-share/home/XXXXXXXXXXX/software/python3.6.9/bin/python3 test.py