背景

未名教学一号是为方便老师同学学习实践高性能计算建立的高性能计算集群,北京大学师生均可申请并免费使用。

未名教学一号的优势在于免费,可以满足我们平时小规模机器学习深度学习的需求。我们都知道,一般机器学习使用的都是GPU,但是GPU的价格又比较昂贵。在没有资金支持的情况下,也只能使用CPU,未名教学一号提供了CPU的计算资源。

第一步 申请与登陆

直接到北大高性能计算中心,进行账户申请,速度很快。并按照上机流程的指引,连接到虚拟机。

如果是校外的网络需要打开vpn。

 本人使用的方法是 mac 的命令后,登陆之后,就会到这样的界面。使用其他操作系统也是一样的。

第二步环境的配置

教学一号的网络时好时坏。

因此 有的环境需要自己配置,虽然官网中提出了Conda的使用教程,但是个人觉得,自带的conda并不好用。

此外,平台有很多权限的限制,不能切换为root用户。安装环境需要安装在自己的文件夹中,且需要手动安装。

例如:手动安装python

到了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 --mail-user=XXXX@pku.edu.cn        任务完成,往这个邮箱发送邮件
#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 --mail-user=XXXXXXXXX@pku.edu.cn
#SBATCH --time=48:00:00

/nfs-share/home/XXXXXXXXXXX/software/python3.6.9/bin/python3 test.py

第六步,提交与查看

 

Logo

汇聚原天河团队并行计算工程师、中科院计算所专家以及头部AI名企HPC专家,助力解决“卡脖子”问题

更多推荐