上个月学校的超算系统终于投入使用了..但是只有4块gpu...还是很让人头疼..希望大家都不会用..这样我就能一个人独占了
上周去面试的时候问到有没有记录的习惯..然后说没有很尴尬..很早就想写博客了..一直拖着..那不如就从今天开始吧
- 由于学校公开的手册写的非常之烂,就花了一些时间研究,目前基本掌握了使用方法
- 登陆超算系统
登陆还是很简单的,我用的是mac OS系统,直接在终端输入如下就可以了,然后回车再输密码
ssh hoy@10.10.114.203
这个步骤我的理解就是从我们本地的终端连接到了服务器的终端,之后要运行的程序就直接在服务器上跑
- 其他登录方式
手册里公布的是可以通过内网web登录的,然而并不可以,不管换什么浏览器永远无法打开页面,发邮件问也一直说可以,换端口什么的,但是不管我怎么弄都不行,要是有人会的话可以教教我。
还有可以通过vncview登陆,相当于远程控制,非常方便,强烈推荐,而且有可视化界面,方便操作(虽然说和终端进没有任何区别..)
- 如何使用
其实登陆了以后就和在自己电脑上操作没什么区别了,我就简单介绍几个我当时踩过的坑,免得大家再踩一遍
- 传输文件
linux系统直接用命令scp就可以上传,亲测有效,scp下载还没用过应该没什么问题。之前在别人win7系统上用rz并没有跳出选择文件的框,不知道是什么问题,现在可以用没有也不知道,windows的小伙伴们就自力更生了吧。
- 环境变量
没有root权限真的是很头痛的问题,一弄才发现这也不行那也不行,之前系统conda也要添加,python是2.7版本的,现在都改成常用的了就没什么问题,这里还是简单介绍一下怎么设置环境变量。
#source /public/software/profile.d/python3.sh
source后面加上环境变量的地址就可以了,具体环境变量的地址要到具体的路径下找,在/public/software/profile.d/下,当然这些只是默认的环境变量,如果你想往环境里面添加一些package,直接pip install是不行的,需要pip到用户目录下。假设我要装一个records的包,就要这样。
pip install --user records
- 编写脚本
用的是slurm集群系统,在根目录下直接运行会被管理员kill掉,所以我们要写一个脚本来跑程序(个人理解)。在程序的目录下(个人习惯,也可以在任意位置),写一个脚本来运行,直接vim编辑就可以了,名字以及后缀可以随便取。
vim test.job
具体vim编辑怎么用,大家自行百度吧,很简单的。
然后下面就是脚本内容
#!/bin/bash
#SBATCH --job-name=Test
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --ntasks-per-node=1
#SBATCH --workdir=/public/home/hoy/文档
#SBATCH --output=%j.out
#SBATCH --error=%j.err
#source /public/software/profile.d/python3.sh
#python hello.py
上面是我之前写的一个在cpu上跑的脚本。
#!/bin/bash
#SBATCH --job-name=Test
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --ntasks-per-node=1
#SBATCH --partition=gpu
#SBATCH --gres=gpu:1
#SBATCH --workdir=/public/home/hoy/文档/nl2sql_baseline
#SBATCH --output=%j.out
#SBATCH --error=%j.err
#source /public/software/profile.d/python3.sh
#source /public/software/profile.d/cuda-10.0.sh
###python hello.py
#sh ./start_test.sh 1 pred_example
这是一个在gpu分区跑的脚本。
写完脚本之后,在终端提交作业就可以了。
sbatch test.job
以上差不多就是我了解的超算系统如何使用的方法,有什么问题可以一起探讨交流。